为了账号安全,请及时绑定邮箱和手机立即绑定

Selenium IDE使用指南三(控制流)

标签:
爬虫

Selenium IDE附带的命令使您可以添加条件逻辑和循环到测试中。

这使您仅在满足应用程序中的某些条件时才执行命令(或一组命令),或根据预定义的标准重复执行命令。

JavaScript表达式

通过使用JavaScript表达式检查应用程序中的条件。

您可以在测试过程中的任何时候使用execute scriptexecute async script命令运行一段JavaScript,并将结果存储在变量中。这些变量可以在控制流命令中使用。

您也可以直接在控制流命令中使用JavaScript表达式。

可用命令

控制流命令通过指定打开和关闭命令来表示一组命令(或块)来工作。

以下是每个可用的控制流命令以及它们的伴随命令和/或关闭命令。

  • ifelse ifelseend
  • timesend
  • dorepeat if
  • whileend

让我们逐一介绍示例。

条件分支

条件分支使您可以更改测试中的行为。

如果示例

这是条件块的打开命令。

同时提供了您要评估的JavaScript表达式。这可以包含从测试中的先前JavaScript表达式创建的变量。所有这些都target输入到if命令的输入字段中。

如果该表达式评估为true则测试将执行它后面,直到下一个条件控制流命令命令(例如,else ifelse,或end)。

如果表达式的计算来false将跳过随后的命令和跳转到下一个相关条件控制流命令(例如,else ifelse,或end)。

该命令在if命令块中使用。

就像iftarget输入字段中使用JavaScript表达式来求值一样,执行它后面的命令分支,或者跳到下一个相关的控制流命令(例如elseend)。

else是您在一个if区块中可以拥有的最终条件。如果不满足任何先决条件,则将执行此命令分支。

完成后,将跳转到end命令。

该命令终止条件命令块。没有它,命令块将不完整,您将收到一条有用的错误消息,让您知道何时尝试运行测试。

循环播放

循环使您可以遍历给定的命令集。

有了times你可以指定一个迭代次数要执行的命令集。该数字进入命令的target输入字段times

要关闭times命令块,请确保使用end命令。

时间示例

您从do命令开始此循环,然后是要执行的命令,然后以命令结束repeat ifrepeat if接受您要在target输入字段中求值的JavaScript表达式。

do将先执行之后的命令,然后再对中的表达式repeat if求值。如果表达式返回,true则测试将跳回到do命令并重复该序列。

做例子

这将一直持续到条件返回false或触发无限循环保护-默认为1000尝试。您可以通过valuerepeat if命令的输入字段中指定一个数字来覆盖此默认值。

通过while提供JavaScript表达式,您希望在target输入字段中求值。如果它求值到true命令块,则将继续执行直到到达end命令。

完成后,测试将跳回到while命令并重复相同的顺序(首先检查条件是否变为truefalse)。

要关闭while命令块,请使用end命令。

while-example

循环将重试,直到条件返回false或无限循环保护被触发为止(默认为1000尝试)。您可以通过valuewhile命令的输入字段中指定一个数字来覆盖此默认值。

尽力做到最好,我们有能力遍历一个集合(例如,一个JS数组),并在我们执行该过程时引用该集合中的每个项目。

在该target字段中,指定包含要迭代的数组的变量的名称。在该value字段中,指定要使用的迭代器变量的名称。对于数组中的每个条目,将执行以下命令。在每次迭代期间,将通过迭代器变量访问当前条目的内容。

每个例子
嵌套命令

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

嵌套示例
语法验证

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

错误示例

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消