使用方法 Selenium 带有脚本和命令的 IDE(断言、验证)

我们将使用 Mercury Tours 网站作为我们要测试的 Web 应用程序。它是一个在线航班预订系统,包含本教程所需的所有元素。它的 URL 是 https://demo.guru99.com/test/newtours/,这将是我们的 Base URL。

现在让我们创建我们的第一个测试脚本 Selenium IDE 使用最常见的方法 – 通过录制。之后,我们将使用回放功能执行我们的脚本。

通过录制创建脚本

步骤1

  • 正式上线 Firefox 和 Selenium IDE。
  • 输入我们的基本 URL 的值: https://demo.guru99.com/test/newtours/.
  • Toggle 打开“录制”按钮(如果默认情况下尚未打开)。

通过录制创建脚本

步骤2

In Firefox, 导航 https://demo.guru99.com/test/newtours/. Firefox 应该会带您进入类似下面显示的页面。

通过录制创建脚本

步骤3

  • 右键单击页面中的任意空白处,例如 Mercury 左上角的旅游标志。这将调出 Selenium IDE 上下文菜单。注意:不要点击任何超链接对象或图像
  • 选择“显示可用命令”选项。
  • 然后,选择“assertTitle exact:Welcome: Mercury Tours。”这是确保页面标题正确的命令。

通过录制创建脚本

通过录制创建脚本

步骤4

  • 在“用户名”文本框中 Mercury 旅游,输入无​​效的用户名“invalidUNN”。
  • 在“密码”文本框中,输入无效密码“invalidPWD”。

通过录制创建脚本

通过录制创建脚本
步骤5

  • 点击“登录”按钮。 Firefox 应该会带你到这个页面。

通过录制创建脚本

步骤6

Toggl关闭录制按钮以停止录制。您的脚本现在应该如下所示。

通过录制创建脚本

步骤7

现在我们已经完成了测试脚本,我们将把它保存在测试用例中。在文件菜单中,选择“保存测试用例”。或者,您也可以直接按 Ctrl+S。

通过录制创建脚本

步骤8

  • 选择所需位置,然后命名 测试用例 显示为“Invalid_login”。
  • 点击“保存”按钮。

通过录制创建脚本

步骤9

请注意该文件已保存为 HTML。

通过录制创建脚本

步骤10) 回去 Selenium IDE 并单击播放按钮来执行整个脚本。 Selenium IDE 应该能够完美地复制一切。

通过录制创建脚本

简介 Selenium 命令 – Selenese

  • Selenese 命令最多可以有两个参数:目标和值。
  • 参数并不总是必需的。这取决于命令需要多少个参数。

命令类型

行动 这些是直接与页面元素交互的命令。

例如:“单击”命令是一个动作,因为您直接与所单击的元素进行交互。

“type”命令也是一个动作,因为你将值输入到文本框中,而文本框则将值显示给你。你和文本框之间是双向交互。

存取器 它们是允许您将值存储到变量的命令。

例如:“storeTitle”命令是一个访问器,因为它只“读取”页面标题并将其保存在变量中。它不与页面上的任何元素交互。

断言 它们是验证是否满足某个条件的命令。

3 种断言类型

  • 断言当“assert”命令失败时,测试立即停止。
  • 确认. 当“验证”命令失败时, Selenium IDE 记录此失败并继续执行测试。
  • 等待在继续执行下一个命令之前,“waitFor”命令将首先等待某个条件变为真。
    • 如果条件在等待期内变为真,则该步骤通过。
    • 如果条件不成立,则步骤失败。记录失败,测试执行继续执行下一个命令。
    • 默认情况下,超时值设置为 30 秒。您可以在 Selenium 常规选项卡下的 IDE 选项对话框。

断言与验证 Selenium

断言与验证 Selenium

断言与验证 Selenium

常用命令

