使用 JMeter 就一定需要創(chuàng)建一個測試計劃(Test Plan),每一個測試都需要在測試計劃中描述。
本篇文章接第一篇JMeter -- Getting Started.
2. Building a Test Plan
測試計劃描述JMeter運行時將執(zhí)行的一系列步驟。一個完整的測試計劃將由一個或多個線程組( Thread Groups)、邏輯控制器(logic controllers)、示例生成控制器(sample generating controllers)、監(jiān)聽器(listeners)、計時器(timers)、斷言(assertions)和配置元素(configuration elements)組成。
問題:一個測試計劃有多個線程組的目的是什么,可以滿足哪些場景?
注意:這里所說的各種 controllers 都是下文將要講到的元素(Elements)之一。



?
2.1 添加和刪除元素(Adding and Removing Elements)
向測試計劃添加元素可以通過右鍵單擊樹中的一個元素并從“添加(add)”列表中選擇一個新元素來完成。或者,可以通過選擇“合并(merge)”或“打開(open)”選項從文件中加載和添加元素。
要刪除一個元素,請確保選中了該元素,右鍵單擊該元素,并選擇“刪除(remove)”選項。
?
2.2加載和保存元素(Loading and Saving Elements)
要從文件中加載元素,右鍵單擊要向其添加已加載元素的現(xiàn)有樹元素,并選擇“merge”選項。選擇保存元素的文件。JMeter將把元素合并到樹中。
要保存樹元素,右鍵單擊一個元素并選擇“save Selection As…(保存測試計劃為...)”選項。JMeter將保存選中的元素,以及它下面的所有子元素。通過這種方式,您可以保存測試樹片段和單個元素供以后使用。


?
2.3配置樹元素(Configuring Tree Elements)
測試樹中的任何元素都將在JMeter的右邊框架中顯示控件。這些控件允許您配置特定測試元素的行為??梢詾樵嘏渲檬裁慈Q于元素的類型。
The Test Tree itself can be manipulated by dragging and dropping components around the test tree.
可以通過在測試樹周圍拖放組件來操縱測試樹本身。

?
2.4保存測試計劃(Saving the Test Plan)
雖然不是必需的,但是我們建議您在運行測試計劃之前將它保存到一個文件中。要保存測試計劃,請從文件菜單中選擇“save”或“save Test Plan As…”(對于最新版本,不再需要首先選擇測試計劃元素)。
JMeter allows you to save the entire Test Plan tree or only a portion of it. To save only the elements located in a particular "branch" of the Test Plan tree, select the Test Plan element in the tree from which to start the "branch", and then click your right mouse button to access the "Save Selection As …" menu item. Alternatively, select the appropriate Test Plan element and then select "Save Selection As …" from the Edit menu.
JMeter允許您保存整個測試計劃樹,或者只保存其中的一部分。要僅保存位于測試計劃樹的特定“分支”中的元素,請選擇要從其中開始“分支”的測試計劃元素,然后單擊鼠標右鍵訪問“save Selection As…”菜單項?;蛘?,選擇適當?shù)臏y試計劃元素,然后從編輯菜單中選擇“Save Selection As…”。
?
2.5 執(zhí)行測試計劃(Running a Test Plan)
要運行測試計劃,請從“run(運行)”菜單項中選擇“Start(啟動)”(Control + r)。當JMeter運行時,它在菜單欄下的區(qū)域右邊顯示一個綠色的小框。你也可以檢查“運行”菜單。如果“Start”被禁用,“Stop”被啟用,那么JMeter正在運行您的測試計劃(或者,至少,它認為是這樣)。
綠色框左邊的數(shù)字是活動線程數(shù)/線程總數(shù)。這些只適用于本地運行的測試;它們不包括使用客戶機-服務器模式時在遠程系統(tǒng)上啟動的任何線程。
只有在調(diào)試測試計劃時才應該使用這里描述的GUI模式。要運行真正的負載測試,請使用非GUI(NON-GUI)模式。
?
2.6 Stopping a Test
菜單上有兩種停止命令:
Stop(Control+.)-如果可能,立即停止線程。許多采樣器都是可中斷的,這意味著可以盡早終止活動樣本。stop命令將檢查所有線程是否在默認超時(即5000 ms = 5秒)內(nèi)停止。[可以使用JMeter屬性jmeterengine.threadstop.wait來更改這一點。如果線程沒有停止,則顯示一條消息。停止命令可以重試,但如果失敗,則需要退出JMeter來清理。
Shutdown(Control +,)——請求線程在當前工作結束時停止。不會中斷任何活動樣本。模式關閉對話框?qū)⒈3只顒訝顟B(tài),直到所有線程都停止。
如果關閉時間太長。關閉關閉對話框并選擇Run/Stop,或僅按Control + .。
在非gui模式下運行JMeter時,沒有菜單,JMeter不響應諸如Control +.等按鍵。因此JMeter非gui模式將偵聽特定端口上的命令(默認為4445,參見JMeter屬性jmeterengine.nongui.port)。如果使用的是缺省端口(例如另一個JMeter實例),JMeter支持自動選擇備用端口。在這種情況下,JMeter將嘗試下一個更高的端口,直到它到達默認為4455的JMeter屬性jmeterengine.nongui.maxport)。如果maxport小于或等于端口,則不會進行端口掃描。
選擇的端口顯示在控制臺窗口中。
目前支持的命令如下:
- 關閉(Shutdown)——優(yōu)雅的關閉
-
StopTestNow——立即關閉
Stop&Shutdown
可以使用shutdown[.cmd|]發(fā)送這些命令。sh)或stoptest .cmd |。sh腳本分別。這些腳本可以在JMeter bin目錄中找到。只有在腳本從同一個主機運行時,才能接受這些命令。
?
2.7 錯誤報告 (Error reporting)
JMeter向JMeter.log文件報告警告和錯誤,以及測試運行本身的一些信息。JMeter顯示在JMeter.log文件中發(fā)現(xiàn)的警告/錯誤數(shù)量,在窗口右邊的警告圖標(三角形)旁邊。單擊警告圖標,就可以顯示jmeter窗口底部的jmeter.log文件。只是偶爾會出現(xiàn)JMeter無法捕獲和記錄的錯誤;這些將出現(xiàn)在命令控制臺上。如果測試的行為不像您期望的那樣,請檢查日志文件,以防報告任何錯誤(例如,函數(shù)調(diào)用中的語法錯誤)。
在日志文件中通常不報告抽樣錯誤(例如沒有找到的HTTP 404文件)。相反,它們作為示例結果的屬性存儲。示例結果的狀態(tài)可以在不同的監(jiān)聽器(Listeners)中看到。
