1. 打开JMeter
在apache-jmeter-5.4.1\bin\文件夹中打开jemter.bat,然后进入GUI界面
在Options中的Choose Language选择简体中文
2. 建立线程组并测试
设置HTTP请求默认值
- 右键点击Test Plan,在添加、配置元件中点击HTTP请求默认值
在HTTP请求默认值中填写协议,IP,端口号
新建setup线程组获取token
- 在添加、线程里选择setUp线程组,setUp线程组是所有线程组中最先执行的线程组
- 在setUp线程组新建HTTP请求
在HTTP请求中设置名称:登陆获取token,请求方式POST,路径:/oauth/extras/token
参数设置为消息体数据,消息体数据中不能有注释
- 在登陆获取token中添加里配置元件点击HTTP信息头管理器
在HTTP信息头管理器中添加信息头名称和值
- 在添加里后置处理器中点击JSON提取器,用于提取access_token参数
JSON提取器中如下图, $.access_token
是要提取access_token参数, access_token
是提取参数之后的参数名
第三行数字设置为0
- 在“登陆获取token”中添加里后置处理器中点击BeanShell PostProcessor,用于将access_token设置为全局变量
参数:${access_token}
,表示将JSON提取器中提取出的access_token设置为全局变量
在Script中复制如下内容
String access_token = bsh.args[0];
print (access_token);
${__setProperty(access_token,${access_token},)};
新建线程组influxdb测试
- 在TestPlan中右键添加线程里点击线程组
-
在线程组中新建HTTP请求,名称为influxdb测试,
HTTP请求设置为POST,路径:
/api/resource/zwltest
,参数为消息体数据
-
在HTTP请求中添加HTTP信息头管理器
添加参数和参数值
名称
Content-Type
,值application/json
名称
Authorization
,值bearer ${__P(access_token,)}
,其中${__P(access_token,)}表示setUp线程组中获取的access_token参数
-
设置计数器
计数器用于设置ID。在HTTP请求中,右键添加配置元件里点击计数器
Starting value里设置起始值,递增设置为1,并设置最大值,引用名称设置为number
引用计数器是用 ${number}
表示计数器,由起始值递增1
-
消息体数据设置
消息体数据可以根据需要设置
如下,id为
${number}
为计数器,time和age可以由函数助手设置,例如Random函数,可以在网上搜索JMeter函数助手查看个函数用途和用法[ { "time": "2021-07-${__Random(1,30,)} ${__Random(0,23,)}:${__Random(0,59,)}:${__Random(0,59,)}", "age": 96, "name": "cww", "id": "${number}" } ]
3. 设置响应和监听器
设置响应断言
- 在Test Plan右键添加断言中点击响应断言
测试字段设置为响应代码
在测试模式中点击添加,输入200
可以在下方自定义失败信息,如下图所示
新建察看结果树和汇总报告
在Test Plan中右键添加监听器中点击查看结果树和汇总报告
可以将查看结果树中JMESPath Tester左边设置为JSON JMESPath Tester方便查看结果
4. 文件总体结构
-
文件总体结构如下图
由于有两个线程组,要在Test Plan中设置“独立运行每个线程组”
-
设置线程组
可以点击个个线程组设置线程数,启动时间,和循环次数
)]
4. 文件总体结构
-
文件总体结构如下图
由于有两个线程组,要在Test Plan中设置“独立运行每个线程组”
[外链图片转存中…(img-cQhCxbnr-1630289782319)]
-
设置线程组
可以点击个个线程组设置线程数,启动时间,和循环次数