Selenium IDE 教程

⚡ 智能摘要

Selenium IDE是……的录制和回放工具 Selenium 套件,专为原型设计而构建ping 它不维护大型测试套件,而是进行测试,其面板涵盖了录制、编辑、运行和检查每个 Selenese 命令。

  • 🔘 目的: 该 IDE 将浏览器操作记录为 Selenese 命令,并无需任何编程即可重放这些命令。
  • ☑️ 范围: 将其视为原型ping 然后使用该工具导出脚本,以便构建可维护的框架。
  • 菜单栏: 文件处理创建、打开、保存和导出;编辑功能插入新命令和注释。
  • 🧪 选项: “选项”对话框设置默认超时时间(基本超时时间)。 URL 行为和定位器构建顺序。
  • 🛠️ 责任编辑: 表格视图用于输入命令、目标和值;源代码视图以标记形式显示相同的脚本。
  • 📊 反馈窗格: 日志窗格报告调试、信息、警告和错误消息,而参考窗格解释所选命令。
  • 🚀 今天是: 当前使用的集成开发环境是 Chrome, Firefox Edge 扩展程序可以将项目保存为单个 .side 文件。

Selenium IDE教程,涵盖其窗格、菜单和工具栏

什么是 Selenium IDE?

Selenium IDE(集成开发环境)是最简单的工具 Selenium 套房。这是 Firefox 该插件通过其录制和回放功能,可以非常快速地创建测试。此功能类似于…… QTP它安装简便,易于学习。

⚠️ 关于版本的说明: 这个 Firefox 本文中展示的插件已停止维护。该工具目前仍以 Chrome 浏览器插件的形式存在。 Firefox 和边缘 浏览器扩展 它保留了录制和回放功能,但重新排列了界面,并将项目保存为单个文件。 .side 文件。以下所有原始屏幕截图和设置均按发布时的状态保留。

由于其简单性, Selenium IDE 应该只用作原型。ping 工具,而不是开发的整体解决方案ping 以及维护复杂的测试套件。

虽然你可以使用 Selenium IDE 无需编程知识,你至少应该熟悉 HTML, JavaScript以及 DOM(文档对象模型),以便充分发挥此工具的潜力。需要了解 Java当我们讲解 Selenese 命令“runScript”时,就需要用到脚本了。

Selenium IDE 在创建测试时支持自动完成模式。此功能有两个用途:

  • 它可以帮助测试人员更快地输入命令。
  • 它限制用户输入无效命令。

Selenium IDE 功能

下面标注的屏幕标明了本文其余部分提到的每个区域。

Selenium 带有菜单栏的 IDE 窗口,基本 URL 标签页、工具栏、测试用例窗格、编辑器和日志窗格

菜单栏

它位于集成开发环境 (IDE) 的最顶部。最常用的菜单是“文件”、“编辑”和“选项”菜单。

“文件”菜单

  • 它包含创建、打开、保存和关闭测试的选项。
  • 测试结果以HTML格式保存。
  • 最有用的选项是“导出”,因为它允许您转换您的文件。 Selenium IDE 测试用例转换成可以在 Selenium 远程控制和 WebDriver
  • “导出测试用例为…”只会导出当前打开的测试用例。
  • “导出测试套件为…”会将当前打开的测试套件中的所有测试用例导出。

下面展开的“文件”菜单并排显示了两个导出选项。

