jmeter接口测试基本使用

来源:互联网 发布:mac上的小房子 编辑:程序博客网 时间:2024/06/14 15:58

最近公司准备做接口自动化的测试,所以研究了下jmeter接口自动化测试的使用,大概记录下,分享给大家看看,欢迎留言。

节 1.01 安装jmeter
(a) 安装JDK,配置环境变量
变量名:【JAVA_HOME】
变量值:【D:\Program Files\Java\jdk1.8.0_92】【jdk安装路径】
变量名:【path】
变量值:【\;%JAVA_HOME%\bin;】
变量名:【CLASSPATH】
变量值:【.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;】
运行cmd->输入java -version->显示java版本就表示jdk安装成功

(b) 安装jmeter, 配置环境变量
下载apache-jmeter-3.2.zip,解压可用,配置环境变量;
【变量名】JMETER_HOME
【变量值】F:\CYL\test\jmeter\apache-jmeter-3.0(根据实际的jmeter解压路径填写)
【变量名】CLASSPATH
【变量值】%JMETER_HOME\lib\ext\ApacheJMeter_core.jar;
%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar;

节 1.02 接口测试步骤
(a) 打开jmter
1.将“jmeter.bat”以管理员身份打开,且把它放在桌面方便之后使用
这里写图片描述
2.进入界面,界面默认会有一个测试计划和一个工作台,测试计划下默认会有一个线程组。
这里写图片描述
 测试计划
理解:包含一个测试的所有内容,包含所有的控件,属性,变量。所以一个jmx文件中只有有一个测试计划。测试计划中可以定义变量,引入jar包,编辑测试模式等。
注意事项:
可将一些不常变化的数据存入测试计划的变量,方便在测试计划内调用(例如服务器ip,端口,数据库ip等)。
函数测试模式会记录来每个请求到服务器的取样结果,如果在监听器中定义了数据写入文件,会将这些输入写入到该文件中。同时,该模式会严重影响性能。
 工作台
理解:控件的暂存区域,在测试过程中可以把暂时不用的控件放入其中,待测试完成后放回原来的位置。
注意事项:工作台中的控件不会保存在jmx文件中,所以,如果关闭jmeter,工作台中的控件会丢失。

(b) 新增线程组
在测试计划新增一个线程组
这里写图片描述
 线程组
理解:常规意义上的线程组,即虚拟用户组

(c) 新增Http信息头管理器
在线程组新增Http信息头管理器,填写头信息:Content-Type=application/json
这里写图片描述

这里写图片描述

(d) 新增http请求
1.在线程组下新增http请求
这里写图片描述

2.填写接口各信息
服务器名称或者Ip,端口号,方法,路径,参数,Implementation
这里写图片描述

(e) 新增断言
1.在线程组新增响应断言
这里写图片描述
2.添加检查点:如响应文本是否包含status
这里写图片描述
3.添加断言结果
这里写图片描述
(f) 新增报告
1.在线程组添加查看结果树
这里写图片描述
2.在测试计划添加聚合报告
这里写图片描述

(g) 执行脚本
这里写图片描述

(h) 查看结果
1.查看断言结果
这里写图片描述

2.察看结果树
这里写图片描述
绿色为通过,红色为不通过,可以看请求和响应数据分析

3.查看聚合报告
这里写图片描述
理解:
Label - 如图,在不勾选”Include group name in label?”复选框的情况下,为请求取样器的名称,否则为“请求取样器所在线程组:请求取样器名称”

Samples - 用同一个请求取样器,发送请求的数量(注意:该值是不断累计的)。比如,10个线程数设置为10,迭代10次,那么每运行一次测试,该值就增加10*10=100

Average - 默认情况下是单个Request的平均响应时间,当使用了Transaction Controller 时,也可以以Transaction为单位显示平均响应时间

Median - 中位数。表示响应时间本不大于该时间值的请求样本数占总数的50%

90% Line - 表示响应时间不大于该时间值的请求样本数占总数的90%
Min - 针对同一请求取样器,请求样本的最小响应时间

Max - 针对同一请求取样器,请求样本的最大响应时间

Error % - 出现错误的请求样本的百分比

Throughput - 吞吐量以“requests/second、requests /minute、requests /hour”来衡量。 时间单位已经被选取为second,所以,显示速率至少是1.0,即每秒1个请求。 当吞吐量被保存到CVS文件时,采用的是requests/second,所以30.0 requests/second 在CVS中被保存为0.5

Kb/sec - 以Kilobytes/seond来衡量的吞吐量

原创粉丝点击