jmeter之接口测试
Posted heertong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter之接口测试相关的知识,希望对你有一定的参考价值。
1、jmeter简介
JMeter是Apache组织开发的基于Java的压力测试工具。具有开源免费、框架灵活、多平台支持等优势。除了压力测试外,JMeter在接口测试方面也有广泛的应用。
2、jmeter安装
去官网下载jmeter后,打开界面为英文,可进行切换为中文 bin文件夹内找到 jmeter.properties 文件,将 language=en,改成 zh_CN
3、根据需要可下载各插件
把jmeter-plugins-manager-1.3.jar放到lib的ext的?录下,就可以看到安装插件的安装入口,根据需要安装各插件
4、单个接口自动化实现
3.1 添加线程组
在“测试计划”上点击鼠标右键-->添加-->线程(用户s)-->线程组。
3.2 添加http请求
在“线程组”打开鼠标右键-->添加-->取样器-->http请求
添加完http请求后,填写对应的域名、接口以及请求参数,如下图所示:
3.3 添加断言
在每一个http请求下,都应该增加一层判断机制(response的关键字),即添加结果断言,如果返回响应为JSON格式可添加JSON断言,其他可使用响应断言
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
4、使用JMeter完成多个接口组合
以上,单个接口的请求已经完成。在接口测试中,是多个不同接口的组合,因此就会涉及到接口传值。我们可以使用正则表达式和 Json Path Extractor来获取接口返回值。
4.1 正则表达式
所谓正则表达式,即一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。
在“http请求”打开鼠标右键-->添加-->后置处理器-->正则表达式提取器
Name of created variable:正则表达式名称,我们使用${名称}来进行引用;
Regular Expression:设置提取规则
. 匹配任何字符
+ 一次或更多次
? 停止在第一个匹配成功时
Templates:表示用哪个正则表达式模板获取的值 ,默认使用$1$,如果有多个正则表达式,则可以使用$2$,$3$等,表示解析到的第几个值给test。
Match No.:-1表示全部,0随机,1第一个,2第二个
Default value:如果没有取到值,则默认使用该值,可以为空
以上是关于jmeter之接口测试的主要内容,如果未能解决你的问题,请参考以下文章
WEB接口测试之Jmeter接口测试自动化 (数据驱动测试)
WEB接口测试之Jmeter接口测试自动化 (数据驱动测试) 接口测试与数据驱动