在 Web 性能测试中使用验证规则和提取规则
验证规则通过验证 Web 请求返回的页面中是否存在文本、标记或特性,来帮助验证 Web 应用程序是否正常工作。 验证规则还可以验证完成请求所需的时间、是否存在窗体字段以及它们的值。
提取规则通过从 Web 请求的响应中提取数据来帮助确认 Web 应用程序的工作是否正常。 提取规则将结果以名称/值对的形式存储在测试上下文中。 提取规则可以提取窗体字段、文本、特性、标头、正则表达式和隐藏字段。
本主题介绍如何在 Web 性能测试中创建和使用验证规则和提取规则。
预定义验证规则
Visual Studio 旗舰版包括下列预定义的验证规则:
验证规则类型 |
说明 |
---|---|
选定的选项 |
验证是否选中了 HTML“select”标记中指定的选项。 |
标记内部文本 |
验证指定的 HTML 标记中是否存在指定的预期内部文本。 例如,可以验证特定的内部文本是否存在于列表框中,在该列表框中选项文本存储在内部文本中而不是特性中:
在此情况下,如果要验证“Airplane”是否存在于 myListBox 中,可为验证规则设置以下属性:
|
响应时间目标 |
验证请求的响应时间是否小于或等于请求中指定的响应时间目标。 将忽略等于 0 的响应时间目标。 |
窗体字段 |
验证具有指定名称和值的窗体字段是否存在。 |
查找文本 |
验证响应中是否存在指定文本。 有关以下内容的更多信息使用查找文本验证规则的更多信息,请参见演练:向 Web 性能测试添加验证规则和提取规则。 |
最大请求时间 |
验证请求是否在指定时间内完成。 |
必需的特性值 |
验证是否存在包含具有指定值的特性的指定 HTML 标记。 |
所需的标记 |
验证响应中是否存在指定的 HTML 标记。 |
响应 URL |
验证在跟踪重定向之后的响应 URL 是否与记录的响应 URL 相同。 将忽略 QueryString 参数 |
自定义验证规则
Visual Studio 旗舰版以类的形式在 Microsoft.VisualStudio.TestTools.WebTesting.Rules 命名空间提供预定义的验证规则。 不过,您可以通过从 ValidationRule 类派生,创建自己的自定义验证规则。 有关更多信息,请参见如何:为 Web 性能测试创建自定义验证规则。
验证规则对负载测试的影响
验证规则的执行对负载测试的性能有一定影响。 若要降低这种性能影响,可以使用请求的“验证级别”来控制在特定负载测试中使用哪些验证规则。 可以将每个规则的验证级别设置为“低”、“中”或“高”。 通常,所设置的验证级别越高,测试的运行速度就越慢。
请求中规则的“验证级别”设置决定了何时在负载测试中使用验证规则。 例如,设置为“高”意味着仅在负载测试的验证级别设置为高时执行该规则。
负载测试验证级别 |
所用请求设置的说明 |
---|---|
低 |
仅调用设置为“低”的规则 |
中 |
调用设置为“低”和“中”的规则 |
高 |
调用所有规则 —“低”、“中”和“高”级别 |
在 Web 性能测试请求中和负载测试设置中都可以设置规则级别,这为测试提供了灵活性。 将负载测试设置设为“低”可执行最少的规则,适合重载测试和压力运行。 将负载测试设置设为“高”可执行最多的规则,应当用在验证比最大吞吐量更为重要的情况下。
关于提取规则
提取规则通过从 Web 请求的响应中提取数据来帮助确认 Web 应用程序的工作是否正常。 提取规则将结果以名称/值对的形式存储在测试上下文中。 提取规则可以提取窗体字段、文本、特性、标头、正则表达式和隐藏字段。
验证规则与提取规则相似,但是验证规则不提取数据,而是验证数据是否存在。
预定义的提取规则
Visual Studio 旗舰版包括下列预定义的提取规则:
提取规则的类型 |
说明 |
---|---|
选定的选项 |
提取列表或组合框中的选定文本。 |
标记内部文本 |
提取指定 HTML 标记的内部文本。 |
提取特性值 |
从指定的 HTML 标记中提取特性的值。 有关以下内容的更多信息使用提取特性值规则的更多信息,请参见演练:向 Web 性能测试添加验证规则和提取规则。 |
提取窗体字段 |
提取响应中指定窗体字段的值。 |
提取 HTTP 标头 |
提取 HTTP 标头的值。 |
提取正则表达式 |
从与正则表达式相匹配的响应中提取文本。 |
提取文本 |
从响应中提取文本。 |
提取隐藏的字段 |
从响应中提取所有的隐藏字段。 |
自定义提取规则
Visual Studio 旗舰版以 Microsoft.VisualStudio.TestTools.WebTesting.Rules 命名空间中的类的形式提供预定义的提取规则。 但是,您可以通过派生 ExtractionRule 类来创建自己的自定义提取规则。 有关更多信息,请参见如何:为 Web 性能测试创建自定义提取规则。
任务
任务 |
相关主题 |
---|---|
在 Web 性能测试中添加验证规则:在 Web 性能测试中添加和配置验证规则,以帮助验证由 Web 请求返回的页面中是否存在文本、标记或特性,从而验证 Web 应用程序是否正常工作。 验证规则还可以验证完成请求所需的时间、是否存在窗体字段以及它们的值。 验证规则也可专门用于内部文本和选定目标。 您还可以在测试级别向 Web 性能测试添加将对测试中的每个请求激发的验证规则。 |
|
在 Web 性能测试中添加提取规则:添加和配置提取规则,以便通过从 Web 请求的响应中提取数据来帮助验证 Web 应用程序是否正常工作。 提取规则将结果以名称/值对的形式存储在测试上下文中。 提取规则可以提取窗体字段、文本、特性、标头、正则表达式和隐藏字段。 |
|
创建自定义验证规则和提取规则:除了使用 Microsoft Visual Studio 旗舰版中预定义的验证规则和提取规则之外,还可通过从 ValidationRule 或 ExtractionRule 基类派生规则来创建自己的规则。 在创建自定义验证规则或提取规则之后,可将其添加到 Web 性能测试请求中。 |
参考
Microsoft.VisualStudio.TestTools.WebTesting.Rules