qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          jmeter之邏輯控制器

          測試片段(Test Fragment)

           

            測試片段是在2.5版本之后新加的一個選項。

            測試片段元素是控制器上的一個種特殊的線程組,它在測試樹上與線程組處于一個層級。它與線程組有所不同,因為它不被執行,除非它是一個模塊控制器或者是被控制器所引用時才會被執行。

          ForEach控制器

          ForEach控制器在用戶自定義變量中讀取一系列相關的變量。該控制器下的采樣器或控制器都會被執行一次或多次,每次讀取不同的變量值。所以ForEach總是和User Defined Variables一起使用。下面會以實例的形式介紹它的用法。

          控制面板

          轉:JMeter邏輯控制 <wbr>之 <wbr>ForEach控制器

          參數

          Name:控制器名稱

          Comments:備注

          Input Variable Prefix:輸入變量前綴

          Output variable name:輸出變量名稱

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

          示例

          該示例中在ForEach控制器中添加了一個HTTp請求(登錄頁面),需要輸入用戶名,密碼。我們這里把用戶名作為變量在用戶自定義變量中設置。

           

          轉:JMeter邏輯控制 <wbr>之 <wbr>ForEach控制器

          User Parameter面板中設置

           

          轉:JMeter邏輯控制 <wbr>之 <wbr>ForEach控制器

          ForEach控制器面板中設置

           

          轉:JMeter邏輯控制 <wbr>之 <wbr>ForEach控制器

          HTTP請求采樣器面板中設置

           

          轉:JMeter邏輯控制 <wbr>之 <wbr>ForEach控制器

          這樣執行測試計劃時,ForEach控制器會遍歷User Parameter查找符合設置條件的變量名,這里就是”Name+_+”循環次數”。查到符合的變量后就把值賦給輸出變量(Vname)。然后就可以在ForEach控制器下的采樣器或控制器中使用了,使用的格式是${輸出變量名}

           

          運行測試計劃,在“察看結果樹”中就可以看到,每次請求使用了不同的參數。

          Include Controller包含控制器

           

          包含控制器用于使用外部的Jmx文件。為了演示使用它,可以添加一個simple controller,然后在其中添加一個采樣器(sample),比如一個http請求。然后把這個simple controller保存為一個jmx文件。這樣在include controller中設置該jmx文件就可以在測試計劃中使用了。值得注意的是,包含測試的測試計劃中不能有線程組,僅僅只能有simple controller,然后其下可以添加任何采樣器,控制器。

           

           

          如果用戶需要使用cookie manage或者 用戶自定義變量,都應該在頂層的測試計劃中設置,不應該包含在外部文件中,否則不會它們不會起作用。

          This element does not support variables/functions in the filename field.

          However, if the propertyincludecontroller.prefixis defined, the contents are used to prefix the pathname.

           

           

          如果在prefix+filename的路徑中找不到文件,控制器會嘗試在JMX存放目錄中根據文件名進行查找。

          控制面板

           轉:JMeter邏輯控制 <wbr>之 <wbr>包含控制器(Include <wbr>controller)

          參數

          Attribute

          Description

          Required

          Filename

          包含的文件

          Yes


          Switch控制器

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

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

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

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

          控制面板

           

          轉:JMeter邏輯控制 <wbr>之 <wbr>Switch控制器(Switch <wbr>Controller)

          參數

          Name:控制器名稱

          Switch Value:指定需要運行的子元素的名稱或所處的數值。

          示例

           

          轉:JMeter邏輯控制 <wbr>之 <wbr>Switch控制器(Switch <wbr>Controller)

          線程組的各參數都設置為1switch value中設置“Login.aspx”,運行測試計劃,在“view results tree”中查看結果

           

          轉:JMeter邏輯控制 <wbr>之 <wbr>Switch控制器(Switch <wbr>Controller)

          僅僅執行了Name為“Login.aspx”的Http請求。

          事務控制器

           事務控制器會生成一個額外的采樣器來測量其下測試元素的總體時間。值得注意的是,這個時間包含該控制器范圍內的所有處理時間,而不僅僅是采樣器的。

          對于Jmeter2.3以上的版本,有兩種模式的操作

                 事務采樣器是添加到其下采樣器后面的

                 事務采樣器是作為其下采樣器的父采樣器。

          生成的事務采樣器的測量的時間包括其下采樣器以及其他的一切時間。由于時鐘頻率的問題,這個時間可能略大于單個采樣器的時間之和。時鐘開始時間介于控制器記錄開始時間與第一個采樣器開始之間,時鐘結束時間亦然。

          事務采樣器只有在其子采樣器都成功的情況下才顯示成功。

          在父模式下,事務控制器下的各個采樣器只有在the Tree View Listener里才能看到。同時,子采樣器的數據也不會在CSV文件中顯示,但是在XML文件中可以看到。

          控制面板

           轉:JMeter邏輯控制 <wbr>之 <wbr>事務控制器(Transaction <wbr>controller)

          參數

          Attribute

          Description

          Required

          Name

          事務控制器的名稱

          Yes

          Generate Parent Sample

          如果點中,事務采樣器作為其下采樣器的父采樣器,否則,作為額外采樣器添加在子采樣器的后面。

          Yes

           

          示例

          其中線程組中設置1Users1 Loop

          轉:JMeter邏輯控制 <wbr>之 <wbr>事務控制器(Transaction <wbr>controller)

           

          1.Generate Parent Sample不選中情況下,Aggregate Report顯示為

          轉:JMeter邏輯控制 <wbr>之 <wbr>事務控制器(Transaction <wbr>controller)

           

          其中事務采樣器采集的數據排在子采樣器數據之后,同時各列數據略大于子采樣器數據之和。

          2.Generate Parent Sample選中情況下,Aggregate Report顯示為

          轉:JMeter邏輯控制 <wbr>之 <wbr>事務控制器(Transaction <wbr>controller)

           

          其中僅顯示事務采樣器采集的數據,而不會顯示子采樣器采集的數據。

          交替控制器,它一次傳遞一個子請求到這個測試。按子元件的排列順序



          僅一次控制器,這個控制器可以保證線程在多次循環跑得情況下只登陸一次






          循環控制器,則該控制器下面的請求可以循環執行








          JMeter可能會隨機選取某一個請求(使用隨機控制器) 




          隨機順序控制器
          子節點全部執行 但順序是隨機的





          posted on 2014-02-27 11:31 順其自然EVO 閱讀(3467) 評論(0)  編輯  收藏 所屬分類: jmeter

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 马公市| 金堂县| 天等县| 韶山市| 吴堡县| 阳新县| 额济纳旗| 大连市| 白朗县| 镶黄旗| 诏安县| 云阳县| 隆昌县| 类乌齐县| 吴旗县| 甘德县| 乐业县| 内乡县| 漠河县| 东乌| 甘孜县| 明溪县| 彭水| 保康县| 阿城市| 天水市| 湾仔区| 肥城市| 顺平县| 保康县| 武定县| 赤城县| 宁化县| 平顶山市| 水城县| 芷江| 安新县| 绩溪县| 烟台市| 卫辉市| 罗山县|