jmeter的使用教程,jmeter的使用流程
序
对于测试来说,jmeter应该是经常使用的测试工具之一,因为它开源、免费、轻量级、功能强大,并且支持多种协议。除了测试功能,它还可以进行自动化和性能测试。
根据某机构的调查,在性能并发工具中,jmeter的市场份额达到50%+,超过老大哥loadrunner;
这么优秀的工具,测试必须掌握;
经常看到群里有人讨论jmeter的各种功能,我发现有些朋友过度使用了一些不必要的功能;
其实jmeter常用的功能并不多,如果掌握了主要功能,基本上可以搞定90%的需求。所以,不要把时间花在工具不常用的功能上。如果是做性能测试,
分析定位调优才是重点
。jmeter的常用功能(性能方向)
从jmeter2.x的版本到现在的5.x版本,下面列出了常用的功能,就不详细说了,因为网上有很多介绍,我的博客或者微信官方账号也有相应的实际应用:
测试计划
线程组
【Sampler】
Http请求:可以参考:测试必备:jmeter测试HTTP协议接口的各种传输方式。
豆壳取样器
调试采样器:只看到jmeter变量。
如果是其他协议,比如java,dubbo,websocket,smtp,tcp,jdbc,添加相应的采样器等。如果没有,那么就需要我们自己去开发,所以java基础是必须的。
【逻辑控制器】
交易控制器
ForEach控制器
仅一次控制器
【前置处理器】
BeanShell预处理程序
【后置处理器】
正则表达式提取器:关联方式有很多种,我喜欢用普适的正则性。另外,可以看看之前的文章:jmeter关联的5种方式。
调试后处理器:除了jmeter变量,还可以看到配置信息。最好放在正则表达式提取器后面,否则看不到提取的结果;
BeanShell后处理器
【断言】
响应断言
豆壳断言
【定时器】
固定计时器
高斯随机定时器
同步计时器
【配置元件】
HTTP标题管理器
HTTP Cookie管理器
CSV数据文件设置
HTTP请求默认值
【监听器】
查看结果树
汇总报告
函数助手
常用函数需要掌握,比如随机函数,比如:生成一个1-1000的随机数,可以用${__Random(1,1000,key)}生成,用${key}获取;
分布式压测
分布式压力测量也需要掌握。参见jmeter5.1分布式压力测量。
另外,beanshell相关的,可以参考:玩jmeter:beanshell必备技能。
Jmeter执行序列
配置组件预处理器定时器采样器后处理器断言监听器;
同一级别,按顺序执行;
Jmeter最佳实践
最后,让我们看看官方的最佳实践,网址为:
http://jmeter.apache.org/usermanual/best-practices.html
大概意思是:
有人建议Jmeter的压力测量减少资源的使用,即压力测量结果会更准确:
1.使用非GUI模式(即CLI,命令行界面):jmeter -n -t test.jmx -l result.jtl
2.谨慎使用监听器。如果使用-l参数,它们都可以被删除或禁用。
3.在加载测试期间,不要使用“查看结果树”或“用表查看结果”侦听器,而只能在脚本阶段使用它们来调试脚本。
4.包含控制器在这里是没有帮助的,因为它将文件中的所有测试元素添加到测试计划中。
5.不要使用功能模式。
6.使用CSV输出代替XML
7.只保存你需要的数据。
8.尽可能少地使用断言。
9.如果测试需要大量的数据,尤其是随机化,可以提前准备好测试数据,放在数据文件中,从CSV数据集中读取,避免运行时浪费资源。
如有不准确或补充,请在文末留言。谢谢你。
声明:封面或正文图片来自互联网。如有侵权,请联系删除。
最后,边肖还精心准备了一本《高级电子书入门》jmeter性能测试资料,微信官方账号回复
996
领取。希望喜欢我这篇文章的同学可以分享给更多的同学朋友。我提前谢谢你。希望大家在优秀的道路上越走越远。当然,别忘了微信官方账号后台回复
996
~
(
识别下方二维码公众号后台回复996
)
而且希望你有好的文章或者更好的创新。欢迎和小石分享,
同时也将此文章分享给你的朋友朋友圈
。
精彩好文推荐
我做了一个球。
python Selenium UnitTest HTML TestReportCN单元测试框架分享
硒的键盘事件实战
Selenium和Pages之间的交互
测试工程师必备的三件套模板
题图:全栈测试笔记
(识别上方二维码加测试群)