Selenium IDE使用指南三(控制流)
- Selenium IDE 使用指南一(爬虫脚本录制器)
- Selenium IDE 使用指南二(命令行运行器)
- Selenium IDE 使用指南三(控制流)
- Selenium IDE 使用指南四(代码导出)
- Selenium IDE 使用指南五(常见问题)
- Selenium IDE 使用指南六(指令列表)
- Selenium IDE 使用指南七(参数定义)
Selenium IDE 提供的命令允许您在测试中添加条件逻辑和循环结构。
这使得您仅在满足应用程序中的特定条件时才执行命令(或一组命令),或根据预定义的标准重复执行命令。
JavaScript 表达式
您可以通过 JavaScript 表达式来检查应用程序中的条件。
在测试过程中的任何时候,您都可以使用 execute script 或 execute async script 命令运行一段 JavaScript 代码,并将结果存储在变量中。这些变量随后可以在控制流命令中使用。
此外,您也可以直接在控制流命令中使用 JavaScript 表达式。
可用命令
控制流命令通过指定“打开”和“关闭”命令来标识一组命令(或代码块)。
以下是每个可用的控制流命令及其对应的伴随命令和关闭命令:
if,else if,else,endtimes,enddo,repeat ifwhile,end
下面将逐一介绍这些命令的示例。
条件分支
条件分支允许您根据特定情况更改测试中的行为。

if
这是条件块的起始命令。
您需要提供要评估的 JavaScript 表达式。该表达式可以包含由测试中之前的 JavaScript 表达式创建的变量。所有内容均输入到 if 命令的 target 输入字段中。
- 如果表达式评估为
true,测试将执行其后的命令,直到遇到下一个条件控制流命令(例如else if、else或end)。 - 若表达式计算结果为
false,将跳过随后的命令并跳转到下一个相关的条件控制流命令(例如else if、else或end)。
else if
该命令在 if 命令块中使用。
与 if 命令类似,它在 target 输入字段中使用 JavaScript 表达式进行求值。如果条件满足,则执行其后的命令分支;否则跳转到下一个相关的控制流命令(例如 else 或 end)。
else
else 是 if 区块中可以拥有的最终条件分支。如果不满足任何先前的条件,则将执行此命令分支。
执行完成后,流程将跳转到 end 命令。
end
该命令用于终止条件命令块。如果没有此命令,命令块将不完整,您在尝试运行测试时会收到一条错误消息提示。
循环
循环允许您遍历给定的命令集。
times
使用 times 命令,您可以指定要执行的命令集的迭代次数。该数字输入到 times 命令的 target 输入字段中。
要关闭 times 命令块,请确保使用 end 命令。

do
此循环以 do 命令开始,随后是要执行的命令,最后以 repeat if 命令结束。repeat if 接受您要在 target 输入字段中求值的 JavaScript 表达式。
do 会先执行其后的命令,然后再对 repeat if 中的表达式求值。如果表达式返回 true,测试将跳回到 do 命令并重复该序列。

这将一直持续到条件返回 false 或触发无限循环保护机制(默认为 1000 次尝试)。您可以通过在 repeat if 命令的 value 输入字段中指定一个数字来覆盖此默认值。
while
通过 while 提供 JavaScript 表达式,您希望在 target 输入字段中对其进行求值。如果求值结果为 true,命令块将继续执行直到到达 end 命令。
完成后,测试将跳回到 while 命令并重复相同的顺序(首先检查条件是否变为 true 或 false)。
要关闭 while 命令块,请使用 end 命令。

循环将重试,直到条件返回 false 或无限循环保护被触发为止(默认为 1000 次尝试)。您可以通过在 while 命令的 value 输入字段中指定一个数字来覆盖此默认值。
forEach
forEach 允许您遍历集合(例如 JavaScript 数组),并在执行过程中引用集合中的每个项目。
- 在
target字段中,指定包含要迭代的数组的变量名称。 - 在
value字段中,指定要使用的迭代器变量名称。
对于数组中的每个条目,将执行后续命令。在每次迭代期间,将通过迭代器变量访问当前条目的内容。

命令嵌套
您可以根据需要嵌套控制流命令(例如,一个 if 块可以放在一个 while 块内部,反之亦然)。

语法验证
如果不确定控制流语法是否正确,请尝试运行测试以查看结果。IDE 将发现控制流语法中的错误,并调出不正确或丢失的特定命令提示。

说明
本文基于 Selenium IDE 3.x 及以上版本(Standalone 版本)的功能编写。控制流命令(Control Flow)在旧版 Firefox 插件版本中可能不可用或行为不同。如果您使用的是最新版本,请确保已启用控制流插件或功能。
版权声明:本文为原创文章,版权归 戴老师的博客 所有,转载请联系博主获得授权。
本文地址:https://1diff.fun/archives/selenium-ide-shi-yong-zhi-nan-san--kong-zhi-liu.html
如果对本文有什么问题或疑问都可以在评论区留言,我看到后会尽量解答。