共用方式為


在 Web 效能測試中使用驗證規則和擷取規則

驗證規則可透過驗證 Web 要求傳回的頁面上是否存在文字、標記或屬性,確認 Web 應用程式是否正確運作。 驗證規則也可以驗證要求完成所需的時間,以及表單欄位及其值是否存在。

擷取規則可透過擷取回應 Web 要求的資料,確認 Web 應用程式是否正確運作。 擷取規則會以名稱值組,將結果儲存在測試內容中。 擷取規則可以從欄位、文字、屬性、標頭、規則運算式和隱藏欄位中擷取。

本主題說明如何在 Web 效能測試中建立和使用驗證和擷取規則。

預先定義的驗證規則

Visual Studio Ultimate包含下列預先定義的驗證規則:

驗證規則類型

說明

選取的選項

驗證 HTML 'select' 標記中的指定選項是否已選取。

標記內部文字

驗證指定之 HTML 標記中的指定預期內部文字是否存在。

例如,您可以驗證特定內部文字是否存在清單方塊中,在該清單方塊中,選項文字是儲存在內部文字而不是屬性內:

<select name="myListBox">
        <option>Car</option>
        <option>Train</option>
        <option selected="selected">Ship</option>
        <option>Airplane</option>
    </select>
    </form>

在此情況下,如果您想要確認 "Airplane" 存在 myListBox 中,可以設定驗證規則的下列屬性:

  • [預期的內部文字] 設為 Airplane。

  • [標記名稱] 設為選項。

回應時間目標

驗證要求的回應時間是否少於或等於要求中指定的回應時間目標。 回應時間目標為零,表示會被忽略。

表單欄位

驗證具有特定名稱與值的表單欄位是否存在。

尋找文字

驗證回應中指定的文字是否存在。 如需詳細資訊以深入了解如何使用尋找文字驗證規則,請參閱逐步解說:將驗證和擷取規則加入至 Web 效能測試

最大要求時間

驗證要求是否在指定時間內完成。

必要的屬性值

驗證指定的 HTML 標記 (包含具有指定值的屬性) 是否存在。

必要標記

驗證回應中指定的 HTML 標記是否存在。

回應 URL

驗證接受重新導向後的回應 URL 是否與記錄的回應 URL 相同。 會忽略 QueryString 參數。

自訂驗證規則

Visual Studio Ultimate會以 Microsoft.VisualStudio.TestTools.WebTesting.Rules 命名空間 (Namespace) 中類別 (Class) 的形式,提供預先定義的驗證規則。 不過,在建立自己的自訂驗證規則時,可以從 ValidationRule 類別中衍生。 如需詳細資訊,請參閱 HOW TO:建立 Web 效能測試的自訂驗證規則

驗證規則對負載測試的影響

執行驗證規則對負載測試的效能會有影響。 為了減輕對效能的影響,請使用要求的「驗證層級」來控制特定負載測試所使用的驗證規則。 您可以將每個規則的驗證層級設為「低」、「中」或「高」。 基本上,驗證層級設得越高,測試的執行速度越慢。

在要求中設定規則的「驗證層級」,決定了負載測試中該驗證規則的使用時機。 例如,若設為「高」,該規則只會在負載測試驗證層級設為高的時候執行。

負載測試驗證層級

所使用之要求設定的描述

只叫用 (Invoke) 設為「低」的規則

叫用設為「低」和「中」的規則

叫用所有規則:「低」、「中」和「高」

在 Web 效能測試要求和負載測試設定中設定規則層級的能力,可讓您在執行測試時更有彈性。 將負載測試設定設為「低」會執行最少的規則,可以用於重度負載測試和壓力 (Stress) 回合中。 將負載測試設定設為「高」會執行大部分的規則,應該用於驗證比最大處理量更重要的情況中。

關於擷取規則

擷取規則可透過擷取回應 Web 要求的資料,確認 Web 應用程式是否正確運作。 擷取規則會以名稱值組,將結果儲存在測試內容中。 擷取規則可以從欄位、文字、屬性、標頭、規則運算式和隱藏欄位中擷取。

驗證規則與擷取規則類似,但它們不是擷取資料,而是驗證資料是否存在。

預先定義的擷取規則

Visual Studio Ultimate包含下列預先定義的擷取規則:

擷取規則類型

說明

選取的選項

擷取清單或下拉式方塊中選取的文字。

標記內部文字

從指定的 HTML 標記擷取內部文字。

擷取屬性值

從指定的 HTML 標記擷取某一屬性 (Attribute) 的值。 如需詳細資訊以深入了解如何使用擷取屬性值規則,請參閱逐步解說:將驗證和擷取規則加入至 Web 效能測試

擷取表單欄位

擷取回應中指定之表單欄位的值。

擷取 HTTP 標頭

擷取 HTTP 標頭的值。

擷取規則運算式

從符合規則運算式的回應中擷取文字。

擷取文字

從回應中擷取文字。

擷取隱藏欄位

從回應中擷取所有的隱藏欄位。

自訂擷取規則

Visual Studio Ultimate會以 Microsoft.VisualStudio.TestTools.WebTesting.Rules 命令空間 (Namespace) 中類別 (Class) 的形式,提供預先定義的擷取規則。 不過,在建立自己的自訂擷取規則時,可以從 ExtractionRule 類別中衍生。 如需詳細資訊,請參閱 HOW TO:建立 Web 效能測試的自訂擷取規則

工作

工作

相關主題

將驗證規則加入 Web 效能測試:在 Web 效能測試中加入並設定驗證規則,以協助您透過驗證 Web 要求傳回的頁面上是否存在文字、標記或屬性,來確認 Web 應用程式是否運作正確。 驗證規則也可以驗證要求完成所需的時間,以及表單欄位及其值是否存在。 驗證規則也能專門用於內部文字,以及選定的目標。

您也可以在測試層級的 Web 效能測試中,加入會對測試中的每個要求引發的驗證規則。

將擷取規則加入 Web 效能測試:加入並設定擷取規則,可透過擷取回應 Web 要求的資料,確認 Web 應用程式是否正確運作。 擷取規則會以名稱值組,將結果儲存在測試內容中。 擷取規則可以從欄位、文字、屬性、標頭、規則運算式和隱藏欄位中擷取。

建立您自訂的驗證及擷取規則:除了使用在 Microsoft Visual Studio Ultimate 中預先定義的驗證及擷取規則外,您也可以藉由從 ValidationRuleExtractionRule 基底類別衍生規則,來建立自己的驗證規則。 建立自訂的驗證或擷取規則後,就可以將這些自訂規則加入至 Web 效能測試要求。

參考資料

ValidationRule

Microsoft.VisualStudio.TestTools.WebTesting.Rules

ExtractionRule

請參閱

工作

逐步解說:將驗證和擷取規則加入至 Web 效能測試

其他資源

使用 Web 效能測試編輯器自訂 Web 效能測試記錄

建立和編輯 Web 效能測試