当前位置:   article > 正文

JMeter连接数据库的相关操作

jmeter连接数据库

一、加载JDBC驱动

以Mysql数据库为例,数据库测试需要加载JDBC驱动
1、先下载mysql-connector-java-5.1.26.jar
2、打开JMeter,直接拷贝驱动jar包放到到jmeter安装目录的lib目录下或在jmeter中的测试计划中导入

导入JDBC驱动

二、连接数据库

1、在线程组右键—添加—配置元件--“JDBC Connection Configuration”

添加配置JDBC Connection Configuration

2、配置JDBC Connection Configuration

配置JDBC Connection Configuration

具体配置项如下

  1. 1、名称:默认为空,填写你所想设置的名称,可为空
  2. 2、注释:默认为空,可为空
  3. 3、Variable Name:变量名称,需要唯一标识,与JDBC取样器中的相对应,简单理解就是jdbc request的时候确定去哪个绑定的配置。
  4. 4、Max Number of Connections 数据库最大连接数,默认10,建议设置为500
  5. 5、Pool Timeout 数据库连接超时,单位ms,默认10000 默认即可
  6. 6、Idle Clearup Interval 空闲连接清理时间间隔 默认即可
  7. 7、Auto Commit 自动提交,有三个选项:truefalse、编辑(jmeter提供的函数设置)。默认为true 默认即可
  8. 8、Transaction Isolation 有TRANSACTION_NODE 事务节点 、TRANSACTION_READ_UNCOMMITTED事务未提交读、TRANSACTION_READ_COMMITTED事务已提交读 、TRANSACTION_SERIALIZABLE事务序列化 、DEFAULT默认、TRANSACTION_REPEATABLE_READ事务重复读、编辑等选项,默认为default 默认即可
  9. 9、Keep-Alive 是否保持连接,默认为true 默认即可
  10. 10、Max Connection age (ms) 最大连接时长,超过时长的会被拒绝,默认为5000
  11. 11、 Validation Query 验证sql语法,默认为select1
  12. 12、Database URL 数据库url,可以带上字符集,比如jdbc:mysql://10.199.132.12:3306/xqy-portal?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true
  13. 13、JDBC Driver class JDBC的类,默认为空,必填,mysql一般输入com.mysql.jdbc.Driver
  14. 14、Username 数据库的用户名
  15. 15、Password 数据库的密码

3、添加JDBC Request,线程组右键—添加—Sampler—JDBC Request

添加JDBC Request

4、JDBC Request配置

JDBC Request配置

具体JDBC Request配置项说明如下:

  1. 1、Variable Name 和上面JDBC Connection Configuration中的Variable Name保持一致
  2. 2、Query type 主要包括:Select 、Update、Callable Statement、CommitRollback选项,详见下文使用方法
  3. 3、Parameter values 默认为空,填写sql中要添加的数据,也可以参数化
  4. 4、Parameter types : 默认为空,赋值参数的数据类型,需与Parameter values对应起来,并以逗号隔开
  5. 5、Variable Name : 默认为空,自定义值,供其他接口调用返回值,详见下文使用方法
  6. 6、Result variable name : 把sql执行结果保存到一个数组中
  7. 7、Query timeout(s) : 定义查询超时时间,单位s,默认为空

SQL Query的Query Type使用方法:

1、多个查询语句(不使用参数的情况下)可以放在一起顺序执行,需要设置Query Type为:Callable Statement,然后顺序输入select语句,不用加go或者分号。如果Query Type设置为:Select Statement的话,只执行第一个SQL语句;

2、如果SQL语句中需要使用参数变量,那么Query Type 需要设置为:Select Statement ,需要先添加Random Variable,然后在Parameter Values中输入{变量名称},中间用逗号分隔。只能执行第一个SQL语句;

3、对于Insert、Update、Delete语句,需要设置Query Type为:Update Statament.数据修改语句中可以使用参数,而且可以顺序执行多个修改语句;

4、Commit是将SQL Query执行后马上提交,使用这个选项时JDBC Connection Configuration中的Auto Commit选项为False。

Variable Name使用方法:

jmeter官网给的解释是:如果给这个参数设置了值,它会保存sql语句返回的数据和返回数据的总行数。假如,sql语句返回2行,3列,且variables names设置为A,B,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_1}...来获取相应的值

Result variable name使用方法:

如果给这个参数设置值,它会创建一个对象变量,保存所有返回的结果,获取具体值的方法:

columnValue = vars.getObject("resultObject").get(0).get("Column Name")
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号