Selenium - IDE
Selenium - IDE (现代版)
Section titled “Selenium - IDE (现代版)”最初的 Selenium IDE 是一个仅支持 Firefox 的扩展程序,现已过时。一个完全重新设计的、现代的 Selenium IDE 现已作为 Chrome、Firefox 和 Edge 的浏览器扩展程序提供。它提供了一个用户友好的界面,用于录制、编辑和调试简单的自动化浏览器测试。
虽然它不像用编程语言编写 WebDriver 脚本那样强大或灵活,但现代的 Selenium IDE 是以下用途的绝佳工具:
- 快速入门 (Getting Started): 快速学习基本的自动化概念。
- 快速原型开发 (Rapid Prototyping): 录制简单的流程以了解必要的步骤。
- Bug 重现 (Bug Reproduction): 录制重现 Bug 的步骤。
- 简单的测试用例 (Simple Test Cases): 自动化直接、线性的测试场景。
- 代码导出 (Exporting Code): 为各种语言的 WebDriver 代码提供一个起点(尽管导出的代码通常需要优化)。
从您浏览器的相应扩展商店安装 Selenium IDE 扩展程序:
- Chrome: Chrome Web Store
- Firefox: Firefox Add-ons
- Edge: Microsoft Edge Add-ons
安装后,您可以从浏览器的扩展程序菜单中启动它。
现代 Selenium IDE 的主要特性
Section titled “现代 Selenium IDE 的主要特性”- 录制和回放 (Record and Playback): 录制用户在浏览器中执行的操作并允许回放。
- 跨浏览器 (Cross-Browser): 适用于 Chrome、Firefox 和 Edge。
- 测试编辑 (Test Editing): 提供基于表格的编辑器来查看和修改录制的命令(Command、Target、Value)。
- 元素选择工具 (Element Selection Tool): 帮助选择页面上的元素并建议不同的定位符 (locators)。
- 控制流命令 (Control Flow Commands): 支持基本的条件逻辑(
if/else if/else/end)、循环(times/while/end)和错误处理(try/catch)。 - 调试 (Debugging): 允许设置断点 (breakpoints) 和单步执行测试。
- 命令面板 (Command Palette): 可以手动添加命令,而不仅仅是录制。
- 代码导出 (Code Export): 可以将测试导出为各种 WebDriver 语言绑定(Java JUnit/TestNG、Python Pytest、C# NUnit 等)。注意: 导出的代码通常需要进行大量清理和改进才能用于实际项目。
- Selenium IDE 命令行运行器 (SIDE Runner): 允许从命令行运行
.side项目文件,从而实现与 CI/CD 流水线的集成。需要 Node.js 并通过 npm 安装 SIDE Runner(npm install -g selenium-side-runner)。您还需要安装相应的 WebDriver 可执行文件。 - 可扩展性 (Extensibility): 支持插件,用于添加自定义命令或定位符。
创建简单测试
Section titled “创建简单测试”-
启动 IDE: 打开 Selenium IDE 扩展程序。
-
创建新项目: 选择 ‘Create a new project’ 并给它命名。
-
录制测试: 选择 ‘Record a new test in a new project’,提供一个测试名称(例如,‘Google Search Test’),然后输入基本 URL (Base URL)(例如,
https://www.google.com)。点击 ‘Start Recording’。 -
执行操作: 将会打开一个新浏览器窗口并导航到基本 URL。执行您想要测试的操作(例如,在搜索框中输入 ‘Selenium IDE’,按 Enter 键)。Selenium IDE 会在其窗口中记录这些操作。
-
添加断言/验证 (可选但推荐): 在录制期间,右键单击浏览器窗口中的元素,然后选择
Selenium IDE->Assert或Verify选项(例如,Verify Text,Assert Element Present)。验证 (Verification) 失败时会继续执行,而断言 (Assertion) 失败时会停止执行。 -
停止录制: 返回到 Selenium IDE 窗口并点击红色的 ‘Stop Recording’ 按钮。
-
回放测试: 点击 IDE 中的 ‘Run current test’ 按钮(播放图标)以回放录制的步骤。
-
编辑测试: 您可以直接在 IDE 的表格编辑器中修改命令、目标 (targets,即定位符) 和值 (values)。如果定位符失效,可以使用 ‘Select target in page’ 按钮重新选择元素。
-
保存项目: 保存您的项目(
.side文件),该文件包含您的所有测试。
虽然有用,但与 WebDriver 脚本相比,Selenium IDE 存在局限性:
- 有限的逻辑: 控制流是基础的;复杂的逻辑很难实现。
- 可维护性: 与使用 POM 的代码框架相比,管理大型测试套件可能变得困难。
- 数据驱动: 内置数据驱动能力有限(尽管可以使用
csvRead等命令)。 - 集成: 与报告工具、版本控制和复杂框架的集成不太顺畅。
- 健壮性: 录制的定位符可能不是最稳定的;显式等待 (explicit waits) 需要仔细手动添加。
- 导出的代码质量: 导出的代码通常需要进行大量重构 (refactoring)。
将 Selenium IDE 用作起点或处理简单任务,但对于健壮、可维护和可扩展的测试自动化,应过渡到使用 TestNG 或 JUnit 等框架进行 WebDriver 脚本编写。