1、在jmeter中新建一个测试计划,在测试计划界面中点击浏览,选择连接mysql数据库的jar包
如果没有jar包可以去网上下载,也可以通过如下链接进行下载
链接: https://pan.baidu.com/s/1BI6f19KSzXGlkSOwbnequw 提取码: gn8e
2、然后创建线程组,并且要知道所需要连接数据库的主机ip以及端口,用户名和密码等信息;点击测试计划右击-配置元件-JDBC Connection Configuration 组件,该组件通常加到线程组前面,该组件用于连接数据配置
3、配置JDBC Connection Configuration 组件,在该组件中输入字段信息
Variable Name for created pool:数据库的链接名,自己定义一个后面可以通过该名称引用,我这边输入为mysqlT
Max Number of Connections:最大用户链接数量,用于定义并发时最大的链接mysql的用户数,我还准备设置为10
Max Wait (ms):最大连接等待时间,我这边设置为10000
Time Between Eviction Runs (ms):运行间隔时间,我这边设置为60000
Auto Commit::自动提交,设置为True
Transaction lsolation:交易隔离,使用默认的,DEFAULT
Test While ldle:使用默认的值,True
Soft Min Evictable ldle Time(ms):使用默认值,5000
Validation Query:验证查询,选择select1,表示检查select语法
Database URL:数据库连接url,jdbc:mysql://localhost:3306/数据库名,如果数据库不在本机则需要将localhost换为mysql数据库所在的服务器的ip地址,3306是数据库的默认ip.如果有变化也要修改,数据库名则是需要查询表所在的数据库名称,我这边输入 jdbc:mysql://192.177.0.11:3306/test
JDBC Driver class:JDBC Driver类:选择或者直接输入com.mysql.jdbc.Driver
Username:数据库的登陆名,我这边为root
Password:数据库的密码,根据自己设置的进行填写。
注意:如果当编写的sql语句需要条件查询,且字段有中文时,需要在Database URL字段信息的后面再加一段编码设置,不然查询的时候返回的结果为空。查询不到数据
?useUnicode=true&characterEncoding=utf8
jdbc:mysql://192.177.0.11:3306/test?useUnicode=true&characterEncoding=utf8
4、将JDBC Connection Configuration 组件所有字段信息输入完成后在线程组中添加JDBC Request组件,点击线程组右击-添加-取样器-JDBC Request,该组件用于编写sql语句,对连接的数据库进行查询
5、配置JDBC Request组件,如果只是简单的查询只需要输入以下字段即可
Variable Name of Pool declared in JDBC Connection Configuration:JDBC连接配置中声明的池变量名称,输入在JDBC Connection Configuration 组件中定义的链接名称,当时名称为mysqlT,这里也输入同样的。
Query Type:查询类型,sql语句类型,我这边写的是查询,就选择Select Statement
sql语句编辑框:编辑框中输入查询sql,select * from lr_user lr_user为需要查询的表名
Parameter types:参数类型,这个要看连接数据库中字段的类型,我这边一共两个字段,都是varchar类型,因为输入varchar,varchar 用英文逗号隔开。必填,且与参数值个数要一致
6、JDBC Request组件配置完成后,点击添加结果数,点击运行,可以在结果树中查看到查询到的数据
在结果树可以看到查询结果,就表示连接mysql数据成功了,下面就进行连接后一些常规用法的介绍。
7、如果对mysql数据库有其他更多的操作就需要了解JDBC Request组件其它字段的使用。例如当需要进行预编译查询时,即需要编写条件查询时,需要对字段做如下修改:
Query Type:查询类型需要选择 Prepared Select Statement
sql语句编辑框:中输入 select * from lr_user where yhm=? and mm=? ?代表查询字段信息,该信息需要在Parameter values字段中进行填写
Parameter values:参数值,如果进行条件查询,在sql语句编辑框中有几个参数则就需要填写几个,通过英文逗号隔开,如图我这边将yhm和mm设置为查询条件,则就需要输入
亳州工业学校,123456 该两个参数将会被查询语句中的?进行调用。
Parameter types:有几个参数值,则就需要填写几个该参数值的类型,我这边都是varchar,所以就填写varchar,varchar 中间用英文逗号隔开
运行后结果树的查询返回如下图所示
8、当如果想要获取查询结果中的每一行的数据则可以通过调用参数变量的方式进行设置,继续设置JDBC Request组件字段,进行如下设置
Variable names:该字段为查询到的数据赋予变量。我这边查询到有三个字段,因此需要赋予三个变量值,后面可通过${}进行引用。
9、在JDBC Request后面添加一个BeanShell 取样器;线程组右击-添加-取样器-BeanShell 取样器
10、配置BeanShell 取样器,通过${yhm}${mm}${bz}来调用查询的字段进行输出
yhm、mm、bz,通过JDBC Request组件Variable names字段进行设置的。
${yhm_1} 代表查询到数据的第一行,${yhm_2} 代表查询到数据的第二行
${yhm_1} 代表查询到数据的第一行,${yhm_2} 代表查询到数据的第二行
"${yhm_1}\t${mm_1}\t${bz_1}\n${yhm_2}\t${mm_2}\t${bz_2}"
运行后的响应结果如下
11、步骤10是通过将结果存放在变量中并引用变量进行输出,也可以将结果存放到结果集中,通过调用结果集进行输出。JDBC Request组件字段配置如下
保持其它字段信息不变,输入Result variable name:字段信息
Result variable name:结果集名称,后续可通过调用结果集进行输出,我这边设置为rs
12、在配置BeanShell 取样器中进行配置,将结果集中的数据进行输出
在代码编辑区域中输入 vars.getObject("rs").get(0).get("yhm");
vars.getObject("rs") 表示获取rs结果集, rs是在JDBC Request组件Result variable name字段中配置的结果集名称。
.get(0):是指提取rs结果集中第一行
.get(0).get("yhm"):是指提取rs结果集中第一行中变量为yhm的数据。
查看运行结果,获取查询结果中的第一行中变量为bz的数据,
至此,jmeter中连接mysql数据以及常规用法就配置完成了。