在 Web 性能测试中使用验证规则和提取规则
验证规则通过验证 Web 请求返回的页面中是否存在文本、标记或特性,来帮助验证 Web 应用程序是否正常工作。验证规则还可以验证完成请求所需的时间、是否存在窗体字段以及它们的值。
提取规则通过从 Web 请求的响应中提取数据来帮助确认 Web 应用程序的工作是否正常。正如名称/值对,提取规则将导致测试上下文。提取规则可以提取窗体字段、文本、特性、标头、正则表达式和隐藏字段。
本主题介绍如何在 Web 性能测试中创建和使用验证规则和提取规则。
要求
- Visual Studio 旗舰版
本主题内容:
预定义验证规则
自定义验证规则
验证规则对负载测试的影响
预定义的提取规则
SharePoint 的阿普斯预定义的提取规则
自定义提取规则
验证规则和提取规则的任务
预定义验证规则
Visual Studio 旗舰版包括下列预定义的验证规则:
验证规则类型 |
描述 |
---|---|
查找文本 |
验证响应中是否存在指定文本。有关以下内容的更多信息使用查找文本验证规则的更多信息,请参见演练:向 Web 性能测试添加验证规则和提取规则。 |
窗体字段 |
验证具有指定名称和值的窗体字段是否存在。 |
最大请求时间 |
验证请求是否在指定的时间内完成。 |
必需的特性值 |
验证是否存在包含具有指定值的特性的指定 HTML 标记。 |
所需的标记 |
验证响应中是否存在指定的 HTML 标记。 |
响应时间目标 |
确认请求的响应时间小于或等于对请求指定的响应时间目标。将忽略响应时间目标零。 |
响应 URL |
验证在跟踪重定向之后的响应 URL 是否与记录的响应 URL 相同。QueryString 参数将被忽略。 |
选定的选项 |
确认选择了 HTML“select”标记中指定的选项。 |
SharePoint -查找多个文本匹配项 |
类似于查找文本验证规则,但比单个文本字符串允许您指定更多。
说明
此验证规则要求 Visual Studio 旗舰版 2012.1 或更高版本。
|
SharePoint -响应 URL |
类似于响应 URL 验证规则,但允许为特定请求关闭并指定自定义结束符。
说明
此验证规则要求 Visual Studio 旗舰版 2012.1 或更高版本。
|
标记内部文本 |
确认指定的 HTML 标记中存在指定的预期内部文本。 例如,可以验证特定的内部文本是否存在于列表框中,在该列表框中选项文本存储在内部文本中而不是特性中:
在此情况下,如果要验证“Airplane”是否存在于 myListBox 中,可为验证规则设置以下属性:
|
自定义验证规则
Visual Studio 旗舰版以类的形式在 Microsoft.VisualStudio.TestTools.WebTesting.Rules 命名空间提供预定义的验证规则。不过,您可以通过从 ValidationRule 类派生,创建自己的自定义验证规则。有关更多信息,请参见如何:为 Web 性能测试创建自定义验证规则。
验证规则对负载测试的影响
验证规则的执行对负载测试的性能有一定影响。若要降低这种性能影响,可以使用请求的“验证级别”来控制在特定负载测试中使用哪些验证规则。可以将每个规则的验证级别设置为“低”、“中”或“高”。通常,所设置的验证级别越高,测试的运行速度就越慢。
请求中规则的“验证级别”设置决定了何时在负载测试中使用验证规则。例如,设置为“高”意味着仅在负载测试的验证级别设置为高时执行该规则。
负载测试验证级别 |
所用请求设置的说明 |
---|---|
低 |
仅调用设置为“低”的规则 |
中 |
调用设置为“低”和“中”的规则 |
高 |
调用所有规则 —“低”、“中”和“高”级别 |
在 Web 性能测试请求中和负载测试设置中都可以设置规则级别,这为测试提供了灵活性。将负载测试设置设为“低”可执行最少的规则,适合重载测试和压力运行。将负载测试设置设为“高”可执行最多的规则,应当用在验证比最大吞吐量更为重要的情况下。
关于提取规则
提取规则通过从 Web 请求的响应中提取数据来帮助确认 Web 应用程序的工作是否正常。正如名称/值对,提取规则将导致测试上下文。提取规则可以提取窗体字段、文本、特性、标头、正则表达式和隐藏字段。
验证规则与提取规则相似,但是验证规则不提取数据,而是验证数据是否存在。
预定义的提取规则
Visual Studio 旗舰版包括下列预定义的提取规则:
提取规则的类型 |
描述 |
---|---|
提取特性值 |
从指定的 HTML 标记中提取特性的值。有关以下内容的更多信息使用提取特性值规则的更多信息,请参见演练:向 Web 性能测试添加验证规则和提取规则。 |
提取窗体字段 |
提取响应中指定窗体字段的值。 |
提取隐藏的字段 |
从响应中提取所有的隐藏字段。 |
提取 HTTP 标头 |
提取 HTTP 标头的值。 |
提取正则表达式 |
从与正则表达式相匹配的响应中提取文本。 |
提取文本 |
从响应中提取文本。 |
选定的选项 |
提取列表或组合框中的选定文本。 |
标记内部文本 |
从指定的 HTML 标记中提取内部文本。 |
SharePoint 的阿普斯预定义的提取规则
与Visual Studio 旗舰版 2012 中 Visual Studio 2012.1 或更高版本的包含 SharePoint apps 的下列预定义的提取规则:
提取规则的类型 |
描述 |
---|---|
SharePoint -提取窗体字段 |
提取一个指定的 SharePoint 文本框或隐藏的窗体字段的值在响应并将其放置到测试上下文。 |
SharePoint -提取 GUID |
提取从响应的 SharePoint GUID 和放置到测试上下文。 |
SharePoint -提取 GUID 窗体字段 |
提取窗体字段名称的值,包含 GUID,具有以下格式:BeginningOfName_mg_EmbeddedGUID_RemainderOfName。例如: [ctl00_mg_69f4ec15_04da_449b_82ee_d6cdd46f8518_ctl00_ctl05_ctl05_ctl00_ctl00_ctl04_ctl00_ctl00_UserField] |
SharePoint -提取选定选项 |
从 SharePoint 的 ComboBox 提取值下拉列表中响应。 |
SharePoint -键中提取文本 |
根据在响应中提供的密钥提取一个指定字符串的值,并将其放置到测试上下文。 |
SharePoint -提取 WebParts ListView 值 |
从 web 部件的脚本部分提取所有值列表在响应的视图使用前缀列表作为搜索条件。 |
SharePoint –查找日历日期 |
将响应的一个日期值在 SharePoint 日历。 |
SharePoint –查找日历项 |
提取一个指定操作的 ID 值在响应中的 SharePoint 日历列表。 |
SharePoint –查找文档项目 |
在从 SharePoint 的响应中提取的指定 ID 值文档列表。 |
SharePoint –查找 Hrefs |
提取 href 在与搜索条件匹配的响应引用。 |
SharePoint –查找列表项 |
提取的指定 ID 值列表在响应的项目。 |
自定义提取规则
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
请参见
任务
概念
SharePoint 2010 应用程序的 Web 性能和负载测试