jmeter,学这些重点就能够了

前言

对测试来讲,jmeter应该是你们使用较频繁的测试工具之一,由于其开源、免费、轻量、功能强大,支持不少种协议,除了测功能,还能作自动化和性能测试;html

据某机构的调查,性能并发工具中,jmeter市场占有率已经50%+,超过了老大哥loadrunner;java

这么一款如此优秀的工具,对测试而言,是必须掌握的;web

常常看到群里你们讨论jmeter的各类功能,我发现有些朋友过分使用了一些没必要要的功能;其实,jmeter经常使用的功能并很少,把主要的掌握,基本上就能够搞定90%的需求了,因此,不要把时间耗费在工具不经常使用的功能上,若是是作性能测试,分析定位调优才是重点正则表达式

jmeter经常使用功能(性能方向)

从jmeter2.x版本用到如今的5.x,经常使用的功能也就下面列举的这些,我不详细单讲,由于网上不少介绍,我博客或者公众号,也有对应的实战应用:shell

测试计划apache

线程组websocket

【Sampler】并发

 HTTP请求:能够参考:测试必备:jmeter测试http协议接口的各类传参方式        dom

BeanShell Sampler       socket

Debug Sampler:只看到jmeter变量

若是是其它协议,好比java、dubbo、websocket、smtp、tcp、jdbc,添加对应的取样器等便可,若是没有,那么就须要咱们本身开发,因此,java基础是必备的。

 

【逻辑控制器】

事务控制器        

ForEach控制器        

仅一次控制器

 

【前置处理器】

BeanShell PreProcessor

 

【后置处理器】

正则表达式提取器:关联的方式不少,我喜欢用万能的正则,另外,你们能够看以前写的:jmeter关联的5种方式        Debug PostProcessor:除了能够看到jmeter变量,还能够看到配置信息,最好放在正则表达式提取器后面,不然看不到提取的结果;       

 BeanShell PostProcessor

 

【断言】

响应断言       

BeanShell断言

 

【定时器】

固定定时器        

高斯随机定时器        

Synchronizing Timer

 

【配置元件】

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压测减小资源使用的一些建议,即压测结果会更准确:

一、使用非GUI模式(也就是CLI,Command Line Interface,命令行界面):jmeter -n -t test.jmx -l result.jtl

二、少使用Listener, 若是使用-l参数,它们均可以被删除或禁用

三、在加载测试期间不要使用“查看结果树”或“用表格查看结果”监听器,只能在脚本阶段使用它们来调试脚本

四、包含控制器在这里没有帮助,由于它将文件中的全部测试元素添加到测试计划中

五、不要使用功能模式

六、使用CSV输出而不是XML

七、只保存你须要的数据

八、尽量少地使用断言

九、若是测试须要大量数据,尤为是须要将其随机化,能够提早准备好测试数据放到数据文件中,从CSV数据集中读取, 这样能够避免在运行时浪费资源 

 

若有不许之处,或者补充,请文末留言,谢谢。

相关文章
相关标签/搜索