Jmeter接口测试
Jmeter简介
The Apache JMeter™ application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions.
下载地址:http://jmeter.apache.org/download_jmeter.cgi
用户手册:https://jmeter.apache.org/usermanual/get-started.html
Jmeter安装测试
下载解压
打开官网下载地址,下载最新版本(此处下载二进制tgz版本)
解压
启动:bin目录下的 jmeter.bat
可以看见打开了一个cmd窗口,及一个图形界面应用程序
测试1:简单无参数接口
Ramp-up period:表示上面的进程数需要在多少秒内启动起来(0:一起启动,n:n秒内先后启动,)
Loop Count:循环次数,上面的线程在访问接口时一共循环多少次
添加配置元件:http请求默认值
- 设置默认值的好处是之后的http请求不需要重复设置了
添加Sample:Http请求
添加监听器:聚合报告,用来查看测试结果(一个大致结果)
如果想要详细结果,需要再添加别的监听器:图形结果,结果树,表格等等
此处添加一个图形结果、和将结果存在表格
启动
选择文件夹保存测试结果(为了方便,暂时保存在桌面)
查看结果
到监听器中查看结果:
清除数据
测试2:模拟多个用户访问有参接口
添加Http请求
此时已经可以启动,但是只能当做单个用户访问。真实场景中肯定不是一个用户访问多次,而是多个用户访问同一个接口。下面的操作可以模拟多个用户访问。
添加控制元件:CSV Date Set Config
在电脑中新建一个文件,如config.txt
在txt文件中输入模拟用户登陆信息
格式如下:
我们按照此格式写入对应信息
将文件导入,并设置相关信息如下
修改Http request的token信息,改成引用的
启动查看结果
Jmeter在Linuxd的命令行使用
使用过程:
- 在windows上录好jms文件,传到linux中
- 命令行
sh jmeter.sh -n -t XXX.jmx -l result.jtl
- -n 表示不使用图形界面
- -t 表示脚本
- -l 表示输出结果
- 把result.jtl导入Jmeter
1 |
|
可以下载result.jtl结果
1 |
|
查看结果:
打开Jmeter,找到之前创建的聚合报告,点击浏览选择result.jtl即可查看
如果需要再次测量,需要将Linux中的result.jtl结果文件删除
1 |
|
设置Jmeter语言为中文环境
临时设置
Jmeter菜单栏选择OptionsàChoose LanguageàChinese (Simplified)
这种方法,重启软件后又变为英文环境了。
永久设置
进入bin目录,找到“jmeter.properties”,在文件的第37行后添加“language=zh_CN”,保存之后再打开jmeter就永久变为中文环境了。
Jmeter主要元件
测试计划:是使用 JMeter 进行测试的起点,它是其它 JMeter测试元件的容器
线程组:代表一定数量的用户,它可以用来模拟用户并发发送请求。实际的请求内容在Sampler中定义,它被线程组包含。
配置元件:维护Sampler需要的配置信息,并根据实际的需要修改请求的内容。
前置处理器:负责在请求之前工作,常用来修改请求的设置
定时器:负责定义请求之间的延迟间隔。
取样器(Sampler):是性能测试中向服务器发送请求,记录响应信息、响应时间的最小单元,如:HTTP Request Sampler、FTP Request Sample、TCP Request Sample、JDBC Request Sampler等,每一种不同类型的sampler 可以根据设置的参数向服务器发出不同类型的请求。
后置处理器:负责在请求之后工作,常用获取返回的值。
断言:用来判断请求响应的结果是否如用户所期望的。
监听器:负责收集测试结果,同时确定结果显示的方式。
逻辑控制器:可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。
元件的作用域和执行顺序
元件作用域
配置元件:影响其作用范围内的所有元件。
前置处理器:在其作用范围内的每一个sampler元件之前执行。
定时器:在其作用范围内的每一个sampler有效
后置处理器:在其作用范围内的每一个sampler元件之后执行。
断言:在其作用范围内的对每一个sampler元件执行后的结果进行校验。
监听器:在其作用范围内对每一个sampler元件的信息收集并呈现。
总结:从各个元件的层次结构判断每个元件的作用域。
元件执行顺序:
配置元件->前置处理器->定时器->取样器->后置处理程序->断言->监听器
注意事项:
- 前置处理器、后置处理器和断言等组件只能对取样器起作用,因此,如果在它们的作用域内没有任何取样器,则不会被执行。
- 如果在同一作用域内有多个同一类型的元件,则这些元件按照它们在测试计划中的上下顺序依次执行。
参考连接:https://blog.csdn.net/pengjiangchun/article/details/105707405?utm_source=app&app_version=4.5.4
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!