使用jmeter进行批量数据创建
背景:
测试环境需要创建大量的测试数据,进行功能和性能的测试
测试数据创建接口是HTTP请求方式
测试数据要求不同类型的数据,要有字段进行关联,且单据的编号在DB中唯一不可重复,此外测试数据的时间类参数做到随机分布
步骤:
- 创建线程组
- 添加HTTP请求默认值和HTTP信息头管理器
- 添加HTTP请求SAMPLER
- 对于请求参数进行参数化设置,
- 对于不能重复使用的标识类字段,使用随机数进行赋值
- 在进行参数化时,注意不同请求中的关联字段,可使用同一参数赋值,使其关联
在进行参数化设置的过程中,开始时尝试使用“用户定义的变量”,在使用过程中发现有几点需要注意,第一在设置参数时,用户定义的变量不能互相调用,无论是在“用户定义的变量”模块,还是在具体请求中,第二要注意用户定义的变量,在同一线程组中只执行一次(即如果在用户定义的变量中使用随机函数进行赋值时,在执行过程中,其实变量只进行一次随机赋值,其后不会再变)。由于在创建数据时,要求每次变量都重新赋值,故放弃此种方式,采取BeanShell的方式(注意需要使用BeanShell Sampler,而不是BeanShell PreProcessor,因为使用BeanShell PreProcessor的话,在同一线程中执行每个请求之前都会执行,对变量随机赋值,使得在不同请求中的关联字段值不相同)
- 在线程组中设置线程数和循环次数,进行测试数据创建