測試工程師們,每天早下班1小時的技巧來了~


使用過 jmeter 的同學,應該都會使用監聽器,在每個監聽器中,都會有一個“所有數據寫入一個文件”的功能,那這個功能應該怎么用呢?今天,我們就來講講這個功能的使用。

幾乎所有的監聽器都有這樣一個功能。

那對於這個監聽器都帶有的功能,到底該怎么用呢?

點擊“瀏覽”按鈕,會彈出系統的文件選擇窗口

我們可以從彈窗的文件類型中看到,支持的文件類型有三種:XML、jtl、CSV。 

其實,jmeter 還支持一種:.db 只是,這種類型很少被用了。

也就是說,我們選擇寫入的文件類型有三種選擇。其中,CSV 是 jmeter 目前版本默認的。可以在jmeter.properties文件中,找到“jmeter.save.saveservice.output_format=”參數的值。 

自己選擇一個路徑,可以選擇一個已經存在的文件,也可以自己創建一個空文件,不過,建議使用空文件,因為,在jmeter默認參數配置時,

"resultcollector.action_if_file_exists=ASK",如果文件已經存在,就會彈窗提示。

 

當然,也可以自己修改為“APPEND” 自動追加到文件末尾、“DELETE”自動刪除原文件再創建新文件。

默認情況下,CSV 文件,保存的字段有 (jtl 文件也相同)

timeStamp   elapsed label   responseCode    responseMessage threadName  dataType    success failureMessage  bytes   sentBytes   grpThreads  allThreads  URL Latency IdleTime    Connect
字段 信息
timeStamp 時間戳 如:1634187509448
elapsed 耗時,單位:ms 毫秒
label

取樣器名稱 如:HTTP request

responseCode

響應代碼 如:200

responseMessage

響應消息 如:OK
threadName 線程名稱 如:線程組 1-1
dataType 數據類型 如:text
success 成功與否 如:true
bytes 樣本中的字節數
sentBytes 發送樣本的字節數
grpThreads 此線程組中的活躍線程數
allThreads 所有線程組中的活躍線程數
URL 取樣器請求地址
Latency 延遲耗時
IdleTime 空閑時間 單位:ms毫秒
Connect 建立連接的時間

細心的朋友,應該從這個圖表中可以發現,這個 CSV 中是沒有 request-body 和 response-body 的,也就是說,請求和響應的一些數據是沒有寫入文件的。這些數據,主要是在做性能分析生成圖表的時候使用的。

那到底怎么用呢?

如果你使用的是圖形界面 jmeter,你可以在 jmeter 中,任意一個監聽器中,點擊“瀏覽”,選擇你的 CSV 或 jtl 文件,如你使用“查看結果樹” 元件

或者使用“聚合報告” 元件:

 

就能看到運行的結果,以及統計分析報告。

但是,因為他是 CSV 文件或 jtl 文件,還是有一些不足的。首先,CSV 文件,是不會保存請求體和響應結果相關的數據,所以,在使用“查看結果樹” 元件來查看時,request body, request headers,response body, response headers 中都是沒有數據的。然后,就是,如果 CSV 文件或 jtl 文件有大幾十 M 或幾百 M,在使用“查看結果樹” 元件查看時,可能會導致 jmeter 無響應。

在 jmeter5.1.1 版本開始,如果你使用的圖形界面,你也可以把 CSV 文件或 jtl 文件,生成 HTML 報告。

點擊第 1 個“瀏覽”,選擇 CSV 文件或 jtl 文件,點擊第 2 個“瀏覽” ,選擇 jmeterbin 文件夾中的 jmeter.properties 或 user.properties 文件,點擊第 3 個“瀏覽”, 選擇一個空文件夾,然后點擊最底部的 “Gererate report” 按鈕,就可以生成 HTML 到你選擇的空文件夾中。

 

如果,你使用的是無圖形界面 jmeter,可以使用 jmeter -g xxxx.jtl -e -o xxxempty_dict “xxxx.jtl” 可以是你的 CSV 文件也可以是 jtl 文件, "xxxempty_dict" 就是你把生成 HTML 放的空文件夾名稱。

默認的 CSV 或 jtl 文件,沒有保存請求體和響應相關數據,那有沒有什么辦法解決呢?

我們可以通過下面兩種方法:

選擇一個空的 XML 文件,然后,點擊 “配置”按鈕,在彈窗中,選中“Save As XML” “Save Response Data(XML)” “Save Sampler Data(XML)” 三個復選框,然后,點擊”完成“

這樣,請求體和響應相關數據,就都保存到了 XML 文件中。

注意:

1、想要保存請求體和響應相關數據,文件必須為 XML 格式,必須構想 Save As XML

2、Save Sampler Data(XML)會保存請求的 cookie、請求方法、請求體

也可以選擇一個空 XML 文件,然后,點擊 “配置”按鈕,在彈窗中,選中“Save As XML” ,點擊”完成“, 然后,點擊 ”測試計划“中的 ”函數測試模式“

用這兩種方法生成的 XML 文件,就都包含了請求體和響應相關數據,在 jmeter 圖形界面中,選擇”查看結果樹“,點擊選擇寫入文件的瀏覽,打開 XML 文件,這個時候,我們查看到請求 和 響應的詳細信息。

用這兩種方法生成的 XML 文件,就都包含了請求體和響應相關數據,在 jmeter 圖形界面中,選擇”查看結果樹“,點擊選擇寫入文件的瀏覽,打開 XML 文件,這個時候,我們查看到請求 和 響應的詳細信息。

注意:

XML 文件不能像 CSV、jtl 文件一樣生成 HTML 報告,它要生成報告,需要與 ant 集成。

前面,我們都是講的在 jmeter 圖形界面中,把數據寫入文件,我們也可以通過采用無圖形界面的 CLI 命令來生成 CSV 或 jtl 文件。

jmeter -n -t xx.jmx -l xxx.jtl -e -o xxxxempty_dict

xx.jmx 是 jmeter 腳本,xxx.jtl 或 xxx.csv 是生成的文件,xxxxempty_dict 是結果轉換為的 HTML 文件。

完整文件

關於以上知識點的掌握肯定是需要自己多花時間和精力的,這些學習資料和學習教程你可以點至公告處查看右邊側欄下載,還有很多的教程,大佬的講解非常詳細,能夠幫助你快速理解與掌握。

💙好文推薦

推薦👍:《月薪3萬的大廠測試工程師裸辭3個月,送外賣謀生背后的真實感悟》

推薦👍:《我不用“996”,更不用“007”,可我賺的就是比你多》

推薦👍:《軟件測試人員必讀的經典書籍(附電子書),前阿里大佬給我推薦...》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM