1. 问题
为什么需要造测试数据?
如果对数据无特别需求,请忽略本文
如何简单快速构造测试数据?
2. 拆解
将问题拆解如下:
- 快速,借助多线程
- 数据多样性,通过随机函数实现
- 输出,按既定格式编排数据,然后追加到文件
jmeter完全满足上述三个要求:线程池,Random内置函数,groovy写文件
3. 实现
一个简单的流程大体如下

自定义变量,主要定义文件名称,分隔符等,不作赘述
3.1. 初始化操作
定义每个线程的输出文件,并存储于上下文内(vars变量,避免每次写文件时,重新new对象)
def filename = "${filename}-${__threadNum}.txt"
def myfile = new File("${file_path}", filename)
if(myfile.exists()) {
myfile.delete()
}
vars.putObject('myfile', myfile)
3.2. 循环写
随机函数均来自于jmeter,无需额外编写

def myfile = vars.getObject('myfile')
myfile << "${__UUID}${sep}${__RandomString(8,abcdefghijklmnopqrstuvwxyz,)}${sep}${__Random(0,99,)}${sep}${__RandomDate(,2020-01-01,2021-12-12,,)}\n"
网友评论