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、接口调用

相关推荐
CesareCheung9 小时前
JMeter分布式压力测试
分布式·jmeter·压力测试
测试界清流10 小时前
jmeter使用技巧
jmeter
春时似衿里10 小时前
jmeter配置数据库连接步骤
数据库·jmeter
新知图书10 小时前
JMeter的安装部署
jmeter
程序员杰哥11 小时前
什么是Jmeter? Jmeter工作原理是什么?
自动化测试·软件测试·python·测试工具·jmeter·职场和发展·测试用例
乐神嘎嘎嘎15 小时前
Jmeter测试
jmeter
卓码软件测评17 小时前
第三方软件测试机构【性能测试工具用LoadRunner还是JMeter?】
java·功能测试·测试工具·jmeter·性能优化
BatyTao1 天前
Jmeter执行数据库操作
数据库·jmeter
二宝哥1 天前
性能测试工具Jmeter之java.net.BindException: Address already in use
jmeter