JMeter使用JSON提取器提取JSONArray中的多个值,并使用BeanShell进行字符串拼接
1.问题背景
在使用JMeter做接口测试的过程中,我遇到一个需求,详情如下:
首先,接口会以JSONArray的格式返回产品列表,如下图:
我依次需要查询这些产品的id,如下图:
然后将所有的id都提取出来,拼接成一个list的字符串,例如:
products = 1606973706248607,1606973706248606,1606973706248605,1606973706248600,1606973706248601
最后将其作为参数传入给下一个接口。
那么解决这个问题的步骤很简单,分两步:
- 使用JSON提取器,在接口响应报文中,通过JSONPath提取出所有产品的id值;
- 使用BeanShell编写简单的Java代码,循环所有的产品id,拼装成list字符串,并保存到参数中,供后续接口调用。
JMeter中取样器的配置如下图: