輕鬆搞定把jmeter結果資料寫入到指定檔案

2021-10-09 21:21:20 字數 2588 閱讀 1889

在日常的功能測試或者效能測試的時候,需要把結果中指定的資料儲存到指定的檔案,進行使用,發現 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...