前言
大家在使用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 '"';
八:查看運行結果