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

目录

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

1、接口调用获取返回值

2、添加JSON提取器

3、调试程序查看结果

4、添加循环控制器

5、设置count计数器

6、添加请求

7、执行请求

二、CSV参数化

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

2、设置循环处理器

3、添加CSV文件

4、设置计数器

5、接口调用

三、数据库查询

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后置处理程序

代码如下:

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

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值