验证元素是否存在并等待命令 Selenium

验证元素的存在

我们可以使用以下两个命令来验证元素的存在:

  • 验证元素是否存在 – 如果在页面中找到指定元素,则返回 TRUE;否则返回 FALSE
  • 验证元素不存在 – 如果在页面的任何地方都找不到指定的元素,则返回 TRUE;如果存在,则返回 FALSE。

下面的测试脚本验证用户名文本框是否存在于 Mercury Tours 主页,而 First Name 文本框不是。First Name 文本框实际上是注册页面中的一个元素 Mercury 旅游,不在主页上。

验证元素的存在

验证命令中是否存在特定文本 Selenium

  • 验证文本存在 – 如果在页面的某个地方找到了指定的文本字符串,则返回 TRUE;否则,返回 FALSE
  • 验证文本不存在 – 如果在页面的任何地方都找不到指定的文本字符串,则返回 TRUE;如果找到了,则返回 FALSE

请记住,这些命令区分大小写。

验证命令中是否存在特定文本 Selenium

在上面的场景中,“Atlanta to Las Vegas”和“atlanta to Las Vegas”的处理方式不同,因为“Atlanta”中的字母“A”在第一个上是大写,而在另一个上是小写。当对它们每个使用 verifyTextPresent 命令时,一个通过而另一个失败。

验证元素的特定位置

Selenium IDE 通过测量元素与浏览器窗口左边缘或上边缘的距离(以像素为单位)来指示元素的位置。

  • 验证元素位置左 – 验证指定的像素数是否与元素与页面左边缘的距离匹配。如果指定的值与与左边缘的距离不匹配,则返回 FALSE。
  • verifyElementPositionTop – 验证指定的像素数是否与元素与页面上边缘的距离匹配。如果指定的值与与上边缘的距离不匹配,则返回 FALSE。

验证元素的特定位置

等待命令 Selenium

以下是等待命令的类型 Selenium

andWait 命令

这些命令将等待新页面加载后再转到下一个命令。

例子

  • 点击并等待
  • 键入并等待
  • 选择并等待

AndWait 命令

waitFor 命令

这些命令会等待指定条件变为真,然后再继续执行下一个命令(无论是否加载新页面)。这些命令更适合用于基于 AJAX 的动态网站,这些网站可以更改值和元素而无需重新加载整个页面。示例包括:

  • 等待标题
  • 等待文本呈现
  • 等待警报

请考虑下面的 Facebook 场景。

WaitFor 命令

我们可以使用“click”和“waitForTextPresent”的组合来验证文本“Providing yourbirthday”的存在。

WaitFor 命令

我们不能使用 clickAndWait,因为点击“为什么我需要提供我的生日?”链接时没有加载任何页面。如果我们这样做,测试将失败

WaitFor 命令

结语

  • 验证页面元素最常用的三个命令是:
  • 验证元素存在/验证元素不存在
  • 验证文本存在/验证文本不存在
  • verifyElementPositionLeft/ verifyElementPositionTop
  • 等待命令分为两类:
  • andWait 命令 – 在需要加载页面时使用
  • waitFor 命令 – 当不需要加载新页面时使用