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

相关推荐
小丁爱养花3 天前
接口性能测试工具 - JMeter
测试工具·jmeter
曾经的三心草6 天前
微服务的编程测评系统11-jmeter-redis-竞赛列表
redis·jmeter·微服务
天才测试猿6 天前
常见的Jmeter压测问题
自动化测试·软件测试·python·测试工具·jmeter·职场和发展·压力测试
张永清-老清7 天前
《JMeter核心技术、性能测试与性能分析》 教学大纲及标准
jmeter·性能优化
kakwooi7 天前
易乐播播放器---压力测试
java·jmeter·测试
张永清8 天前
《JMeter核心技术、性能测试与性能分析》 教学大纲及标准
jmeter·性能测试·性能调优·性能分析·教材
哈哈孝子8 天前
JMeter性能测试详细版(适合0基础小白学习--非常详细)
功能测试·jmeter
川石课堂软件测试8 天前
JMeter并发测试与多进程测试
功能测试·jmeter·docker·容器·kubernetes·单元测试·prometheus
sunshine__sun8 天前
JMeter 测试 WebSocket 接口的详细教程
websocket·网络协议·jmeter