Jmeter测试软件的基本使用
目录
一、下载解压打开
Jmeter常见报错详见:https://blog.csdn.net/qq_40756113/article/details/121039248
下载地址:https://download.csdn.net/download/qq_40756113/35398303
解压后目录如下:
进入bin目录下双击jmeter.bat(windows系统,既然你用Linux,那么你对于启动文件应该知道,这里不做介绍)。有基础的可以使用命令行打开(在该文件夹下打开命令行输入jmeter回车)。
打开后界面如下:
问题:如果打不开,请检查环境变量中JAVA_HOME是否设置好。建议使用jdk1.8版本的
二、使用
(一)、可能会用到的基本操作
1、修改操作语言
习惯用英文的建议用英文,中文翻译不是很完全,但是也能用。用什么语言看自己喜好。
(二)、一个简单的测试案例
1、创建测试计划
2、创建线程组
3、创建http请求取样器
4、创建http请求头管理器
当我们在请求头中需要设置参数时,可以创建请求头管理器,如果不需要可以忽略此步骤
5、创建查看结果树和聚合报告
6、执行一次测试
7、分析结果
查看请求树,判断结果成功失败,默认是根据响应码,可以使用断言进行自定义。
查看聚合报告
8、禁用、启用请求,一键清空测试结果
9、命令行执行测试计划
将界面中的测试计划保存,会生成.jmx后缀的文件,在Jmeter的bin目录打开cmd
命令说明:
jmeter -n -t E:\Jmetertest\test1.jmx -l E:\Jmetertest\testlog.jtl -e -o E:\Jmetertest\testhtml
-n:表示以非界面的形式执行
-t:表示执行测试计划,后面跟测试计划文件的路径
-l:表示生成测试结果,后面跟测试结果要保存的路径,如果没有该文件就自动创建,可以生成csv或者jtl文件。
-e:测试完成后生成测试报告(网页形式)
-o:测试报告保存的位置,后面跟文件夹路径。
(三)、进阶操作
1、setUP Thread Group(自动设置token)
场景:一般情况下,我们做别的请求时需要登录接口获取的token,我们先执行一次登录接口,然后将token从响应数据中复制,粘贴到需要token的接口请求的请求头中,再执行真正要测试的请求。这样是不是很麻烦呢?有没有方法可以再执行要测时的接口之前,只执行一次登录接口,然后自动将token放到需要的地方呢?当然是有的。
setUP Thread Group只在同一测试计划的线程组执行之前执行一次,与之对应的还有tearDown Thread Group,
tearDown Thread Group只在同一测试计划的线程组执行之后执行一次。
话不多说,上操作。
先创建setUP Thread Group
在setUP Thread Group中创建登录请求
执行一遍登录请求,测试能否正常使用获取token
为登录接口添加正则表达式提取器
配置正则表达式提取器
此时我们已经可以在本线程组中使用${token}获取匹配到的值了,但是测试接口在别的线程组中,所以我们需要将token变为全局变量,添加Beanshell 取样器
在Beanshell取样器中将token设置为全局变量
然后在测试请求中使用获取的token
此时Jmeter会自动先执行前置线程组的登录接口获取响应数据中的token,然后使用正则提取出来设置为全局变量,再执行测试线程组,将全局变量中的token放到请求头中,执行测试请求。就达到了自动将登录接口获取的token添加到测试接口中作为参数的效果。
接下来看执行结果:
2、获取时间、设置随机变量、设置计数器(一般用来拼接流水号)
创建计数器和随机变量
计数器配置
随机变量配置
使用计数器、随机数、日期时间生成流水号
查看效果
时间有限,暂时先写这些基础功能,至于逻辑控制器、自定义取样器等进阶操作等有时间补上。有兴趣的小伙伴可以点此链接拜访大神博客。https://www.cnblogs.com/imyalost/category/846346.html