命令 参数数量 描述
open 0 - 2 使用 URL 打开页面。
点击/点击并等待 1 点击指定元素。
类型/typeKeys 2 输入一系列字符。
验证标题/断言标题 1 将实际页面标题与预期值进行比较。
验证文本存在 1 检查页面中是否找到特定文本。
验证元素是否存在 1 检查某个元素的存在。
验证表 2 将表的内容与预期值进行比较。
等待页面加载 1 暂停执行直到页面完全加载。
等待元素出现 1 暂停执行直到指定元素出现。

使用 Firebug 手动创建脚本

现在,我们将通过输入命令手动重新创建相同的测试用例。这次,我们需要使用 Firebug。

步骤1

使用 Firebug 手动创建脚本

步骤2: 单击编辑器最上面的空白行。

使用 Firebug 手动创建脚本

在命令文本框中输入“open”并按 Enter。

使用 Firebug 手动创建脚本

步骤3

  • 导航 Firefox 到我们的基本 URL 并激活 Firebug
  • 在 Selenium IDE 编辑器窗格,选择第二行(“open”命令下面的那一行),然后在命令框中输入“assertTitle”来创建第二个命令。
  • 请随意使用自动完成功能。

使用 Firebug 手动创建脚本

步骤4

  • 在 Firebug 中,展开标签来显示标签。
  • 单击标签(即“欢迎: Mercury Tours”)并将其粘贴到 Target 编辑器中的字段。

使用 Firebug 手动创建脚本

步骤5

  • 要创建第三个命令,请单击编辑器中的第三个空白行,然后在命令文本框中输入“type”。
  • 在 Firebug 中,单击“检查”按钮。

使用 Firebug 手动创建脚本

单击用户名文本框。请注意,Firebug 会自动显示该元素的 HTML 代码。

使用 Firebug 手动创建脚本

步骤6 请注意,用户名文本框没有 ID,但具有 NAME 属性。因此,我们将使用其 NAME 作为定位器。复制 NAME 值并将其粘贴到 Target 场在 Selenium IDE。

使用 Firebug 手动创建脚本

仍然在 Target 文本框中,在“userName”前面加上“name=”,表示 Selenium IDE 应该定位 NAME 属性为“userName”的元素。

使用 Firebug 手动创建脚本

在“值”文本框中输入“invalidUN” Selenium IDE。您的测试脚本现在应该如下图所示。我们完成了第三个命令。注意:除了 invalidUN,您还可以输入任何其他文本字符串。但 Selenium IDE 区分大小写,您可以像在应用程序中一样输入值/属性。

使用 Firebug 手动创建脚本

步骤7

  • 要创建第四个命令,在命令文本框中输入“type”。
  • 再次使用 Firebug 的“检查”按钮获取“密码”文本框的定位器。

使用 Firebug 手动创建脚本

  • 将 NAME 属性(“密码”)粘贴到 Target 字段并在其前面加上“name=”
  • 在“值”字段中输入“invalidPW” Selenium IDE。您的测试脚本现在应该如下图所示。

使用 Firebug 手动创建脚本

步骤8

  • 对于第五个命令,在命令文本框中输入“clickAndWait” Selenium IDE。
  • 使用 Firebug 的“检查”按钮获取“登录”按钮的定位器。

使用 Firebug 手动创建脚本

  • 将 NAME 属性的值(“login”)粘贴到 Target 文本框并在其前面加上“name=”。
  • 您的测试脚本现在应该如下图所示。

使用 Firebug 手动创建脚本

步骤9: 按照与上一节相同的方式保存测试用例。

使用“查找”按钮

中的“查找”按钮 Selenium IDE 用于验证我们放入的内容是否 Target 文本框确实是正确的 UI 元素。

让我们使用在前面部分中创建的 Invalid_login 测试用例。单击带有 Target 输入,比如说第三个命令。

使用“查找”按钮

单击“查找”按钮。请注意, Mercury 旅游页面会高亮一秒钟。

使用“查找”按钮

这表明 Selenium IDE 能够正确检测并访问预期元素。如果“查找”按钮突出显示了不同的元素或根本没有元素,则您的脚本一定有问题。

