存储变量、Echo、Alert、PopUp 处理 Selenium IDE

在本教程中,我们将学习存储命令、回显命令、警报和弹出处理。

Selenium IDE 变量

线上商城

将变量存储在 Selenium IDE,我们使用“store”命令。下图将值“tutorial”存储到名为“myVariable”的变量中。

Selenium IDE 变量

要访问变量,只需将其括在 ${ … } 符号中即可。例如,要在“userName”文本框中输入“myVariable”的值 Mercury 旅游,在值字段中输入 ${myVariable}。

Selenium IDE 变量

存储元素呈现

此命令根据指定元素的存在情况存储“true”或“false”。下面的脚本将布尔值“true”存储到“var1”,将“false”存储到“var2”。为了验证,我们将使用“echo”命令显示 var1 和 var2 的值。下图中的基本 URL 设置为 Mercury 旅游主页。

存储元素呈现

商店文本

此命令用于将元素的内部文本存储到变量中。下图将 Facebook 中标签的内部文本存储到名为“textVar”的变量中。

商店文本

由于它是页面中唯一的元素,因此可以安全地使用“css=h1”作为目标。下图显示了 Selenium IDE 能够通过正确打印其值将字符串“Sign Up”保存在“textVar”变量中。

商店文本

警报、弹出窗口和多重 Windows

警报可能是最简单的弹出窗口形式。最常见的 Selenium 处理警报使用的 IDE 命令如下:

通知 使用

断言警报

断言不警报

检索警报消息并将其断言为您指定的字符串值

断言警报呈现

断言警报不存在

断言是否存在警报
商店警报 检索警报消息并将其存储在您指定的变量中
商店警报呈现 如果存在警报则返回 TRUE;否则返回 FALSE

验证警报

验证未警报

检索警报消息并验证它是否等于您指定的字符串值

验证警报存在

验证警报不存在

验证是否存在警报

使用警报时请记住以下两点:

  • Selenium IDE 会自动单击警报窗口的“确定”按钮,因此您将无法看到实际的警报。
  • Selenium IDE 无法处理页面 onload() 函数内的警报。它只能处理页面完全加载后生成的警报。

在此示例中,我们将使用 storeAlert 命令来显示,尽管 Selenium IDE 没有显示实际警报,但它仍然能够检索其消息。

步骤1) In Selenium IDE,将基本 URL 设置为 http://jsbin.com。完整 URL 为:http://jsbin.com/usidix

步骤2) 创建脚本,如下所示。

警报、弹出窗口和多重 Windows

步骤3) 执行脚本,不要期望能够看到实际的警报。

警报、弹出窗口和多重 Windows

确认

确认是弹出窗口,其中会显示“确定”和“取消”按钮,而警报则只显示“确定”按钮。处理确认时可以使用的命令与处理警报时使用的命令类似。

  • 断言确认/断言未确认
  • 断言确认存在/断言确认不存在
  • 商店确认
  • 商店确认信息
  • 验证确认/验证未确认
  • 验证确认存在/验证确认不存在

但是,这些是你需要用来指导的附加命令 Selenium 选择哪个选项,是“确定”还是“取消”按钮。

  • 选择下一步确认时确定/选择下一步确认时确定并等待
  • 选择下次确认时取消

您应该在触发确认框的命令之前使用这些命令,以便 Selenium IDE 会预先知道选择哪个选项。同样,在脚本执行期间您将无法看到实际的确认框。

让我们测试一个网页,该网页上有一个按钮,该按钮经过编码以显示用户是否按下了“确定”或“取消”按钮。

步骤1) In Selenium IDE,将基本 URL 设置为 http://jsbin.com

完整网址为:http://jsbin.com/enifaf

步骤2) 按照如下所示创建脚本。这次,我们先按“确定”按钮。

确认

步骤3) 执行脚本并注意你没有看到实际的确认,但网页能够指示哪个按钮 Selenium IDE 已按下。

确认

步骤4) 将“chooseOkOnNextConfirmation”命令替换为“chooseCancelOnNextConfirmation”并再次执行脚本。

确认

多 Windows

如果你碰巧点击了一个打开单独窗口的链接,你必须先指示 Selenium IDE 会先选择该窗口,然后才能访问其中的元素。为此,您将使用窗口的标题作为其定位器。

我们使用 selectWindow 命令在窗口之间切换。

我们将使用标题为“第一个窗口”的链接 http://jsbin.com/ocinaj/1。该页面上的“此处”超链接将在新窗口中打开 Facebook,之后我们将指示 Selenium IDE 执行以下操作:

  • 使用“selectWindow”命令并将其标题作为定位器,将控制权从父窗口转移到新启动的 Facebook 窗口
  • 验证新窗口的标题
  • 使用“selectWindow”命令重新选择原始窗口并以“null”作为其目标。
  • 验证当前选定窗口的标题

多 Windows

步骤1) 将基本 URL 设置为 http://jsbin.com。

步骤2) 创建脚本,如下所示。

多 Windows

我们需要“暂停”命令来等待新启动的窗口加载,然后我们才能访问其标题。

步骤3) 执行脚本。请注意 测试用例 通过,这意味着我们能够在窗口之间切换并成功验证其标题。

多 Windows

永远记住,将 selectWindow 的目标设置为“null”将自动选择父窗口(在本例中,即找到元素“link=here”的窗口)

请注意: 自教程创建以来,Facebook 已更改标题。请相应地修改代码

结语

  • “store”命令(及其所有变体)用于将变量存储在 Selenium IDE
  • “echo”命令用于打印字符串值或变量
  • 在打印或在元素上使用时,变量被括在 ${…} 中
  • Selenium IDE 在处理警报时自动按下 OK 按钮
  • 处理确认对话框时,你可以指示 Selenium IDE 使用哪个选项:
    • 选择下一步确认时确定/选择下一步确认时确定并等待
    • 选择下次确认时取消
  • 在浏览器窗口之间切换时,窗口标题用作定位器。
  • 使用“selectWindow”命令时,设置 Target 设置为“null”将自动指向 Selenium IDE 选择父窗口。