jmeter 之连接数据库

jar包下载地址

https://dev.mysql.com/downloads/connector/j/5.1.html

然后将jar包放在jmeter安装的lib目录下

 

jmeter连接数据库和提取数据库返回值

 

一、在MySQL命令行中,验证MySQL是否能正常登陆。若不能登陆,则重置MySQL的密码。

5 jmeter 连不上mysql jmeter怎么连接数据库_线程组

 

 二、下载mysql-connector-java-5.1.45-bin.jar,将其放入Jmeter安装目录的lib目录下。完成MySQL数据库的驱动。

5 jmeter 连不上mysql jmeter怎么连接数据库_MySQL_02

 

 三、右键“线程组”->“配置元件”->“JDBC Connection Configuration”,进行JDBC连接配置。

5 jmeter 连不上mysql jmeter怎么连接数据库_数据库_03

5 jmeter 连不上mysql jmeter怎么连接数据库_MySQL_04

 

四、以MySQL数据库为例,配置JDBC: Driver class: com.mysql.jdbc.Driver

              Database URL: jdbc:mysql://localhost:port/{dbname}

 

 五、JDBC Request配置,右击”线程组”,添加一个”JDBC Request”,添加”察看结果树”。

5 jmeter 连不上mysql jmeter怎么连接数据库_MySQL_05

 

5 jmeter 连不上mysql jmeter怎么连接数据库_数据库_06

Variable Name:数据库连接池的名字,需要与JDBC Connection Configuration的Variable Name Bound Pool名字保持一致

Query:填写的sql语句未尾不要加“;”

 

5 jmeter 连不上mysql jmeter怎么连接数据库_5 jmeter 连不上mysql_07

Parameter valus:参数值

Parameter types:参数类型

Variable names:保存sql语句返回结果的变量名

Result variable name:创建一个对象变量,保存所有返回的结果

Query timeout:查询超时时间

 

六、运行该线程组,”察看结果树”显示为下图所示的界面,则连接MySQL数据库成功。

5 jmeter 连不上mysql jmeter怎么连接数据库_MySQL_08

 

 七、Variables names参数使用

variables names设置为A,,C,那么如下变量会被设置为:

  A_#=2 (总行数)
  A_1=第1列, 第1行
  A_2=第1列, 第2行 
  C_#=2 (总行数) 
  C_1=第3列, 第1行
  C_2=第3列, 第2行

  如果返回结果为0,那么A_#和C_#会被设置为0,其它变量不会设置值。

  如果第一次返回6行数据,第二次只返回3行数据,那么第一次那多的3行数据变量会被清除。

  可以使用${A_#}、${A_1}...来获取相应的值。

示例

有一张表有3个字段,4条记录

1)添加一个jdbc request名为select4,添加一个Debug Sampler用来查看输出的结果,设置 variables name为a,b,c:

5 jmeter 连不上mysql jmeter怎么连接数据库_线程组_09

2)执行结果:

5 jmeter 连不上mysql jmeter怎么连接数据库_5 jmeter 连不上mysql_10

 

案例:现在有个登录请求,需要从MySQL数据库中取出用户登录表中的username字段作为参数,实现参数化关联。

1、 添加JDBC Request

5 jmeter 连不上mysql jmeter怎么连接数据库_线程组_11

 

2、在http请求中加入变量

5 jmeter 连不上mysql jmeter怎么连接数据库_线程组_12

username_id_N:N为数字,指取第几个数

 

 3、添加察看结果树

5 jmeter 连不上mysql jmeter怎么连接数据库_线程组_13

5 jmeter 连不上mysql jmeter怎么连接数据库_5 jmeter 连不上mysql_14

 

 4、添加循环控制器,“线程组”->“逻辑控制器”->“循环控制器”

 

5 jmeter 连不上mysql jmeter怎么连接数据库_数据库_15

 

5、将登录请求放入到循环控制器下,另外添加一个计数器,因为我们取的值是根据${username_N}来取的,那么这个N可以通过计数器递增的方式获得。

“循环控制器”->“配置元件”->“计数器”

5 jmeter 连不上mysql jmeter怎么连接数据库_MySQL_16

 

5 jmeter 连不上mysql jmeter怎么连接数据库_线程组_17

5 jmeter 连不上mysql jmeter怎么连接数据库_线程组_17

 

__V

5 jmeter 连不上mysql jmeter怎么连接数据库_数据库_19

 

 7、运用在登录请求的参数中

5 jmeter 连不上mysql jmeter怎么连接数据库_5 jmeter 连不上mysql_20

 

最后执行登录请求,查看结果。