执行命令

这使您可以执行任何单个命令,而无需运行整个测试用例。只需单击您想要执行的行,然后单击菜单栏中的“操作 > 执行此命令”或直接按键盘上的“X”。

步骤1) 确保您的浏览器处于 Mercury Tours 主页。单击要执行的命令。在此示例中,单击“type | userName | invalidUN”行。

执行命令

步骤2) 按下键盘上的“X”。

步骤3) 观察用户名文本框是否填充了文本“invalidUN”

执行命令

以这种方式执行命令在很大程度上取决于 Firefox 当前显示。这意味着,如果您尝试上述示例,并显示 Google 主页,而不是 Mercury Tours',那么您的步骤将会失败,因为 Google 主页中没有带有“userName”属性的文本框。

起点

起点是一个指标,它告诉我们 Selenium IDE 将从哪几行开始执行. 其快捷键为“S”。

起点

在上面的例子中,播放将从第三行 (type | password | invalidPW) 开始。 单个测试脚本中只能有一个起点。

起始点与执行命令类似,因为它们依赖于当前显示的页面。如果您在错误的页面上,起始点将失败。

断点

断点是一种指标,它告诉我们 Selenium IDE 在哪里自动暂停测试。 快捷键是“B”。

断点

黄色高亮表示当前步骤尚待完成。这证明 Selenium IDE 已暂停该步骤的执行。 一个测试用例中可以有多个断点。

步骤

它允许您在暂停测试用例后一次执行一个后续命令。让我们使用上一节“断点”中的场景。

步骤

在单击“步骤”之前。

测试用例在“clickAndWait | login”行暂停。

步骤 点击“步骤”后。

运行“clickAndWait | login”行并暂停到下一个命令(verifyTitle | Sign-on: Mercury 旅游)。

请注意,即使下一行没有断点,它也会暂停。这是 Step 功能的主要目的 - 它一次执行一个后续命令,以便您有更多时间检查每个步骤后的结果。

在源视图中使用其他格式时需要注意的重要事项

在源视图中使用其他格式时需要注意的重要事项

Selenium IDE 仅适用于 HTML – 其他格式仍处于实验模式。 这是 不建议 在 Source View 中使用其他格式创建或编辑测试,因为还需要做大量工作才能使其稳定。以下是截至 1.9.1 版的已知错误。

  • 除非您恢复为 HTML,否则您将无法执行播放,也无法切换回表格视图。
  • 在源代码上安全地添加命令的唯一方法是记录它们。
  • 当您手动修改源代码时,切换到另一种格式时,所有内容都将丢失。
  • 虽然您可以在源视图中保存测试用例, Selenium IDE 将无法打开它。

转换 Selenese 测试的推荐方法是使用文件菜单下的“将测试用例导出为...”选项,而不是通过源视图。

总结

  • 可以通过记录或手动输入命令和参数来创建测试脚本。
  • 手动创建脚本时,使用Firebug来获取定位器。
  • “查找”按钮用于检查命令是否能够访问正确的元素。
  • 表格视图以表格形式显示测试脚本,而源视图以 HTML 格式显示测试脚本。
  • 将源视图更改为非 HTML 格式仍处于实验阶段。
  • 不要使用源视图来创建其他格式的测试。请改用导出功能。
  • 参数并不总是必需的。这取决于命令。
  • 有三种类型的命令:
    • 操作——直接与页面元素交互
    • 访问器——“读取”元素属性并将其存储在变量中
    • 断言——将实际值与预期值进行比较
  • 断言有三种类型:
    • 断言——一旦失败,后续步骤将不再执行
    • 验证——失败时,后续步骤仍会执行。
    • WaitFor – 如果指定的条件在超时期限内变为真,则通过;否则将失败
  • 最常见的命令是:
    • open
    • 点击/点击并等待
    • 类型/typeKeys
    • 验证标题/断言标题
    • 验证文本存在
    • 验证元素是否存在
    • 验证表
    • 等待页面加载
    • 等待元素出现