HOW TO:將迴圈加入至 Web 效能測試要求
若要簡化測試,您可以將迴圈邏輯加入至 Web 效能測試或 Web 要求。 透過指定條件規則和屬性,您可以多次執行 Web 要求,來驗證是否符合任何指定的條件。 例如,您可以建立執行數千次的迴圈條件,並驗證是否符合數值比較,例如內容參數的值大於零。
需求
- Visual Studio Ultimate
迴圈的使用考量
在 Web 效能測試或使用 Web 效能測試的負載測試中使用迴圈時,需考量以下可能的問題:
當您單獨執行 Web 效能測試 (亦即,不在負載測試中執行) 時,整個 Web 測試結果都會保存在記憶體中。 因此,包含大量反覆項目之迴圈的 Web 效能測試可能會耗用大量記憶體。
當您在負載測試中執行此 Web 效能測試時,如果執行測試所花費的時間很長,就會影響負載測試中的測試混合。 負載測試引擎會將執行 Web 效能測試視為單一反覆項目。 如果 Web 效能測試實際上正在執行許多反覆項目,您就不會取得所需的混合。
一般而言,Web 效能測試中的反覆項目應該是單一使用者將在網站上進行之動作的模型。 某些使用者在單一工作階段中購物時可能會將數個項目加入至購物車,但這並不會導致模型偏差。 . 不過,迴圈不應該用來讓單一使用者執行迴圈數百次。 而是讓負載引擎對該使用者排程數百次。 請盡可能在您的迴圈中使用 10 個以下的反覆項目。
在迴圈中加入條件式規則和項目
注意事項 |
---|
您也可以加入分支條件邏輯,來驗證 Web 效能測試中的條件是 true 還是 false。如需詳細資訊,請參閱HOW TO:將 "If Then" 分支條件加入至 Web 效能測試要求。 |
若要插入具有條件規則的迴圈
開啟包含 Web 效能測試和負載測試專案的方案,並確定 Web 效能測試和負載測試專案包含 Web 效能測試。 接著開啟 Web 效能測試。
選取要將迴圈插入其中的 Web 效能測試或 Web 要求。 以滑鼠右鍵按一下並選取 [插入迴圈]。
在 [在迴圈中加入條件式規則和項目] 對話方塊中的 [選取規則] 底下,選擇要在迴圈中使用的條件規則類型。 下表列出不同類型條件規則的說明,以及可用的相關屬性。
接著,在 [所選規則的屬性] 底下,指定您需要的屬性設定。
例如,您可以選擇 [計算迴圈] 規則,並將其 [反覆運算次數] 屬性值設為 10000。 因此,指定的 Web 要求會執行 10000 次。
[反覆項目數目上限] 屬性會使用預設值 -1 來設定。 您可以設定此屬性值做為保全機制,防止無限迴圈。 -1 設定會指定沒有任何反覆項目數目上限。
注意事項 在 [在迴圈中加入條件式規則和項目] 對話方塊中也會顯示條件規則及相關屬性的說明。與 [屬性] 視窗一樣,您可以使用 [在迴圈中加入條件式規則和項目] 對話方塊中的屬性工具列按鈕,依據 [分類]、[字母順序] 和 [屬性頁] 對屬性進行排序。
條件規則和相關屬性
條件規則
規則描述
屬性
內容參數存在
驗證內容參數是否存在。
內容參數名稱
檢查是否存在
Cookie 存在
驗證 Cookie 是否存在。
網頁 URI
Cookie 名稱
驗證是否存在
Cookie 網域名稱 (選用)
Cookie 路徑 (選用)
Cookie 值比較
當提供的字串符合指定的 Cookie 值時,即符合條件。
網頁 URI
Cookie 名稱
比較運算子
值
忽略大小寫
使用規則運算式
Cookie 網域名稱 (選用)
Cookie 路徑 (選用)
For 迴圈
此規則表示傳統的 "for" 迴圈。 內容參數會在第一次迴圈反覆運算之前初始化。 當內容參數的內容滿足所提供值的數值比較時,即執行迴圈陳述式。 間距值會在每次迴圈反覆運算結束時套用。
內容參數名稱
比較運算子
終止值
初始值
累加值
數值比較
當提供的內容參數的內容滿足所提供值的數值比較時,即符合條件。
內容參數名稱
比較運算子
值
機率規則
根據提供的百分比決定是否符合此條件。
內容參數名稱
百分比
計算迴圈
依指定的次數執行迴圈所包含的要求。
內容參數名稱
反覆運算的次數
字串比較
當提供的字串與提供的內容參數的內容相符時,即符合此條件。
內容參數名稱
比較運算子
值
忽略大小寫
使用規則運算式
在 [迴圈中的項目] 底下,使用 [選擇迴圈的第一個項目] 下的下拉式清單,指定要在迴圈中使用的第一個項目。
按下 [選擇迴圈的最後一個項目]的下拉式清單,指定要在迴圈中使用的最後一個項目。
選擇 [確定]。
關閉 [在迴圈中加入條件式規則和項目] 對話方塊之後,您會發現 [Web 效能測試編輯器] 現在已經以圖示標出迴圈。
注意事項 稍後,您可以在 [Web 效能測試編輯器] 中選取迴圈並使用 [屬性] 視窗,藉以編輯針對規則指定的屬性設定。
請參閱
工作
HOW TO:使用 Web 效能測試編輯器編輯現有的 Web 效能測試
HOW TO:將 "If Then" 分支條件加入至 Web 效能測試要求