共计 1325 个字符,预计需要花费 4 分钟才能阅读完成。
这里使用 Jmeter5.1.1 版本,需要对 Jmeter 会继续基础操作。
如果需要进行体验,导入 jmx 文件 到 Jmeter 中。
使用到的 mysql-connector-java-5.1.48.jar、jmeter-function-plugins。
一、适用情况
- 1、直接对数据表进行重复性操作
- 2、数据有严格的创建函数或存储过程限制,不能通过编写数据库存储过程实现
- 3、需要一些生成随机数据
二、Jmeter 数据库操作计划
1、创建线程组
2、创建 JDBC 连接配置
- 1、创建 JDBC 连接配置
- 2、设置数据库连接池名称,后面使用
- 3、设置 JDBC 连接参数,包括 url、驱动类名、用户、密码
3、创建数据库操作请求
- 1、创建 JDBC 请求
- 2、指定 JDBC 请求使用到的数据连接池名称,上一步已经定义的。
- 3、编写数据库操作 SQL,字段值可以是常量,也可以是变量。变量写法符合 Jmeter 变量写法,使用
${}
包括起来。
4、创建字段随机值
- 1、创建用户变量
- 2、如果需要每次获取用户变量值时,需要进行重新计算,请勾选“每次迭代更细一次”
- 3、定义变量名和变量的取值。如果需要使用到 Jmeter 函数,可以使用 Jemter 函数助手进行帮助。
5、执行计划
三、Jmeter 函数
Jmeter 函数返回的都是字符串类型的数据,如果需要时间格式,可能需要额外的转时间处理
Jmeter 函数助手目的是为了快速写出正确的 Jmeter 函数表达式
这里使用到自定义 Jmeter 函数,需要复制 jmeter-function-plugins-1.0-SNAPSHOT.jar 到 %JMETER_HOME%/lib/ext 下,并重启 Jmeter
- 1、Jmeter 函数助手入口
- 2、Jmeter 函数助手使用
- 3、函数说明
这里只列举例子中使用到的一些函数,更多函数使用参考 Jmeter 官网函数说明
函数名 | 使用例子 | 解释说明 |
---|---|---|
__RandomString | ${__RandomString(6,0123456789abcdefghijklmnopgrstuvwxyz,)} | 从“0123456789abcdefghijklmnopgrstuvwxyz”中生成随机的 6 个字符串,可重复 |
__time | ${__time(yyyy-MM-dd HH:mm:sss,)} | 按指定时间格式,生成随机时间字符串 |
__UUID | ${__UUID} | 生成 UUID,包含“-” |
__Random | ${__Random(10,99,)} | 生成 10 到 99 的范围的一个数字,包含 10 和 99 |
__RandomChineseName | ${__RandomChineseName} | 生成随机中国姓名(非内置函数) |
__RandomMobile | ${__RandomMobile} | 生成随机手机号码(非内置函数) |
__RandomIdCardNo | ${__RandomIdCardNo} | 生成随机身份证件号(非内置函数) |
__RandomEmail | ${__RandomEmail} | 生成随机电子邮箱(非内置函数) |
__RandomIP | ${__RandomIP} | 生成随机 IPv4 地址(非内置函数) |
四、自定义 Jmeter 函数
上一步使用到的 Jmeter 自定义函数,需要进行 Java 编码。
参考项目 jmeter-function-plugins
正文完