【Jmeter】之批量处理多接口压力测试

作者:【Jmeter】之批量处理多接口压力测试 来源:未知 2022-06-21 09:11   阅读:

1、有以下三个步骤:①创建单据②审核单据③确认单据让三个相关接口进行一连串批量请求操作,直到所有批量数据确认单据成功。需要说明的是,因为每个接口可能处理

1、有以下三个步骤:

①创建单据

②审核单据

③确认单据

让三个相关接口进行一连串批量请求操作,直到所有批量数据确认单据成功。

需要说明的是,因为每个接口可能处理的不太一样,所以不能把所有的HTTP接口请求都放到一个线程组里,需要创建多个线程组。需要勾选一个选项,否则所有的接口串联不起来。

根据需求分析,创建三个线程组

目录结构如下:

需要添加信息头:

Authorization      【token】

token如何获取,通过F12或者抓包工具,随意请求一个接口获取token

  • 【变量名称】:通过读取CSV文件,获取每一个参数变量的值

  • 【文件名】:导入CSV文件的路径

其他的不变

请求参数里换成${XXX}变量写法,对应CSV文件设置。

其他参数一一对应填写进去。

添加结果树和聚合报告,获取其他

目录结构如下:

同上操作

通过上面的目录可知有两个请求,是因为审核接口的时候“order_ids”是获取列表数据的id,所以需要查询接口获取到列表id的值,然后两个接口互相传送

查询接口会查出来多条数据,但是如何提取每一条数据的id呢,先把结果树选择“JSON Path Tester”,然后再在“JSON Path Expression”里进行查询测试,输入【$.data[*]..id】

$.data[*]..id,代表的意思是

.代表一层结构

data[*]代表所有data参数

..id代表两层下的id

返回结果值:Result[index]=id号

加上这个元件,请求接口后还有一个结果树生成,调试的结果

把上面的调试参数放到循环控制器中,代表获取循环的次数

最后把“id_XXX”的值循环传入请求参数中

${__V(id_${__counter(,)},)}

【转】因为要把JSON提取器中匹配到的id_1,....id_22循环传递给“用户流水记录”,

__counter为jmeter自带的一个计数函数,${__counter(,)}引用这个函数,每运行1次+1,从1开始;

id_${__counter(,)}运行第1次id_1,运行第2次id_2,以此类推,直到运行到循环次数id_22

__V为jmeter自带的一个嵌套变量函数,运行第1次id_${__counter(,)}为id_1,${__V(id_${__counter(,)},)}则为${id_1},值80;以此类推,一直循环到${id_22}

参考文章《Jmeter之JSON提取器应用》

跟“2、审核单据线程组”同理。

最终结构如下:

①感谢:老陈酒~~的《jmeter之多个线程组顺序执行操作》***

②感谢:豆姐姐 的《Jmeter之JSON提取器应用》*****

分享给小伙伴们:
【Jmeter】之批量处理多接口压力测试:如果本文侵犯了您的权利, 请联系本网立即做出处理,谢谢。
下一篇:没有了
【Jmeter】之批量处理多接口压力测试相关文章