Jmeter数据库批量新增
这里使用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函数,需要复制 <a target="_blank" href="https://www.ancii.com/link/v1/FkID8wGzP6niqPJZwJ2yDb6blLtKplfogCX57jUVfDx8mL1YraHnVdpHf2ot-a8M9Tpie-_PnsmuJmk90tBDSqtI4osUt4v6n-0Em-nQeqaqwYu00nw9T6Eh_L9VVYCvaQ_sLfY47inx1Bl5CG-3qdPCjMIRdD0lQT34hR0x_kyT-TUuv4-_afhGnsaVGIj8Y-IipWws5B1wfPuKJL8jVUffYhUtA9FdDSqAj3vWnYn6VIkUOO-yMEnNtekUQ38ZLcCaaamGr7nzIrxtKJgdcw4rFs9mYpu8M-5bP3BHGC1zTq1eQrN_LQwVwAwVk_rOOkhKtGRUaEVijUam2hzfuMLIa3c_FHKBFcYir4MNwS4q-0G7dBN_ltw5uZJmbqumqnWgOgYbzM7QXFneg3YANA/" rel="nofollow" title="jmeter-function-plugins-1.0-SNAPSHOT.jar">jmeter-function-plugins-1.0-SNAPSHOT.jar</a> 到 %JMETER_HOME%/lib/ext下,并重启Jmeter
- 1、Jmeter函数助手入口
- 2、Jmeter函数助手使用
- 3、函数说明
这里只列举例子中使用到的一些函数,更多函数使用参考<a target="_blank" href="https://www.ancii.com/link/v1/2itDUSZOM6XCa_fQFHm2DQlZp4j3pXeXvzdZIYyclKdgf3td8s74NISv2cPdUDuwI6x9mfSFmFz2o8iQdfONCA/" rel="nofollow" title="Jmeter官网函数说明">Jmeter官网函数说明</a>
函数名 | 使用例子 | 解释说明 |
---|---|---|
__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