如何:向 Web 性能测试请求中添加循环
若要简化测试,可向 Web 性能测试或 Web 请求添加循环逻辑。 通过指定条件规则和属性,可多次运行 Web 请求以验证是否满足所有指定条件。 例如,可创建一个循环条件,它运行数千次并验证是否满足某一数值比较,如某个上下文参数的值是否大于零。
要求
- Visual Studio 旗舰版
使用循环的注意事项
当在 Web 性能测试或使用 Web 性能测试的负载测试中使用循环时,请考虑以下潜在问题:
独立运行即不在负载测试中运行 Web 性能测试时,整个 Web 测试结果会保留在内存中。 因此,如果 Web 性能测试包含具有许多迭代的循环,则会占用大量内存。
在负载测试中运行此 Web 性能测试时,如果该测试需要很长时间,则会对负载测试中的测试组合产生影响。 负载测试引擎会将运行 Web 性能测试视为单次迭代。 实际上,如果 Web 性能测试运行多次迭代,则不会获得所需组合。
通常,通过 Web 性能测试进行的迭代应为单个用户对站点执行操作的模型。 有些用户可能会在单个会话中购物时向购物车添加多个项目,但这不会扭曲模型。 . 但是,不应使用循环来使单个用户循环数百次。 而应让负载引擎为用户制定数百次计划。 如果可能,在循环中使用的迭代数应少于 10 次。
向循环添加条件规则和项
备注
还可以添加分支条件逻辑,它验证 Web 性能测试中的条件为 True 还是 False。有关更多信息,请参见如何:向 Web 性能测试请求中添加“If Then”分支条件。
插入带有条件规则的循环
打开包含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 性能测试编辑器中选择该循环并使用属性窗口,可编辑为该规则指定的属性设置。
请参见
任务
如何:使用 Web 性能测试编辑器编辑现有 Web 性能测试
如何:向 Web 性能测试请求中添加“If Then”分支条件