JMeter 系列之—-02 创建数据库测试计划
Jmeter创建数据库测试计划,包括如下步骤:
1. 添加数据库jar包
使用不同的数据库,要引入不同的jar包。主要有两种方式:
方式1:直接将jar包复制到jmeter的lib目录
方式2:通过测试计划
Jmeter的测试计划可以引入相应的jar包
2. JDBC Connection Configuration
DatabaseURL:jdbc:mysql://localhost:3306/apiauto?useSSL=false&allowMultQueries=true
Driver:com.mysql.jdbc.Driver
【注】
高版本的mysql中默认要求使用ssl连接来访问数据库,即在jdbc url中加入useSSL参数(参数值可以为false,true)
3. JDBC Request
这个Sampler可以向数据库发送一个jdbc请求(sql语句),并获取返回的数据库数据进行操作。需要和JDBC Connection Configuration配置原件(配置数据库连接的相关属性,如连接名、密码等)一起使用。
sql语句中的占位符?, 通过Paramter values 赋值 和 Paramter types 指定值的类型。
JDBC Request 参数说明:
Variable Name: 数据库连接池的名字,需要与JDBC Connection Configuration的Variable Name Bound Pool名字保持一致
Query: 填写的sql语句未尾不要加“;”
Parameter valus: 参数值
Parameter types: 参数类型,可参考:Javadoc for java.sql.Types
Variable names: 保存sql语句返回结果的变量名
Result variable name:创建一个对象变量,保存所有返回的结果
Query timeout: 查询超时时间
Handle result set: 定义如何处理由callable statements语句返回的结果
3.1 Parameter valus: 参数值
3.2 Parameter types: 参数类型,
可参考:Javadoc for java.sql.Types
3.3 Variable names 的使用
jmeter官网给的解释是:如果给这个参数设置了值,它会保存sql语句返回的数据和返回数据的总行数。
假如,sql语句返回2行,3列,且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.Result variable name 的使用
如果给这个参数设置值,它会创建一个对象变量,保存所有返回的结果,
获取具体值的方法:columnValue = vars.getObject(“resultObject”).get(0).get(“Column Name”)
完成