中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jmeter學習指南之快速玩轉16個邏輯控制器

發布時間:2020-08-11 12:36:02 來源:網絡 閱讀:1977 作者:小強測試 欄目:軟件技術

1今日主題:詳解jmeter邏輯控制器


Jmeter邏輯控制器(Logic Controller)介紹:

1、 Jmeter官網對邏輯控制器的解釋是:“Logic Controllers determine the order in which Samplers are processed.”。

意思是說,邏輯控制器可以控制采樣器(samplers)的執行順序。由此可知,控制器需要和采樣器一起使用,否則控制器就沒有什么意義了。放在控制器下面的所有的采樣器都會當做一個整體,執行時也會一起被執行。

2、JMeter中的Logic Controller分為兩類:

  •   控制測試計劃執行過程中節點的邏輯執行順序,如:Loop  Controller、If Controller等;

  • 對測試計劃中的腳本進行分組、方便JMeter統計執行結果以及進行腳本的運行時控制等,如:Throughput Controller、Transaction Controller。

3、Jmeter提供如下這么多的控制器:

jmeter學習指南之快速玩轉16個邏輯控制器

jmeter學習指南之快速玩轉16個邏輯控制器


2jmeter控制器之一


一、簡單控制器(Simple Controller):

作用:這是Jmeter里最簡單的一個控制器,它可以讓我們組織我們的采樣器和其它的邏輯控制器(分組功能),提供一個塊的結構和控制,并不具有任何的邏輯控制或運行時的功能。


二、循環控制器(Loop Controller):

作用:指定其子節點運行的次數,可以使用具體的數值(如下圖,設置為5次),也可以使用變量

jmeter學習指南之快速玩轉16個邏輯控制器

1、Forever選項:勾選上這一項表示一直循環下去

2、如果同時設置了線程組的循環次數和循環控制器的循環次數,那循環控制器的子節點運行的次數為兩個數值相乘的結果。


三、僅一次控制器(Once Only Controller):

作用:在測試計劃執行期間,該控制器下的子結點對每個線程只執行一次,登錄場景經常會使用到這個控制器。

注意:將Once Only Controller作為Loop Controller的子節點,Once Only Controller在每次循環的第一次迭代時均會被執行。


四、ForEach控制器(ForEach Controller):

作用:ForEach控制器一般和用戶自定義變量一起使用,其在用戶自定義變量中讀取一系列相關的變量。該控制器下的采樣器或控制器都會被執行一次或多次,每次讀取不同的變量值如下圖:

jmeter學習指南之快速玩轉16個邏輯控制器

參數:

· Input Variable Prefix:輸入變量前綴

· Output variable name:輸出變量名稱

