JMeter是Apache组织开发的基于Java的压力测试工具。具有开源免费、框架灵活、多平台支持等优势。除了压力测试外,JMeter在接口测试方面也有广泛的应用。
访问JMeter官网:https://jmeter.apache.org/download_jmeter.cgi,点击下载后解压缩,依次打开\apache-jmeter-4.0\JMeter\bin,运行jmeterw.cmd即可。(建议在桌面创建jmeterw.cmd的快捷方式,方便快速打开)
3.1 添加线程组
在“测试计划”上点击鼠标右键-->添加-->threads(Users)-->线程组。
3.2 添加http请求
在“线程组”打开鼠标右键-->添加-->sampler-->http请求
添加完http请求后,填写对应的域名、接口以及请求参数,如下图所示:
3.3 添加断言
在每一个http请求下,都应该增加一层判断机制(response的关键字),即添加结果断言。
在“http请求”打开鼠标右键-->添加-->Assertions-->response Assertion
3.4 查看请求结果
在“线程组”打开鼠标右键-->添加-->监听器-->察看结果树、断言结果、聚合报告
1、查看结果树:打开察看结果树,绿色代表测试通过,红色代表测试失败。在此我们可以看到详细的请求头、响应时间、请求参数和返回结果;方便我们进行接口调试
2、断言结果:断言结果是查看返回的数据是否符合给定的断言。
3、查看聚合报告:
Label:每个?JMeter?的 请求都有一个?Name?属性,这里显示的就是?Name?属性的值
#Samples:表示本次测试中一共发出了多少个请求
Average:平均响应时间
Median:也就是?50%?用户的响应时间
90%Line:90%?用户的响应时间
Min:最小响应时间
Max:最大响应时间
Error%:本次测试中出现错误的请求的数量/请求的总数
Throughput:吞吐量——默认情况下表示每秒完成的请求数
KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec
以上,单个接口的请求已经完成。在接口测试中,是多个不同接口的组合,因此就会涉及到接口传值。我们可以使用正则表达式和 Json Path Extractor来获取接口返回值。
4.1 正则表达式
所谓正则表达式,即一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。
在“http请求”打开鼠标右键-->添加-->post processions-->Regular Expression Extractor
Name of created variable:正则表达式名称,我们使用${名称}来进行引用;
Regular Expression:设置提取规则
. 匹配任何字符
+ 一次或更多次
? 停止在第一个匹配成功时
Templates:表示用哪个正则表达式模板获取的值?,默认使用$1$,如果有多个正则表达式,则可以使用$2$,$3$等,表示解析到的第几个值给test。
Match No.:-1表示全部,0随机,1第一个,2第二个
Default value:如果没有取到值,则默认使用该值,可以为空
4.2 Json Path Extractor
下载plugin Manager,并将下载下来的jar包放到JMeter的lib/ext目录下,重启JMeter。
重启后,在options菜单下点击“plugins Manager”,在available plugins中,搜索json path extractor,点击apply changes andrestart jmeter即可。
作者:sinat_32434273
原文链接:https://blog.csdn.net/sinat_32434273/article/details/81065731