Skip to content

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

安装后,您可以从浏览器的扩展程序菜单中启动它。

  • 录制和回放 (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): 支持插件,用于添加自定义命令或定位符。
  1. 启动 IDE: 打开 Selenium IDE 扩展程序。

  2. 创建新项目: 选择 ‘Create a new project’ 并给它命名。

  3. 录制测试: 选择 ‘Record a new test in a new project’,提供一个测试名称(例如,‘Google Search Test’),然后输入基本 URL (Base URL)(例如,https://www.google.com)。点击 ‘Start Recording’。

  4. 执行操作: 将会打开一个新浏览器窗口并导航到基本 URL。执行您想要测试的操作(例如,在搜索框中输入 ‘Selenium IDE’,按 Enter 键)。Selenium IDE 会在其窗口中记录这些操作。

  5. 添加断言/验证 (可选但推荐): 在录制期间,右键单击浏览器窗口中的元素,然后选择 Selenium IDE -> Assert 或 Verify 选项(例如,Verify Text,Assert Element Present)。验证 (Verification) 失败时会继续执行,而断言 (Assertion) 失败时会停止执行。

  6. 停止录制: 返回到 Selenium IDE 窗口并点击红色的 ‘Stop Recording’ 按钮。

  7. 回放测试: 点击 IDE 中的 ‘Run current test’ 按钮(播放图标)以回放录制的步骤。

  8. 编辑测试: 您可以直接在 IDE 的表格编辑器中修改命令、目标 (targets,即定位符) 和值 (values)。如果定位符失效,可以使用 ‘Select target in page’ 按钮重新选择元素。

  9. 保存项目: 保存您的项目(.side 文件),该文件包含您的所有测试。

虽然有用,但与 WebDriver 脚本相比,Selenium IDE 存在局限性:

  • 有限的逻辑: 控制流是基础的;复杂的逻辑很难实现。
  • 可维护性: 与使用 POM 的代码框架相比,管理大型测试套件可能变得困难。
  • 数据驱动: 内置数据驱动能力有限(尽管可以使用 csvRead 等命令)。
  • 集成: 与报告工具、版本控制和复杂框架的集成不太顺畅。
  • 健壮性: 录制的定位符可能不是最稳定的;显式等待 (explicit waits) 需要仔细手动添加。
  • 导出的代码质量: 导出的代码通常需要进行大量重构 (refactoring)。

将 Selenium IDE 用作起点或处理简单任务,但对于健壮、可维护和可扩展的测试自动化,应过渡到使用 TestNG 或 JUnit 等框架进行 WebDriver 脚本编写。