邏輯控制器能夠幫助用戶控制Jmeter的測試邏輯,特別是什麼時候發送請求。邏輯控制器能夠改變其子測試元件的請求執行順序。正則表達式
(1)若是(if)控制器服務器
用法一:post
審覈人員,數據分爲兩處:測試
(1)編制人員提交上來的spa
(2)簽發人員駁回過來的線程
此時使用「若是控制器」,先查詢出待審覈報告,返回數據爲{"total":0,"rows":[]},使用正則表達式取出total值,取出的值爲0,則執行」若是控制器」裏的查詢,得到被駁回的數據blog
用法二:排序
若是(if)控制器 + 用戶定義的變量 一塊兒使用接口
線程組--->(右鍵)添加 --->配置元件 --->用戶定義的變量 事務
用戶定義的變量做用範圍:當前的線程組內因此取樣器均可以引用變量,特殊說明,服務器ip地址和端口號以及接口共同的請求路徑部分,做爲變量引用時,須要在路徑填充表格的最前面添加兩個斜槓「//」,否則會引用失敗的。
(2)僅一次控制器
在測試計劃執行期間,該控制器下的子結點對每一個線程只執行一次,登陸常常使用這個控制器。好比,編制人員,一次登陸上去,屢次編制提交報告
(3)ForEach控制器(循環控制器)
ForEach控制器在用戶自定義變量中讀取一系列相關的變量。該控制器下的採樣器或控制器都會被執行一次或屢次,每次讀取不一樣的變量值。因此ForEach老是和User Defined Variables(用戶自定義變量)一塊兒使用。
(4)事務控制器
事務控制器會生成一個額外的採樣器,測量執行嵌套測試元素所採起的總體時間。值得注意的是,這個時間包含該控制器範圍內的全部處理時間,而不單單是採樣器的。
對於Jmeter2.3以上的版本,有如下兩種模式的操做:
(1)事務採樣器是添加到其下采樣器後面的
(2)事務採樣器是做爲其下采樣器的父採樣器。
(5)Switch Controller(開關控制器)
Switch控制器經過給該控制器中的Value賦值,肯定要運行哪一個採樣器。
有兩種賦值方式:(1)數值,switch控制器下子節點從0開始計數排序,經過指定子節點所在的數值來肯定執行的取樣器。(2)取樣器名稱,以採樣器的名稱來進行匹配。
說明:當指定的名稱不存在時,不執行任何元素。
(6)Runntime Controller(運行時控制器)
運行控制器,控制其下節點線程被運行時間。
(7)Include Controller(包含控制器)
包含控制器用於使用外部的Jmx文件。
注意說明:包含測試的測試計劃中不能有線程組,僅僅只能有simple controller ,而後其下能夠添加任何採樣器,控制器。
(8)交替控制器
一次只執行其下的一個子節點(採樣器)(按順序排序執行)