目录
1.安装下载
2.启动JMeter
2.1新建线程组
2.2新建HTTP信息头管理器
2.3新建用户定义的变量
2.4新建临界部分控制器
2.4.1新建【创建流程实例】HTTP请求
2.4.1.1新建响应断言
2.4.2新建【查询待办任务1】HTTP请求
2.4.2.1新建响应断言
2.4.2.2新建JSON提取器
2.4.3新建【流程初审】HTTP请求
2.4.3.1新建响应断言
2.4.4新建【查询待办任务2】HTTP请求
2.4.4.1新建响应断言
2.4.4.2新建JSON提取器
2.4.1新建【流程终审】HTTP请求
2.4.1.1新建响应断言
2.5新建查看结果树
2.6新建聚合报告
3.执行测试计划
1.安装下载
安装下载请自行搜索解决
2.启动JMeter
配置完成环境变量后,在命令行输入jmeter,即可启动JMeter,启动后界面如下所示:
2.1新建线程组
点击界面中测试计划,鼠标右键点击,选择添加->线程(用户)->线程组,如下图所示:
新建线程组后,可以在线程组界面中修改名称、线程属性(线程数、循环次数、Ramp-up时间)等属性,也可以选择调度器,记录持续时间,本次持续时间为15分钟,转换为秒为900秒;线程数改为100,循环次数选择永远,如下图所示:
2.2新建HTTP信息头管理器
右键点击线程组,选择添加->配置元件->HTTP信息头管理器,如下图所示:
新建HTTP信息头管理器之后点击HTTP信息头管理器,在界面中点击界面底部【添加】按钮,进行信息添加,本次添加两个属性Content-Type和Authorization,前者标识HTTP请求内容类型,后者为服务鉴权token,有需要的话自己可以进行其他信息的添加,如下图所示:
2.3新建用户定义的变量
右键点击线程组,选择添加->配置元件->用户定义的变量,即可添加用户定义的变量,如下图所示:
添加完成后,点击用户定义的变量,在界面中点击底部【添加】按钮新增变量信息,本次新增两个变量serverUrl和serverPort,分别为服务地址和端口号,有需要的请自行扩展,如下图所示:
2.4新建临界部分控制器
由于我要测试多个HTTP接口,且接口与接口之间有执行前后关系,上方接口要先于下方接口执行,为解决多个接口间执行顺序的问题,需要新建临界部分控制器,右键点击线程组,选择添加->逻辑控制器->临界部分控制器,即可添加临界部分控制器,如下图所示:
通常临界部分控制器添加之后无需对其属性进行修改,如需修改,请点击临界部分控制器进行修改。
2.4.1新建【创建流程实例】HTTP请求
右键点击临界部分控制器,选择添加->取样器->HTTP请求,即可添加HTTP请求,如下图所示:
点击该HTTP请求,修改名称为【创建流程实例】,添加服务器名称或IP为${serverUrl},添加端口号值为${serverPort},HTTP请求方式选择POST,路径改为实际路径/bpm/processInstance/create,添加参数或者消息体数据,如下图所示:
2.4.1.1新建响应断言
【创建流程实例】HTTP请求添加完成,如何判断该HTTP请求是否正常执行成功?添加响应断言。右键点击【创建流程实例】HTTP请求,选择添加->断言->响应断言,即可添加响应断言,如下图所示:
添加完成后,点击响应断言,修改模式匹配规则为包含,添加测试模式,测试模式中输入“success":true, “success":true为该HTTP请求成功后的响应内容,如果响应中包含“success":true即可判断接口正常响应,如下图所示:
2.4.2新建【查询待办任务1】HTTP请求
右键点击临界部分控制器,选择添加->取样器->HTTP请求,添加HTTP请求。添加完成后,修改HTTP请求名称为【查询待办任务1】,添加服务器名称或IP为${serverUrl},添加端口号值为${serverPort},HTTP请求方式选择POST,路径改为实际路径/bpm/task/list,添加参数page和size,如下图所示:
2.4.2.1新建响应断言
右键点击【查询待办任务1】HTTP请求,步骤与2.4.1.1完全一致,不再重复叙述。
2.4.2.2新建JSON提取器
由于【流程初审】HTTP请求需要用到【查询待办任务1】HTTP请求的响应参数,需要用到JSON提取器,把返回参数提取出来。右键点击【查询待办任务1】HTTP请求,选择添加->后置处理器->JSON提取器,即可添加JSON提取器,如下图所示:
点击JSON提取器,修改属性如下图所示:
- Names of created variables: 表示要提取的变量名称,多个用英文分号隔开
- JSON Path expressions: 要提取的JSON表达式,$代表响应体,$dollar符号后边取决于JSON响应的结构,比如$.data.records[0].taskId表示取响应体中data的records第一条的taskId属性。多个英文分号隔开
- Match No.(0 for Random): 匹配到的第几个,0代表随机。多个英文分号隔开
- Default Values: 默认值。多个英文分号隔开
2.4.3新建【流程初审】HTTP请求
右键点击临界部分控制器,添加HTTP请求。添加完成后,修改名称为【流程初审】,添加服务器名称或IP为${serverUrl},添加端口号值为${serverPort},HTTP请求方式选择POST,路径改为实际路径/bpm/task/process,添加参数或者消息体数据,如下图所示:
消息体数据中的${taskId}和${businessId}为【查询待办任务1】的JSON提取器提取到的变量。
2.4.3.1新建响应断言
可复制【查询待办任务1】的响应断言粘贴到【流程初审】中。
2.4.4新建【查询待办任务2】HTTP请求
复制【查询待办任务1】粘贴到临界部分控制器,修改名称为【查询待办任务2】。
2.4.1新建【流程终审】HTTP请求
复制【流程初审】粘贴到临界部分控制器,修改名称为【流程终审】。
2.5新建查看结果树
右键点击测试计划,选择添加->监听器->查看结果树,即可添加查看结果树。如下图所示:
添加完成后,可在界面中修改属性,也可直接默认无需任何更改,如下图所示:
2.6新建聚合报告
右键点击测试计划,选择添加->监听器->聚合报告,添加聚合报告。监听器种类很多,有需要可自行添加。添加聚合报告如下图所示:
添加完成后如下图所示:
3.执行测试计划
点击【启动】按钮执行测试计划,如下图所示:
文章来源:https://www.toymoban.com/news/detail-702604.html
文章来源地址https://www.toymoban.com/news/detail-702604.html
到了这里,关于JMeter 5.6多个http接口进行压测的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!