在 Web 效能測試中使用驗證規則和擷取規則
驗證規則可透過驗證 Web 要求傳回的頁面上是否存在文字、標記或屬性,確認 Web 應用程式是否正確運作。 驗證規則也可以驗證要求完成所需的時間,以及表單欄位及其值是否存在。
擷取規則可透過擷取回應 Web 要求的資料,確認 Web 應用程式是否正確運作。 擷取規則會以名稱值組,將結果儲存在測試內容中。 擷取規則可以從欄位、文字、屬性、標頭、規則運算式和隱藏欄位中擷取。
本主題說明如何在 Web 效能測試中建立和使用驗證和擷取規則。
預先定義的驗證規則
Visual Studio Ultimate包含下列預先定義的驗證規則:
驗證規則類型 |
說明 |
---|---|
選取的選項 |
驗證 HTML 'select' 標記中的指定選項是否已選取。 |
標記內部文字 |
驗證指定之 HTML 標記中的指定預期內部文字是否存在。 例如,您可以驗證特定內部文字是否存在清單方塊中,在該清單方塊中,選項文字是儲存在內部文字而不是屬性內:
在此情況下,如果您想要確認 "Airplane" 存在 myListBox 中,可以設定驗證規則的下列屬性:
|
回應時間目標 |
驗證要求的回應時間是否少於或等於要求中指定的回應時間目標。 回應時間目標為零,表示會被忽略。 |
表單欄位 |
驗證具有特定名稱與值的表單欄位是否存在。 |
尋找文字 |
驗證回應中指定的文字是否存在。 如需詳細資訊以深入了解如何使用尋找文字驗證規則,請參閱逐步解說:將驗證和擷取規則加入至 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 中預先定義的驗證及擷取規則外,您也可以藉由從 ValidationRule 或 ExtractionRule 基底類別衍生規則,來建立自己的驗證規則。 建立自訂的驗證或擷取規則後,就可以將這些自訂規則加入至 Web 效能測試要求。 |
參考資料
Microsoft.VisualStudio.TestTools.WebTesting.Rules