Jmeter三种方式获取数组中多个数据并将其当做下个接口参数入参【附带JSON提取器和CSV格式化】

目录

一、传统方式-JOSN提取器获取接口返回值

1、接口调用获取返回值

2、添加JSON提取器

3、调试程序查看结果

4、添加循环控制器

5、设置count计数器

6、添加请求

7、执行请求

二、CSV参数化

1、将结果写入后置处理程序

2、设置循环处理器

3、添加CSV文件

4、设置计数器

5、接口调用

三、数据库查询

[1、添加mysql jar包](#1、添加mysql jar包)

2、、添加JDBC配置元件

3、调试数据库语句

4、ForEach处理器


一、传统方式-JOSN提取器获取接口返回值

1、接口调用获取返回值

2、添加JSON提取器

添加后置处理器-JSON提取器

3、调试程序查看结果

添加后置处理器-调试后置处理程序,验证结果是否正确

4、添加循环控制器

添加-逻辑控制器-循环控制器,并设定循环次数

5、设置count计数器

添加配置元件-计数器,设置计数器最大次数

6、添加请求

引用参数的表达式:{__V(cityId_{__counter(,)},)}

① __V为jmeter自带的一个嵌套变量函数

运行第1次cityId_${__counter(,)}为id_1

运行第2次cityId_${__counter(,)}为id_2

······

运行第367次cityId_${__counter(,)}为id_367

② __counter为jmeter自带的一个计数函数

${__counter(,)} 引用这个函数,每运行1次+1,从1开始

③ cityId_${__counter(,)}

运行第1次cityId_1,运行第2次cityId_2,以此类推,直到运行到循环次数cityId_367

7、执行请求

二、CSV参数化

1、将结果写入后置处理程序

添加后置处理器-BeanShell后置处理程序

代码如下:

java 复制代码
FileWriter fstream = new FileWriter("D:\\orderrtn.csv",true);
BufferedWriter out=new BufferedWriter(fstream);
num=vars.get("orderRtnNo_matchNr");
//log.info(num);
for(int i=1;i<=(Integer.parseInt(num));i++){
//	log.info("i="+i);
//	log.info(vars.get("id_"+i));  查看是否获取到变量
//	log.info(vars.get("name_"+i));
out.write(vars.get("orderRtnNo_"+i)+"\n");
}
out.close();
fstream.close();

2、设置循环处理器

添加-逻辑控制器-循环控制器,并设定循环次数,因为CSV文件中的orderRtnNo显示为orderRtnNo_1,orderRtnNo_11显示,所以此处循环次数要是orderRtnNo_#

3、添加CSV文件

4、设置计数器

添加在循环控制器下,count初始值为1,每次循环+1。

调用JSON提取器提取的orderRtnNo进行数据查询

第一次循环,需要使用orderRtnNo_1进行查询,orderRtnNo_1 = orderRtnNo_${count},第二次循环需要orderRtnNo_2,以此类推。

5、接口调用

  • 添加函数

调用 goodsName_{count} 不可以直接{goodsName_${count}},需要使用嵌套变量函数__V:

函数助手生成的函数字符串为:{__V(orderRtnNo_{count},)},

注意要把第一个参数后的逗号删掉: {__V(orderRtnNo_{count})},代表只需要第一个参数,忽略默认值参数。

三、数据库查询

1、添加mysql jar包

具体的可以去百度下载

2、、添加JDBC配置元件

添加配置元件-JDBC Connection Configuration

Database Connection Configuration是主要的配置信息。

Database URL:数据库链接地址;注意端口号后是数据库名称

jdbc:mysql://localhost:3306/database_name?useUnicode=true&characterEncoding=utf-8

JDBC Driver class:数据库驱动程序,根据不同数据库,选择不同的驱动程序;

mysql:

Username:数据库用户名;

Password:数据库密码。

3、添加JDBC请求

添加-请求-JDBC请求

3、调试数据库语句

4、ForEach处理器

5、接口调用

相关推荐
卑微的Coder14 小时前
JMeter同步定时器 模拟多用户并发访问场景
java·jmeter·压力测试
乐言36114 小时前
如何解决Jmeter中的乱码问题?
jmeter
乐言36119 小时前
如何用Jmeter实现自动化测试?
运维·jmeter·自动化
乐言3612 天前
Jmeter中的BeanShell如何使用?
python·jmeter·压力测试
kerryYG2 天前
使用JMETER中的JSON提取器实现接口关联
jmeter·json
乐言3614 天前
Jmeter中的Json提取器如何使用?
jmeter·json
九班长4 天前
JMeter 中实现 双 WebSocket(双WS)连接
websocket·jmeter·proto
花下的晚风5 天前
如何使用测试软件 Jmeter
jmeter
程序员的世界你不懂5 天前
JMeter_配置元件之随机变量(RandomVariable)介绍
jmeter
小二·6 天前
使用Jmeter对AI模型服务进行压力测试
jmeter·压力测试·可用性测试