日常工作中,无论是在做功能测试、接口测试还是性能测试,经常会有这么一个场景出现,“那个谁谁谁,帮我加几条订单”,“那个某某某,给购物车增添几个产品”,“在数据库加几百条数据”。。。等等,通常少数量,或者能够人为解决的就人工解决,那么如果是数量比较大,数万条数据,总不可能一条一条进行增添吧?
So,在造数据这块通常能够想到的便是数据库通过“存储过程”来进行增添,或者外部程序or工具,Jmeter当然也支持的,做的小Demo:
原件:JDBC连接池
计数器
JDBC Request
具体配置前面的文章已经提到过,此处不再解释
线程组加入循环次数
OK,100条数据批量增添,且主键不重复。
直接运行
可以看到数据库中的数据已经增添成功了!
当然,Jmeter总归是测试工具进行批量增添,Jmeter自身也比较耗机器性能,因此有些情况也需要使用存储过程。
因此,再记一个批量造数据的第二种方法--“存储过程批量造数据”:
DELIMITER $$
drop procedure if exists proc_auto_insertdata$$
create procedure proc_auto_insertdata ()
BEGIN
declare init_data int;
set init_data=1;
while init_data <=20000 DO
insert into users values (init_data,concat('用户-',init_data));
set init_data=init_data+1;
end while;
END$$