Selenium IDE 文件菜单展开后显示“导出测试用例为”和“导出测试套件为”

  • 截至 Selenium IDE v1.9.1 版本中,测试用例仅支持导出为以下格式:
    • .cs(C# 源代码)
    • .java(Java 源代码)
    • .py(Python 源代码)
    • .rb(Ruby 源代码)

导出操作会将每行 Selenese 语句重写为所选语言的语句,就像 HTML 到 HTML 的转换一样。Java 对比结果显示。

Selenese HTML 测试用例显示在等效导出代码旁边 Java 源代码

注意: Selenium 遥控器被移除 Selenium 3,因此导出的 RC 脚本不再运行。当前的 IDE 改为导出 WebDriver 代码。

编辑菜单

  • 它包含常用选项,如撤消、重做、剪切、复制、粘贴、删除和全选。
  • 最重要的两个选项是“插入新命令”和“插入新注释”。

Selenium IDE 编辑菜单中“插入新命令”和“插入新注释”选项已高亮显示

新插入的命令或注释将放置在当前选定行的顶部。

在选定行上方插入新命令前后的编辑器网格

  • 命令以黑色显示。
  • 评论以紫色显示。

颜色差异使得在长篇脚本中插入的注释很容易被识别出来。

编辑器行显示一条黑色 Selenese 命令,旁边是一条紫色注释行

选项菜单

它提供了配置各种设置的接口 Selenium IDE。

我们将重点介绍选项和剪贴板格式选项。

剪贴板格式子菜单列出了所有可用的代码片段格式

剪贴板格式

  • 剪贴板格式允许您从编辑器复制 Selenese 命令并将其粘贴为代码片段。
  • 代码的格式遵循您在剪贴板格式列表中选择的选项。
  • HTML 是默认选择。

例如,当你选择 Java/JUnit 4/WebDriver 作为剪贴板格式,您复制的每个 Selenese 命令都来自 Selenium IDE 的编辑器将粘贴为 Java 代码。参见下图。

从编辑器复制并粘贴的 Selenese 命令 Java WebDriver 声明

Selenium IDE 选项对话框

您可以启动 Selenium 在菜单栏上单击选项 > 选项…,打开 IDE 选项对话框。虽然有许多设置可用,但我们将集中讨论几个重要的设置。

Selenium IDE选项对话框,包含超时、扩展和基本设置。 URL 并记录标记为

  • 默认超时值。 这指的是……的时间 Selenium 必须等待特定元素出现或可访问后才会生成错误。默认超时值为 30000 毫秒。
  • Selenium IDE扩展。 在这里,您可以指定要用于扩展的扩展名。 Selenium IDE 的功能。您可以访问 addons.mozilla.org 并使用“Selenium”作为关键字来搜索特定的扩展。
  • 记住基地 URL. 如果需要,请勾选此项 Selenium IDE 记住 Base URL 每次启动时都会这样。如果您取消选中此项, Selenium IDE 启动时,Base 的值始终为空。 URL.
  • 自动启动记录。 如果你检查一下, Selenium IDE 将在启动时立即记录您的浏览器操作。
  • 定位器建造者。 在这里,您可以指定录制过程中定位器的生成顺序。 定位器 有办法告诉 Selenium IDE 中 Selenese 命令应该作用于哪个 UI 元素。在下面的设置中,当您单击具有 ID 属性的元素时,该元素的 ID 将用作定位器,因为“id”是列表中的第一个。如果该元素没有 ID 属性, Selenium 接下来会查找“name”属性,因为它在列表中排在第二位。列表会一直查找,直到找到合适的属性。

将列表中的条目上下拖动,即可改变记录器首先读取的属性。

定位器构建器列表,显示记录器生成定位器时使用的优​​先级顺序

基值 URL 巴

脚本中的每个相对地址都会根据此字段进行解析。

基值 URL 酒吧 Selenium IDE 保存着被测应用程序的地址

  • 它有一个下拉菜单,可以记住所有以前的值,以方便访问。
  • Selenese 命令“open”会将您带到 URL 您在基础设置中指定的 URL.
  • 在本系列教程中,我们将使用 demo.guru99.com/test/newtours/ 作为我们的基地 URL这是该网站 Mercury Tours 是一个用于网页测试的演示型 Web 应用程序。我们将使用此应用程序,因为它包含了后续主题所需的所有元素。
  • 该基地 URL 在获取相关资料方面非常有用 URL假设你的基地 URL 被设置为 Mercury 旅游地址如上所示。当您执行命令“open”并将目标值设置为“signup”时, Selenium IDE 会将浏览器引导至注册页面。参见下图。

打开命令,使用相对于已配置基础的相对目标注册进行解析 URL

工具栏

工具栏包含录制和播放控制按钮。每个按钮及其功能如下所示。

播放速度滑块 播放速度。此设置控制测试脚本的执行速度。
录音按钮 录制。此操作开始/结束录制会话。每个浏览器操作都以 Selenese 命令的形式输入到编辑器中。
播放整个测试套件按钮 运行整个测试套件。这将按顺序运行“测试用例窗格”中列出的所有测试用例。
播放当前测试用例按钮 播放当前测试用例。这将仅播放测试用例窗格中当前选定的测试用例。
暂停和恢复按钮 暂停/恢复。这将暂停或恢复播放。
步进按钮 步骤。此按钮允许您逐步执行测试脚本中的每个命令。
应用汇总规则按钮 应用汇总规则。这是一项高级功能。它允许您将 Selenese 命令组合在一起,并将它们作为单个操作执行。

测试用例窗格

测试用例窗格列出了所有已打开的测试用例,并以颜色区分通过和失败,同时还提供运行摘要。

  • In Selenium 在 IDE 中,您可以同时打开多个测试用例。
  • 测试用例窗格显示当前打开的测试用例列表。
  • 打开测试套件时,测试用例窗格会自动列出其中包含的所有测试用例。
  • 以粗体显示的测试用例是当前选定的测试用例。
  • 回放后,每个测试用例都会用不同的颜色进行编码,以表示它是通过还是失败。
  • 绿色表示“通过”。
  • 红色表示“失败”。
  • 底部是已运行但失败的测试用例数量的摘要。

编辑:

您可以将编辑器视为所有操作发生的地方。它提供两种视图:表格视图和源代码视图。

表格检视

  • 大多数时候,你会致力于 Selenium 使用表格视图的IDE。
  • 在这里您可以创建和修改 Selenese 命令。
  • 播放后,每个步骤都用颜色编码。

编辑器以表格视图显示,回放后执行的步骤会进行颜色编码。

  • 要创建步骤,请在“命令”文本框中键入命令的名称。
  • 它会显示一个下拉列表,其中包含与您当前输入的条目匹配的命令。ping.
  • Target 是命令的任何参数(如用户名、密码),而 Value 是这些命令的输入值(如 tom、123pass) Targets.

命令, Target 和值字段 Selenium IDE表格编辑器

源视图

  • 它以 HTML(默认)格式显示步骤。
  • 它还允许您像在表格视图中一样编辑脚本。

源代码视图中的编辑器显示了与 HTML Selenese 表格相同的测试用例

日志窗格

日志窗格显示执行期间的运行时消息。它提供有关执行情况的实时更新。 Selenium IDE 正在做什么。

日志分为四类:

  • 调试 默认情况下,调试消息不会显示在日志面板中。它们只有在您进行筛选后才会显示。这些消息提供有关什么方面的技术信息。 Selenium IDE 在后台执行操作。它可能会显示消息,例如特定模块已完成加载、某个函数被调用,或者外部 Java脚本文件作为扩展名加载。
  • 资料 它说的是哪个命令 Selenium IDE 正在执行。
  • 警告 – 这些是在特殊情况下遇到的警告信息。
  • 误差 这些是生成时的错误消息 Selenium IDE 无法执行命令,或者如果满足指定的条件 “验证”或“断言”命令 未满足要求。

日志窗格下拉菜单列出了调试、信息、警告和错误消息类型

日志可以按类型筛选。例如,如果您从下拉列表中选择“错误”选项,则日志窗格将仅显示错误消息。

日志窗格已筛选为“错误”,因此仅显示失败的命令消息。

参考窗格

参考窗格显示编辑器中当前选定的 Selenese 命令的简要说明。它还显示有关该命令要使用的定位器和值的说明。

参考窗格描述了所选的 Selenese 命令及其目标和值参数。

UI 元素窗格

UI-Element 适用于高级 Selenium 用户。它使用 Java使用脚本对象表示法 (JSON) 定义元素映射ping文档和资源位于“帮助”菜单下的“UI元素文档”选项中。 Selenium IDE。

帮助菜单 Selenium IDE 包含 UI 元素文档条目

下面显示了一个 UI 元素屏幕的示例。

UI元素面板,其中包含被测应用程序的JSON元素映射。

汇总窗格

Rollup 允许您一步执行一组命令。这组命令简称为“rollup”。它大量使用了 Java脚本和 UI 元素概念来制定类似于编程语言中的“函数”的命令集合。

汇总命令是可重用的;也就是说,它们可以在测试用例中多次使用。由于汇总命令是将多个命令组合成一个命令,因此它们可以极大地缩短测试脚本的长度。

在编辑器中,多个 Selenese 步骤被合并成一个汇总命令。

下面显示了汇总选项卡内容的示例。

汇总窗格显示 Java可重用汇总规则背后的脚本定义

当前扩展程序中没有对应的汇总面板和 UI 元素面板;现在由控制流命令和代码导出功能来承担这一角色。

常见问题

一个扩展名为 .side 的单个文件包含了整个项目——所有测试、所有测试套件以及基础代码。 URL这取代了以前每个测试用例一个 HTML 文件的模式,使项目更容易提交到版本控制系统中。

是的。扩展程序内部的播放会使用安装它的浏览器,但命令行运行程序会针对其他浏览器执行已保存的项目,并能融入构建管道,这是浏览器内播放器无法做到的。

当前的 IDE 提供了一系列控制流命令,包括 if、else if、else、while、times、do、repeat if 和 for each。这涵盖了分支和循环逻辑。ping 在没有录制脚本的情况下 Java脚本绕过了旧版汇总功能所需的步骤。

记录器会为每个元素存储多个候选定位器。回放时,会逐个尝试这些候选定位器,直到找到一个成功为止,因此更改 ID 并不一定会导致步骤失败。如果持续出现定位失败的情况,则仍然需要手动编辑定位器列表。

右键单击测试或测试套件,即可提供适用于 C# NUnit、C# xUnit 的 WebDriver 代码。 Java JUnit, JavaScript Mocha, Python 测试 以及 Ruby RSpec。可选的切换开关可添加注释。 trac将生成的每行代码还原到其记录的步骤。

机器学习主要应用于测试记录中最薄弱的环节:定位器。自愈引擎会对多个候选定位器进行排序,并在标记发生变化时替换为有效的定位器;类似的模型则会对重复出现的故障进行聚类,从而将真正的缺陷与时间噪声区分开来。

它非常适合用于清理阶段。导出的代码是一个冗长的线性方法,Copilot 会将其重构为页面对象,将硬编码数据提取到 fixtures 中,并将固定的暂停替换为显式的等待。 Rev查看它保存的定位器。

一旦测试需要共享设置、数据文件、报告或在多个测试套件中重复使用,IDE 就非常适合快速验证场景;一段编码代码即可完成测试。 Selenium 框架使得数百个这样的场景得以维护。

总结一下这篇文章: