验证元素是否存在并等待命令 Selenium
验证元素的存在
我们可以使用以下两个命令来验证元素的存在:
- 验证元素是否存在 – 如果在页面中找到指定元素,则返回 TRUE;否则返回 FALSE
- 验证元素不存在 – 如果在页面的任何地方都找不到指定的元素,则返回 TRUE;如果存在,则返回 FALSE。
下面的测试脚本验证用户名文本框是否存在于 Mercury Tours 主页,而 First Name 文本框不是。First Name 文本框实际上是注册页面中的一个元素 Mercury 旅游,不在主页上。
验证命令中是否存在特定文本 Selenium
- 验证文本存在 – 如果在页面的某个地方找到了指定的文本字符串,则返回 TRUE;否则,返回 FALSE
- 验证文本不存在 – 如果在页面的任何地方都找不到指定的文本字符串,则返回 TRUE;如果找到了,则返回 FALSE
请记住,这些命令区分大小写。
在上面的场景中,“Atlanta to Las Vegas”和“atlanta to Las Vegas”的处理方式不同,因为“Atlanta”中的字母“A”在第一个上是大写,而在另一个上是小写。当对它们每个使用 verifyTextPresent 命令时,一个通过而另一个失败。
验证元素的特定位置
Selenium IDE 通过测量元素与浏览器窗口左边缘或上边缘的距离(以像素为单位)来指示元素的位置。
- 验证元素位置左 – 验证指定的像素数是否与元素与页面左边缘的距离匹配。如果指定的值与与左边缘的距离不匹配,则返回 FALSE。
- verifyElementPositionTop – 验证指定的像素数是否与元素与页面上边缘的距离匹配。如果指定的值与与上边缘的距离不匹配,则返回 FALSE。
等待命令 Selenium
以下是等待命令的类型 Selenium
andWait 命令
这些命令将等待新页面加载后再转到下一个命令。
例子
- 点击并等待
- 键入并等待
- 选择并等待
waitFor 命令
这些命令会等待指定条件变为真,然后再继续执行下一个命令(无论是否加载新页面)。这些命令更适合用于基于 AJAX 的动态网站,这些网站可以更改值和元素而无需重新加载整个页面。示例包括:
- 等待标题
- 等待文本呈现
- 等待警报
请考虑下面的 Facebook 场景。
我们可以使用“click”和“waitForTextPresent”的组合来验证文本“Providing yourbirthday”的存在。
我们不能使用 clickAndWait,因为点击“为什么我需要提供我的生日?”链接时没有加载任何页面。如果我们这样做,测试将失败
结语
- 验证页面元素最常用的三个命令是:
- 验证元素存在/验证元素不存在
- 验证文本存在/验证文本不存在
- verifyElementPositionLeft/ verifyElementPositionTop
- 等待命令分为两类:
- andWait 命令 – 在需要加载页面时使用
- waitFor 命令 – 当不需要加载新页面时使用