软件环境
软件名称 |
软件版本 |
说明 |
JMeter |
5.4.1 |
构造测试数据工具,建议使用最新版本 |
Java |
8 |
Java环境 |
Mysql |
5.7 |
数据库 |
mysql-connector-java-5.1.45-bin.jar |
5.1 |
数据库依赖包 |
系统 |
-- |
Windows/Linux均可 |
本文档已mysql数据库为例讲解,但不只限于mysql数据库,支持的数据库如下:
使用场景
场景名称 |
使用说明 |
单表数据构造 |
在jmeter中使用一个线程组运行即可 |
多表数据构造 |
在jmeter中使用多个线程组运行,每一个线程组配置不同的数据表 |
多表关联数据构造 |
关联字段可以使用同一个变量(把变量设设置为公共变量即可) |
本文档主要是针对单表插入数据进行说明
支持构造的数据类型
数据类型 |
解决方法 |
使用方法 |
ID自增 |
使用Jmeter 计数器组件 |
Id字段 |
随机整数 |
使用Jmeter random 函数 |
${__Random(10,20,)}生成10-20之间的随机整数 |
求和 |
使用 Jmeter intSum函数 |
${__intSum(10,5,sum)} 5+10的和 |
随机日期 |
使用 Jmeter RandomDate 函数 |
${__RandomDate(,1990-01-01,2021-12-31,,)},生成1990-01-01到2021-12-31的随机日期 |
随机字符串 |
使用 Jmeter RandomString 函数 |
${__RandomString(3,abcdefg)} 随机从abcdefg中生成长度为3的字符串 |
时间戳 |
使用 Jmeter Time函数 |
${__time(,)}默认为当前时间的时间戳,精确到毫秒1630398198008 |
字符串/数字加密 |
使用 Jmeter digest函数 |
${__digest(MD5,18910554406,,,)} 将字符串进行MD5加密:c49f00b92667a35c63708933384dad52 |
日期格式转换 |
使用 Jmeter dateTimeConvert函数 |
${__dateTimeConvert(20180112, yyyyMMdd,yyyy/MM/dd,)} 将20180112转换为2018/01/12 |
支持构造的数据类型
字段 |
解决方法 |
说明 |
判断两个数字/字符是否相等 |
使用 Jmeter if函数 |
|
多字段逻辑计算 |
使用 Jmeter jexl3函数 |
比如多个字段需要进行加减乘除计算 |
枚举值 |
使用 Jmeter CSV组件 |
比如:省份 |
字符串拼接 |
使用 Mysql CONCAT函数 |
CONCAT(“130",“434 ",“19901012 ", “6935") |
随机小数 |