JMeter-把指定数据写入Execl
前言
大家在使用JMeter的工作中,很多人都习惯用execl表格写测试用例,就想着读取表格中的数据,然后再把运行的结果写到表格中。今天我们就来学习一下如何将指定数据写入Execl表格中吧!
一:添加HTTP默认请求和CSV数据文件设置
测试数据文件:
二:添加setUp线程组,添加JDBC Connection Configuration,配置好数据库信息
三:在setup线程组中,添加一个JDBC Request,用于创建表。因为,我们创建表只需要执行一次,并不需要执行多次,所有也可以放在setup线程组中。此时的‘仅一次控制器’,可加可不加。
CREATE TABLE IF NOT EXISTS runresult( user varchar(16),
pwd varchar(12), code varchar(10), msg varchar(32), data varchar(128) )ENGINE=InnoDB DEFAULT CHARSET=utf8;
四:添加线程组(设置循环5次),添加登录HTTP请求,写入正确的接口地址和参数
五:在登录HTTP请求后添加后置处理器-JSON提取器(正则表达式提取器也可以)
注:json提取器,一次提取多个,中间用分号,同时matchNo和DefaultValue值;还有,一次提取整个Response的json全部信息,单独用个$即可。
六:添加JDBC Request请求,把我们响应的信息,写到数据库中
注:sql语句,不建议大家用占位符的写法,因为json串的 { 在脚本中,会导致异常,需要特殊处理。因脚本中没有写表字段,所以要与创建表时,位置对应,否则,数据就会插错字段。
insert into runresult values('${mobile}','${passwd}','${code}','${msg}','${response}');
七:添加一个JDBC Request请求,导出数据文件,因为这个我们也只需要执行一次,不需要方法执行,所以我们可以添加一个teardown线程组。
select * from runresult into outfile "/var/lib/mysql-files/result.xlsx" FIELDS TERMINATED BY "\t" ENCLOSED BY '"';
八:查看运行结果