在日常的功能測試或者效能測試的時候,需要把結果中指定的資料儲存到指定的檔案,進行使用,發現 jmeter 自帶的檔案寫入,沒有自己需要的,預設只支援 xml 的結果儲存,那麼接下來我們圍繞 beanshell 來實現這個功能。
一、儲存介面返回指定的資料
二、從資料庫用 sql 語句取資料,儲存結果到指定檔案中
介面:登入
需求:提取 token 值
新建 http 請求
請求返回的結果,這裡直接用 json 顯示:
新建 json 提取器
除錯,看有沒有獲取到值
新增 debug sampler
執行,檢視 debug sampler 響應資料裡面 token 有沒有取到值
新增 beanshell 取樣器
上**//指定需要寫入到哪個檔案,格式:txt,csv
filewriter file = new filewriter("d:\apache-jmeter-5.0\token_num.txt",true);
//建立乙個字元快取輸出流
bufferedwriter out = new bufferedwriter(file);
//寫檔案內容
獲取 jmeter 中的變數值
out.write(vars.get("token")+"\n");
//關閉寫資料流
out.close();
//關閉檔案
執行,可以迴圈多次寫入資料
需求:用 sq 語句查詢出資料,儲存結果到檔案中
新增 sql 語句的配置元件
新增 sql 語句取樣器
--提取 token 的值,並指定 token 輸出的左邊界值,這裡取出 5 行資料
select concat('"token_num":',token,'') from cb_account limit 5
新增正規表示式,提取 sql 執行之後返回的結果值
引用名稱:token_num
正規表示式:"token_num":(.+)
模板:$1$
匹配數字:-1 (取出所有的值)
除錯,看有沒有獲取到值
新增 debug sampler
執行,可以看到獲取到了所有的查詢結果
可以看到在引用變數後面加上數字,從 2 開始,那麼下面要怎麼做呢?
新增 beanshell 取樣器
**://指定需要寫入到哪個檔案,格式:txt,csv
filewriter fstream = new filewriter("d:\apache-jmeter-5.0\token_num.csv",true);
//建立乙個字元快取輸出流
bufferedwriter out = new bufferedwriter(fstream);
//返回的結果有值從數字 2 開始,一共有 5 次,那麼我們這裡就小於等於 6
for(int num=2; num<=6; num++)
out.close();
fstream.close();
執行檢視結果:
本文由檸檬班庫里
,可以加q群領取學習資料:753665853備註:csdn
Jmeter如何把響應資料的結果,儲存到本地檔案
當做效能壓測時,可能會需要把響應資料的一些字段統計出來。這裡簡單介紹一下。1 首先把介面調通,確定需要統計的字段,這裡以統計ccmpseq欄位來做例子。2 新增正規表示式提取器,用來提取響應結果中的ccmpseq 正規表示式用 包起來,如http請求完成後的響應資料 我們只需要統計ccmpseq,所...
輕鬆搞定資料訪問層
下面實現的方法,可以把你從sql的add,delete,update,select的重複勞動解脫出來 1。實體類2。訪問類 現在以下表為例tblperson perid,pername,pergender,perold,pernation 實體類person idnamegenderoldnatio...
SpringBoot 輕鬆搞定資料驗證 二
正則可讀性不好 正則門檻較高,很多開發者並不會編寫正規表示式 author ray date 2018 7 4 0004 自定義註解 field 約束相關的屬性 parameter 約束相關的引數 target 約束註解應用的目標元素型別 retention retentionpolicy.runt...