1. 程式人生 > >JMeter工具Day1基礎知識之使用命令列生成html報告

JMeter工具Day1基礎知識之使用命令列生成html報告

JMeter執行方式有2種,一種是GUI模式,一種是NO-GUI模式。GUI模式就是介面模式,NO-GUI模式就是命令列模式。介面模式主要用來編寫和除錯指令碼用的,專案的真正執行最好是採用命令列模式,因為採用命令列模式可以和持續整合或者其它框架進行對接,做成自動化迴歸測試平臺。我們可以拿jmeter介面當做學習工具或者當做指令碼開發和除錯工具,如果採用介面模式做正式執行,那麼這樣的過程一定不是自動化的過程,是半手工半自動化的過程,這樣我們就成為不了一個真正的介面自動化測試人員。命令列執行模式,具有更加靈活和強大的功能,能完成更多的高階用法。在真正的專案執行過程中,無論是介面自動化測試,還是介面效能測試,我個人採用的全都是命令列執行模式。

今天要講的是如何將一個用介面編寫好的指令碼,使用命令列執行,然後使用命令列生成的執行日誌檔案轉化為html報告。些功能,都是JMeter3.0更高版本自帶的功能,使用起來特別方便,而且報告也非常直觀,圖形化報表也美觀。

個人建議:我們在學習工具的時候,從簡單入手、從介面入手沒有錯誤,但是學完了簡單的用法,依然需要向更高階的功能拓展,否則達不到真正理解和精通一款工具的目的。是否會靈活熟練使用命令列模式去執行jmeter任務,是用來判斷你熟悉jmeter的考核點之一,也是用來判斷你使用jmeter所處的階段:個人學習式、小作坊式、正規專案級模式。

命令列詳解:

以下操作是在windows上演示的,

windows和linux上唯一的區別在於,windows的執行入口為jmeter.batlinux上執行入口為jmeter.sh命令列本身的屬性和引數都是一致的,並沒有其它任何差異,因為jmeter本身是一個100%純java編寫的程式,是跨平臺的

下面是我儲存指令碼的目錄結構,大家可以參考我前面編寫的《JMeter工具基礎知識篇-工程目錄結構及命名規範如何建立規範點工程目錄名稱。

接下來,我使用命令列,兩步報告生成出來。第一步使用命令列執行指令碼並生成日誌檔案,第二步是使用命令行將生成的日誌檔案轉化為html報告。

jmeter命令列執行】

執行命令如下:

jmeter -n -t D:\SvnProject\test01\firstJmeterProject\script\baidu_test.jmx -l D:\SvnProject\test01\firstJmeterProject\result\jtl\baidu_test-debug-2-0-10-001.jtl -j D:\SvnProject\test01\firstJmeterProject\result\jtl\baidu_test-debug-2-0-10-001.log

執行過程如下:

執行後生成的日誌檔案如下:

jmeter命令列生成報告】

報告生成命令如下:

jmeter -g D:\SvnProject\test01\firstJmeterProject\result\jtl\baidu_test-debug-2-0-10-001.jtl -o D:\SvnProject\test01\firstJmeterProject\result\html\

執行過程如下:

執行後生成的報告如下:

開啟index.html就可以檢視報告了

【命令列使用特別說明

1、 命令執行時生成的日誌檔案的格式一定要設定為csv格式,參考jmeter.properties檔案中的屬性jmeter.save.saveservice.output_format=csv

如果執行的日誌不是csv格式,如果被設定為了xml格式,轉化報告的時候,會報以下錯誤:

2、 報告生成命令列設定的輸出路徑是一個空目錄

我碰到很多人在這兒掉坑裡了,這句話包含兩層意思

1這個路徑是一個目錄的全路徑,注意,目錄的路徑,不是檔案路徑

2這個目錄是個空目錄,也就是說不包括任何檔案和子目錄。如果此目錄不為空,生成的時候報以下錯誤:

檢視日誌檔案可以清楚的知道錯誤提示資訊:

總結:IT是一門實踐性很強的學科,看完了文章,一定要多動手練練,否則看似很簡單的內容,當你真正去實踐的時候遇到各種坑,只要實踐的過程中,理論結合實踐,讓自己的工作效率越來越高,解決問題的能力越來越強,經驗也越來越豐富。

備註:只講乾貨,將知識的本質和原理輔以例子,讓你學起來知其然並且知其所以然,讓你一次的學習解決一類知識點!讓我們一起學習並快樂著。如果覺得好,請動動手指轉發吧,做一個知識的傳播者,share knowledge with the world