目录
[1、添加mysql jar包](#1、添加mysql jar包)
一、传统方式-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、接口调用
