1. 程式人生 > >Jmeter之二:邏輯控制器學習(二)

Jmeter之二:邏輯控制器學習(二)

六、事務控制器
這裡寫圖片描述
事務控制器會生成一個額外的取樣器,測量執行巢狀測試元素所採取的整體時間。值得注意的是,這個時間包含該控制器範圍內的所有處理時間,而不僅僅是取樣器的。
對於Jmeter2.3以上的版本,有兩種模式的操作
 事務取樣器是新增到其下采樣器後面的;
 事務取樣器是作為其下采樣器的父取樣器。
生成事務取樣器的測量時間包括:取樣器以及其他的一切時間。由於時鐘頻率的問題,這個時間可能略大於單個取樣器的時間之和。時鐘開始時間介於控制器記錄開始時間與第一個取樣器開始之間,時鐘結束時間亦然。
事務取樣器只有在其子取樣器都成功的情況下才顯示成功。
在父模式下,事務控制器下的各個取樣器只有在監視器才能看到。同時,子取樣器的資料也不會在CSV檔案中顯示,但是在XML檔案中可以看到。
這裡寫圖片描述


1. 名稱:控制器的描述性名稱,顯示在左邊節點上,並用於命名事務
2. 註釋:控制器註釋資訊,非必填項
3. Generate parent sample:生成父取樣器,如果檢查,執行時生成的取樣器要作為其他取樣器的父節點,否則取樣器作為一個獨立的個體生成。
4. Include duration of timer and pre-post processors in generated sample:包括在生成的取樣器中的定時器和前處理器的持續時間
說明:
Generate parent sample 勾選中,聚合報告顯示:
這裡寫圖片描述
Generate parent sample 不勾選中,聚合報告顯示:
這裡寫圖片描述

七、交替控制器
這裡寫圖片描述
交替控制器,一次只執行其下的一個子節點(取樣器)(按順序排序執行)
這裡寫圖片描述
1. 名稱:控制器的描述性名稱,顯示在左邊節點上,並用於命名事務
2. 註釋:控制器註釋資訊,非必填項
3. 忽略子控制器塊
執行結果:
這裡寫圖片描述

八、僅一次控制器
這裡寫圖片描述
在測試計劃執行期間,該控制器下的子結點對每個執行緒只執行一次,登入經常會使用到這個控制器。
說明:將Once Only Controller作為Loop Controller的子節點,Once Only Controller在每次迴圈的第一次迭代時均會被執行。

  1. 名稱:控制器的描述性名稱,顯示在左邊節點上,並用於命名事務
  2. 註釋:控制器註釋資訊,非必填項
    例子:線上程組內設定迴圈次數和3次:執行
    這裡寫圖片描述
    Samples表明取樣器執行次數。

九、吞吐量控制器
這裡寫圖片描述
吞吐量控制器,控制其下的子節點執行次數與負載比例分配。

這裡寫圖片描述
1. 名稱:控制器的描述性名稱,顯示在左邊節點上,並用於命名事務
2. 註釋:控制器註釋資訊,非必填項
3. 選擇項:
1) Total Executions:設定執行總次數
當控制器執行了指定的執行總次數後即停止執行此控制器,吞吐量後的文字框裡表示控制器將執行的次數。
2) Percent Executions:設定執行比例(1-100之間)
通過測試計劃的總次數,使控制器執行特定的迭代次數所佔的百分比,填寫0-100的數字,表示執行的百分比。
4. 吞吐量:
1) 選擇Total Executions,錄入數值
2) Percent Executions,錄入百分比
5. Per User:
1) 勾選:會按照單獨執行緒計算吞吐量,如執行緒組設定了10個執行緒,迴圈次數為5的情況,吞吐量為2時,吞吐量的子節點每個執行緒執行一次,總共會執行20次。
2) 不勾選:按照全域性的執行數次進行計數,如執行緒組設定了10個執行緒,迴圈次數為5的情況,吞吐量為2時,吞吐量的子節點僅會執行2次。
例子:
1. 先設定執行緒組的執行緒屬性值:總共迴圈5次,共計50個執行緒
這裡寫圖片描述
2. 設定吞吐量1為按次數執行
這裡寫圖片描述
設定天吐量為2,表時吞吐量控制器下子節點共計執行2次,勾選中Per User 10個執行緒都執行。
總計次數應為20次

  1. 設定吞吐量2按設定百比例執行
    這裡寫圖片描述
    設定吞吐量為60.0%,表時吞吐量控制器下子節點共計執行6%*5為3次,勾選中Per User 10個執行緒都執行。
    總計次數應為30次
  2. 執行結果檢視:
    這裡寫圖片描述

十、如果(If)控制器
這裡寫圖片描述
根據給定表示式的值決定是否執行該節點下的子節點,預設使用javascript的語法進行判斷
這裡寫圖片描述
1. 名稱:控制器的描述性名稱,顯示在左邊節點上,並用於命名事務
2. 註釋:控制器註釋資訊,非必填項
3. 條件:填寫條件判斷語句,注意如果是字串一點要在引數前加引號。返回“真”或“假”。
4. Interpret Condition as Variable Expression?:
勾選中:填寫條件必須是一個表示式 且值為“True”
5. Evaluate for all children?:
勾選中:每個子結點執行前都會計算表示式