qileilove

          blog已經(jīng)轉移至github,大家請訪問 http://qaseven.github.io/

          jmeter之邏輯控制器

          測試片段(Test Fragment)

           

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

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

          ForEach控制器

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

          控制面板

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

          參數(shù)

          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控制器

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

           

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

          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存放目錄中根據(jù)文件名進行查找。

          控制面板

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

          參數(shù)

          Attribute

          Description

          Required

          Filename

          包含的文件

          Yes


          Switch控制器

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

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

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

          Value為空時,默認執(zhí)行第1個子節(jié)點元素。

          控制面板

           

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

          參數(shù)

          Name:控制器名稱

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

          示例

           

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

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

           

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

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

          事務控制器

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

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

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

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

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

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

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

          控制面板

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

          參數(shù)

          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)

           

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

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

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

           

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

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



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






          循環(huán)控制器,則該控制器下面的請求可以循環(huán)執(zhí)行








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




          隨機順序控制器
          子節(jié)點全部執(zhí)行 但順序是隨機的





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

          <2025年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 平潭县| 黄龙县| 广东省| 尚志市| 马山县| 易门县| 高淳县| 元阳县| 西和县| 太康县| 库尔勒市| 楚雄市| 西畴县| 碌曲县| 铜川市| 两当县| 资中县| 衡水市| 阿拉尔市| 探索| 斗六市| 巴马| 巧家县| 平原县| 汕尾市| 新民市| 视频| 林州市| 页游| 淅川县| 彰化县| 盱眙县| 屏山县| 策勒县| 金溪县| 临颍县| 会东县| 德令哈市| 山东| 大港区| 花莲市|