jmeter连接mysql数据,并将查询结果存储到指定txt文件中

1、首先jmeter先进行连接mysql相关的配置,我之前已经有教程了就不赘述了,教程链接如下

jmeter连接mysql数据库以及常规用法-CSDN博客

2、当jmeter成功配置mysql数据库后,在JDBC Request组件中进行如下配置

Variable Name of Pool declared in JDBC Connection Configuration:输入连接数据库名称,上面链接教程中有介绍不赘述

Query Type:选择Select Statement

编辑框:输入查询语句,我这边就直接查询全部 select * from lr_user;

Variable names:变量名称,这里是需要定义查询结果中所需要引用的字段名称,我这边有三个结果字段,因此就需要设置三个变量yhm,mm,bz   英文逗号隔开。

        注意:如果是条件查询且需要传递查询参数时,Query Type:字段信息需要选择Prepared Select Statement  。我这边没有进行条件查询就直接使用Select Statement类型了。

jmeter连接mysql数据,并将查询结果存储到指定txt文件中_第1张图片

3、JDBC Request组件配置完成后,添加BeanShell 取样器,添加步骤上面链接教程也有,不赘述了。

out.write(vars.get("yhm_" + i)+"\t"+vars.get("mm_" + i)+"\t"+vars.get("bz_" + i)+"\r\n");

        上面代码是将结果写入到文件中,因为sql语句查询的结果存储在设置的yhm、mm、bz变量中,但是在调用的时候必须通过yhm_1的方式,代表结果中第一行的yhm参数。如果直接写${yhm}是获取不到结果的

        因此可以通过循环的方式进行写入文件,从第一行一直取到最后一行,有多少行值就循环多少次,可以看到我这边有七行数据,设置循环七次

jmeter连接mysql数据,并将查询结果存储到指定txt文件中_第2张图片

代码如下:

//指定需要写入到哪个文件,格式:TXT,csv
//D:\\Program Files\\apache-jmeter-5.1.1需要存储写入文件的路径
//text.txt  指定保存的文件
 
FileWriter file = new FileWriter("D:\\Program Files\\apache-jmeter-5.1.1\\Mysqltext.txt",true);
 
//创建一个字符缓存输出流
BufferedWriter out = new BufferedWriter(file);
 
//写文件内容
//vars.get:获取 jmeter 中的变量值
//"\r\n"   写入文件时可以换行
//"yhm_" + i  为在正则取样器中定义的引用名称,接口截取的响应结果都存储在yhm_1参数中
//out.write(vars.get("yhm_1"));
 for(int i=1;i<=7;i++){
 	out.write(vars.get("yhm_" + i)+"\t"+vars.get("mm_" + i)+"\t"+vars.get("bz_" + i)+"\r\n");
 	}
//关闭写数据流
 
out.close();
 
//关闭文件
file.close();

jmeter连接mysql数据,并将查询结果存储到指定txt文件中_第3张图片

运行后,可以将结果写入文件中

jmeter连接mysql数据,并将查询结果存储到指定txt文件中_第4张图片

你可能感兴趣的:(JMeter,jmeter,数据库,mysql)