惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
IT之家
IT之家
博客园 - Franky
Stack Overflow Blog
Stack Overflow Blog
宝玉的分享
宝玉的分享
Recent Announcements
Recent Announcements
Engineering at Meta
Engineering at Meta
S
SegmentFault 最新的问题
V
Visual Studio Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
H
Help Net Security
V
V2EX
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
博客园 - 叶小钗
J
Java Code Geeks
博客园 - 【当耐特】
月光博客
月光博客
爱范儿
爱范儿
人人都是产品经理
人人都是产品经理
酷 壳 – CoolShell
酷 壳 – CoolShell
小众软件
小众软件

博客园 - Java码界探秘

(Redis基础教程之十) 如何在Redis中运行事务 (Redis基础教程之十一) 如何使Redis中的Key过期 (Redis基础教程之十二) 如何解决Redis中的故障 (Redis基础教程之十三) 如何从命令行更改Redis的配置 开源诗词数据集poetry_dataset|Mac本地微调诗词大模型全方案,配套诗词检索站shi-ci.cn (Python基础教程之二十二)爬虫下载网页视频(video blob) Selenium IDE使用指南一(爬虫脚本录制器) Selenium IDE使用指南二(命令行运行器) Selenium IDE使用指南四(代码导出) Selenium IDE使用指南五(常见问题) OpenClaw + VNC 桌面 + Chrome 完整实战指南 2026年AI助手选型指南:10款主流产品深度对比 OpenClaw安全使用完全手册:从入门到防护 解决 OpenClaw 浏览器自动化 DISPLAY 环境问题 OpenClaw省钱攻略:如何把Token消耗降低80% AI 团队协作中的虚假汇报风波:一次信任危机的处理实录 HiClaw 多代理协作开发实战:用 AI 管理 AI 团队 OpenClaw架构解析:AI工程师的实战学习范本 DBeaver 与 Excel JDBC 驱动(xlSql)使用说明 从韩国客机事故看Java异常处理机制:保障程序的“安全着陆” 深入理解 Servlet:从基础概念到高级特性与实战应用 探索 Spring AOP:全面解析与实战应用 深入理解 HTTP 协议:从基础到实践全解析 揭秘“山姆黄牛”背后的技术逻辑:用Java实现会员管理系统的防黄牛策略 Java 设计模式——从冰雪经济看设计模式的综合运用(工厂、单例、策略、观察者) 为什么你用的 MyBatis 慢?一行配置让它性能翻倍! 35+程序员的职场焦虑:数字化时代的年龄偏见与应对策略 年薪20+万美元,每周仅工作5小时?斯坦福研究发现:9.5%的“幽灵工程师”每年浪费900亿美元!如何避免“幽灵工程师”现象影响项目生产力 MiniTomcat 系列:第一章:解锁实现基础 HTTP 服务器的奥秘 超详细!SED流编辑器从入门到精通
Selenium IDE使用指南三(控制流)
Java码界探秘 · 2026-07-07 · via 博客园 - Java码界探秘

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

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

JavaScript表达式

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

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

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

可用命令

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

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

  • ifelse ifelseend
  • timesend
  • dorepeat if
  • whileend

让我们逐一介绍示例。

条件分支

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

如果示例

if

这是条件块的打开命令。

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

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

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

else if

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

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

else

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

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

end

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

循环播放

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

times

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

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

时间示例

do

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

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

做例子

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

while

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

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

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

while-example

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

forEach

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

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

每个例子
嵌套命令

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

嵌套示例
语法验证

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

错误示例

  1. Selenium IDE 使用指南一(爬虫脚本录制器)
  2. Selenium IDE 使用指南二(命令行运行器)
  3. Selenium IDE 使用指南三(控制流)
  4. Selenium IDE 使用指南四(代码导出)
  5. Selenium IDE 使用指南五(常见问题)
  6. Selenium IDE 使用指南六(指令列表)
  7. Selenium IDE 使用指南七(参数定义)