· Start index for loop(exclusive):循環開始的索引(這里如果不填寫,默認從1開始,如果沒有1開始的變量,執行時會報錯

· End index for loop(inclusive):循環結束的索引

· Add”_”before number:輸入變量名稱中是否使用“_”進行間隔。


用戶自定義變量:

變量名前綴為ForEach ControllerInput variable prefix定義的name + 下劃線(上圖中我們勾選了下劃線)+數字編號

jmeter學習指南之快速玩轉16個邏輯控制器

執行結果:

總共執行了3次,每次執行時會把獲取到的變量值賦值給輸出變量outNmae其它地方可以通過${outNmae}進行調用。

jmeter學習指南之快速玩轉16個邏輯控制器


五、事務控制器(Transaction Controller):

作用:事務控制器會生產一個額外的采樣器,用來統計該控制器子結點的所有時間

· 應用場景完成一個完整的頁面請求或一組請求

jmeter學習指南之快速玩轉16個邏輯控制器

參數:

  • Generate parent sample:勾選后,所有的結果將在父結點中展示(選中這個參數結果展示如下圖紅框,否則顯示為下圖藍框)

  • Include duration of timer and pre-post processors in generated sample:選中這一項會統計定時器(timer)的時間,否則只統計采樣器(sample)的時間

jmeter學習指南之快速玩轉16個邏輯控制器


3jmeter控制器之二


六、If 控制器(If Controller):

作用:根據給定表達式的值決定是否執行該節點下的子節點,默認使用javascript的語法進行判斷(如下圖紅框內的文字)

jmeter學習指南之快速玩轉16個邏輯控制器

參數:

  • Interpret Condition as Variable Expression?:選中這一項時表示:判斷變量值是否等于字符串true(不區分大小寫)

  • Evaluate for all children:如果選中這一項,在每個子結點執行前都會計算表達式 

示例一:使用變量表達式的方式進行判斷:

jmeter學習指南之快速玩轉16個邏輯控制器

示例二:選中Interpret Condition as Variable Expression?,使用變量的方式判斷

jmeter學習指南之快速玩轉16個邏輯控制器

jmeter學習指南之快速玩轉16個邏輯控制器


七、Switch控制器(Switch Controller):

作用:Switch控制器通過給該控制器中的Value賦值,來指定運行哪個采樣器。有兩種賦值方式:

· 第一種是數值,Switch控制器下的子節點從0開始計數,通過指定子節點所在的數值來確定執行哪個元素。

· 第二種是直接指定子元素的名稱,比如采樣器的Name來進行匹配。當指定的名稱不存在時,不執行任何元素。

Value為空時,默認執行第1個子節點元素。 

示例:

1Switch Controller選擇的值為login page

jmeter學習指南之快速玩轉16個邏輯控制器

2、執行結果:

jmeter學習指南之快速玩轉16個邏輯控制器


八、吞吐量控制器(Throughput Controller):

作用:控制其下的子節點的執行次數與負載比例分配,別被名字迷惑了,跟吞吐量沒任何關系。也有兩種方式:

jmeter學習指南之快速玩轉16個邏輯控制器

  • Total Executions:設置運行次數,整個測試計劃中總計執行次數

  • Percent Executions:設置運行比例(1~100之間),整個測試計劃中總計執行百分比

  • Throughtput: 設計的數值

  • Per User: 依據網上的說明在選擇Total Executions時,勾選時會在每個線程中執行的次數。但在3.0版本中嘗試使用無效 

示例:

1、設置線程組循環5次:

jmeter學習指南之快速玩轉16個邏輯控制器

2Throughput Controller1的子結點執行3次:

jmeter學習指南之快速玩轉16個邏輯控制器

3Throughput Controller2的子結點執行(40% * 線程組循環次數5= 2次:

jmeter學習指南之快速玩轉16個邏輯控制器

執行結果:

jmeter學習指南之快速玩轉16個邏輯控制器


九、隨機控制器(Random Controller):

作用:隨機執行其下的某個子結點,隨機選擇控制器中的請求進行執行

  應用場景頁面的隨機訪問

配置說明:ignore sub-controller blocks: 忽略子控制器 


十、隨機順序控制器(Random Order Controller):

作用:隨機執行其下的所有子結點

· Random Controller不同的是,這個控制器會先將需要隨機的內容均執行一遍,但次序不定

· 應用場景頁面的隨機訪問,但均需要訪問,且次序不限


4jmeter控制器之三


十一、Critical Section Controller 關鍵部分控制器

作用:用于核心部分的控制,確保其子節點下的取樣器或控制器在一個線程中僅會執行一次

應用場景用戶登錄

配制說明

· Lock name: 鎖名稱,這里可以填入其子節點下執行的線程的名稱,這個線程作為一個全局鎖存在

jmeter學習指南之快速玩轉16個邏輯控制器


十二、Include Controller 引用外部測試計劃控制器

  • 應用場景測試過程中,需要引用外部的測試計劃

  • 配制說明

    · Include Test Plan-Filename: 選擇需要引入的外部測試計劃文件 

jmeter學習指南之快速玩轉16個邏輯控制器


十三、Interleave Controller 間隔控制器

  也稱交替控制器,使得該控制器包含的取樣器步驟交錯執行在每個循環中,每個線程用戶僅執行一次控制器內的請求,線程用戶依據循環的次數請求控制器中的請求數

配制說明:ignore sub-controller blocks是否忽略子控制器 

jmeter學習指南之快速玩轉16個邏輯控制器


十四、Module Controller 模塊控制器

· 模塊控制器,用于跳轉到選定的控制器位置并執行對應的控制器

· 應用場景業務邏輯的跳轉

· 配制說明

· Module to Run: 選擇需要跳轉到的目標控制器 

jmeter學習指南之快速玩轉16個邏輯控制器

尋找目標元素(Find target element)

  • 尋找測試計劃中需要特定測試的元素,模塊;也可理解為該控制器可以控制已經封裝好的模塊元素

  • 一個測試計劃由一個控制器和所有的測試元素(取樣器等)組成,測試計劃可以位于任何線程組或工作臺;如果計劃位于線程組,則可以禁用其他控制器,防止正在運行的測試計劃被影響(除了模塊控制器)

  • 模塊控制器的優勢在于:當存在多個線程組時,該控制器可以輕松切換,只需要選擇對應的取樣器,方便快捷,替代了創建很多測試計劃的繁瑣操作

  • 任何一個模塊所用的控制器名字必須唯一,因為其名字被用來找到目標控制器時重新加載;出于這個原因,最好保證控制器名字不同,否則執行測試時候可能發生意外

  • 模塊控制器與遠程測試不應使用或非gui測試與工作臺部件,因為工作臺測試元素并沒有測試計劃的一部分 jmx 文件。 任何這樣的測試就會失敗


十五、Runtime Controller 運行時間控制器

· 運行時間控制器,設置控制器中的請求運行時間,單位:秒

· 應用場景對業務請求時間進行限制

· 配制說明

· Runtime(seconds): 配制需要設置的運行時間,單位秒 

jmeter學習指南之快速玩轉16個邏輯控制器


十六、While Controller 循環控制器

· 循環控制器,與開發語言中的While功能一致。直到條件為false時,停止運行

· 應用場景循環執行一個請求,僅判斷一種狀態下退出循環

· 配制說明

· Condition(function or variable): 可配制為空/LAST/變量或方法 

jmeter學習指南之快速玩轉16個邏輯控制器

可能的條件值有:

  • 空:最后一個示例循環失敗時退出循環

  • LAST:最后一個示例循環失敗時退出循環。 如果之前的最后一個示例只是循環失敗,不進入循環。

  • false:退出時(或不輸入)循環條件等于字符串“  ”

  • 條件可以是任何變量或函數,最終等于字符串”  ”。需要注意的是:條件是評估兩次,一次取樣前,一次隨機取樣


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

贵德县| 鄄城县| 广元市| 剑河县| 辛集市| 舟曲县| 兴安县| 吴江市| 马关县| 金坛市| 宁明县| 额济纳旗| 紫金县| 永和县| 陆丰市| 韩城市| 磐石市| 新宁县| 荔浦县| 东兰县| 左贡县| 稻城县| 湾仔区| 米脂县| 乐山市| 漳州市| 东阳市| 环江| 建昌县| 东乌珠穆沁旗| 台南市| 柞水县| 名山县| 吉安市| 昆山市| 仪陇县| 双城市| 西乌珠穆沁旗| 江城| 徐汇区| 盐津县|