配置/使用,以MySQL为例
1.1. 下载地址:https://dev.mysql.com/downloads/
1.2. 选择:Connector/J
,进入页面
1.3. 点击下载压缩包
1.4. 不登录,直接选择 No thanks, just start my download.
位置:线程组右键 ==> 添加 ==> 配置元件 ==> JDBC Connection Configuration
配置说明:
Variable Name for create pool
:数据库的名称
Database Connection Configuration
连接数据库相关参数配置说明,如下:
Database URL
:数据库连接地址
格式:jdbc:<数据库类型>://<数据库链接地址>:<数据库端口号>/<数据库名>
例:jdbc:mysql://127.0.0.1:3306/testdb
JDBC Driver class
:JDBC Driver需要在 测试计划 中进行导入
使用的是什么数据库就选择什么驱动进行链接,例:com.mysql.jdbc.Driver
在测试计划页面,选择解压好的lib目录下的jar包
Username
:连接数据库的用户名
Password
:连接数据库用户的密码
可以将JDBC请求(SQL查询)发送到数据库
位置:线程组右键 ==> 添加 ==> 取样器 ==> JDBC Request
配置项 | 说明 |
---|---|
Variable Name of Pool declared in JDBC Connection Configguration | 与JDBC Connection Configuration中的Variable Name for create pool保持一致 |
Query Type | 查询类型 |
Query | sql语句 注:sql语句后面不需要加 ; 变量用 ? 占位例:select * from users where user_name =‘xxx‘ |
Parameter values | 需要传递的变量值 多个变量用 , 隔开 |
Parameter types | 变量类型 例:字段数据类型,varchar |
Variable Names | 保存sql语句返回的数据和返回数据总行数 用 , 隔开跳过列为空 |
Result Variable Name | 创建一个对象变量,保存所有返回的数据 |
query timeout(s) | 超时时间 默认为0,代表无限时间 |
Limit ResultSet | 和 limit 类似作用,限制 sql 语句返回结果集的行数 |
Handle ResultSet | 定义如何处理callable statements语句返回的结果 默认是存储为字符串 |
添加Debug Sampler
,可以查看变量的数据,方便调试
位置:线程组右键 ==> 添加 ==> 取样器 ==> Debug Sampler
1. 只有sql语句的情况
运行结果
2. 将sql语句进行参数化
运行结果和上面相同
注意:
?
占位,可以避免SQL注入的问题Query Type
必须选择 Prepared Select Statement
或者 Prepared Update Statement
Parameter value
、Parameter type
填写值的数量要保持一致,用,
分隔3. 变量和参数化结合
用户定义变量
运行结果
注意:sql语句中使用变量时,如果是字符串需要加上引号
4. Variable Names的使用
可以将sql语句查询出的数据进行提取
运行结果
调试取样器-查看提取的数据
解释:
注意:
Variable Names
跳过列为空,例:a,b,,d${变量名_#}
来获取总条数${变量名_n}
来获取变量名所在的列的第n行的值,例:${a_1}获取第一行第一列的值5.Result variable name的使用
设置一个变量名,将返回的结果赋值给这个变量
调试取样器-以一个对象的形式返回所有数据
官网参考文档:https://jmeter.apache.org/usermanual/build-db-test-plan.html#building
原文:https://www.cnblogs.com/colorfully/p/13855394.html