使用

    public boolean isPresent(String xpath, int waitingTimeInSec) {
try {
WebDriverWait wait = new WebDriverWait(webDriver, waitingTimeInSec);
wait.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.xpath(xpath)));
} catch (NoSuchElementException e) {
return false;
}
return true;
}

文档

方法名 功能
titleIs( String title) 判断当前页面的title是否精确等于预期
titleContains( String title) 判断当前页面的title是否包含预期字符串
urlToBe( String url) 判断当前页面的url是否精确等于预期
urlContains( String fraction) 判断当前页面的url是否包含预期字符串
urlMatches( String regex) 字符串正则表达式
presenceOfElementLocated( By locator) 判断元素是否出现,只要有一个元素出现,就通过。(代表在不代表可见)判断是否至少有 1 个元素存在于 dom 树中。举个例子,如果页面上有 n 个元素的 class 都是’column-md-3’,那么只要有 1 个元素存在,这个方法就返回 True。
presenceOfElementsLocated( By locator) 判断元素是否出现,必须所有符合条件的元素都加载出来,才通过。
elementIfVisible(WebElement element) 如果给定元素是可见的且具有非零大小,否则为null
presenceOfAllElementsLocatedBy( By locator) 判断元素是否出现。
visibilityOfElementLocated( By locator) 传入类型为:locator 判断某个元素是否可见. 可见代表元素非隐藏,并且元素宽和高都不等于
visibilityOfAllElementsLocatedBy( By locator) 判断某组元素是否可见
visibilityOfAllElements(final List elements) 传入类型为:element 判断某个元素是否可见. 可见代表元素非隐藏,并且元素宽和高都不等于
textToBePresentInElement( WebElement element, String text) 判断某个元素中的text是否包含了预期的字符串;
textToBePresentInElement(By locator, String text) 判断某个元素中的 text 是否 包含 了预期的字符串
textToBePresentInElementLocated(final By locator, final String text) 判断某个元素中的 text 是否 包含 了预期的字符串
textToBePresentInElementValue( WebElement element, String text) 判断某个元素中的 value 属性是否包含 了预期的字符串
textToBePresentInElementValue(final By locator, final String text) 判断某个元素中的 value 属性是否包含 了预期的字符串
frameToBeAvailableAndSwitchToIt(final String frameLocator) 断该 frame 是否可以 switch进去,如果可以的话,返回 True 并且 switch 进去,否则返回 False
frameToBeAvailableAndSwitchToIt(final By locator) 断该 frame 是否可以 switch进去,如果可以的话,返回 True 并且 switch 进去,否则返回 False
invisibilityOfElementLocated(final By locator) 某个元素中是否不存在于dom树或不可见;
invisibilityOfElementWithText(final By locator, final String text) 判断带有文本的元素要么不可见,要么文本不存在于元素上
elementToBeClickable(final By locator) 判断某个元素中是否可见并且是enable的,这样的话才叫clickable;
elementToBeClickable(final WebElement element) 判断某个元素中是否可见并且是enable的,这样的话才叫clickable;
stalenessOf(final WebElement element) 判断一个元素是否仍在DOM中,传入WebElement对象,可以判断页面是 否刷新了。
refreshed(final ExpectedCondition condition)
elementToBeSelected(WebElement element) 页面元素处于被选中状态
elementSelectionStateToBe( WebElement element, boolean selected) 判断某个元素的选中状态是否符合预期,传入element
elementToBeSelected(By locator) 判断某个元素是否被选中了,一般用在下拉列表;
elementSelectionStateToBe(final By locator, final boolean selected) 判断某个元素的选中状态是否符合预期,传入locator
alertIsPresent() 判断页面上是否存在alert。
not(final ExpectedCondition<?> condition)
WebElement findElement(By by, WebDriver driver)
List findElements(By by, WebDriver driver)
isElementPresent(By.id("xxx")

Refer

https://blog.csdn.net/kuangjuelian229/article/details/89426477

ExpectedConditions API的更多相关文章

  1. selenium之ExpectedConditions类

    API中对于该类的介绍:Canned ExpectedConditions which are generally useful within webdriver tests.很笼统,大概意思就是在w ...

  2. 5.6 WebDriver API实例讲解(16-30)

    16.操作单选框 被测试的网页为Demo1. Java语言版本的API实例代码: public static void operateRadio(){ driver.get("file:// ...

  3. Selenium 2.0 WebDriver 自动化测试 使用教程 实例教程 API快速参考

    Selenium 2.0 WebDriver 自动化测试 使用教程 实例教程 API快速参考 //System.setProperty("webdriver.firefox.bin" ...

  4. WebDriver API 实例详解(三)

    二十一.模拟鼠标右键事件 被测试网页的网址: http://www.sogou.com Java语言版本的API实例代码: package test; import org.testng.annota ...

  5. UI“三重天”之selenium--常用API和问题处理(三)

    Selenium常用API: 前面两篇示例代码中用到了一些selenium的API方法,例如定位元素的八种方法.访问url.等待.操作浏览器.获取title.点击.清理等等. 有关于selenium的 ...

  6. 干货来袭-整套完整安全的API接口解决方案

    在各种手机APP泛滥的现在,背后都有同样泛滥的API接口在支撑,其中鱼龙混杂,直接裸奔的WEB API大量存在,安全性令人堪优 在以前WEB API概念没有很普及的时候,都采用自已定义的接口和结构,对 ...

  7. 12306官方火车票Api接口

    2017,现在已进入春运期间,真的是一票难求,深有体会.各种购票抢票软件应运而生,也有购买加速包提高抢票几率,可以理解为变相的黄牛.对于技术人员,虽然写一个抢票软件还是比较难的,但是还是简单看看123 ...

  8. 几个有趣的WEB设备API(二)

    浏览器和设备之间还有很多有趣的接口, 1.屏幕朝向接口 浏览器有两种方法来监听屏幕朝向,看是横屏还是竖屏. (1)使用css媒体查询的方法 /* 竖屏 */ @media screen and (or ...

  9. html5 canvas常用api总结(三)--图像变换API

    canvas的图像变换api,可以帮助我们更加方便的绘画出一些酷炫的效果,也可以用来制作动画.接下来将总结一下canvas的变换方法,文末有一个例子来更加深刻的了解和利用这几个api. 1.画布旋转a ...

随机推荐

  1. Delphi MSComm 控件方法

  2. MySQL介绍及安装环境配置

    MySQL介绍及安装环境配置 MySQL是一种关系数据库管理系统,是一种开源软件.由瑞典MySQL AB公司开发,2008年1月16号被Sun公司收购.2009年,SUN又被Oracle收购.MySQ ...

  3. (十)全志R18 Tina平台关闭所有串口打印的方法

    全志R18 Tina平台关闭所有打印输出方法: 有些国外的产品安全认证,如亚马逊Alexa认证,认证机构会不停地点pcb上的点,看有没有东西输出,有的话就通过这些口想办法破解设备,所以安全认证会要求设 ...

  4. 一、传统MVC token验证方式

    一.传统MVC验证Token 推荐(https://www.cnblogs.com/xiaobai123/p/9242828.html) 自定义处理Jwt方式 1.新建JWT类 代码如下: using ...

  5. 8.8.ZooKeeper 原理和选举机制

    1.ZooKeeper原理 Zookeeper虽然在配置文件中并没有指定master和slave但是,zookeeper工作时,是有一个节点为leader,其他则为follower,Leader是通 ...

  6. libusb_bulk_transfer返回值不是0

    libusb_bulk_transfer返回值不是0 libusb_bulk_transfer返回值不是0libusb_bulk_transfer返回值不是0 ?????

  7. Linux文件归档管理

    Linux怎样保存文件 数据 - 这里数据就是文件的内容 元数据 - 在linux系统中,所有与某个文件相关的额外信息都保存在一个叫做i-节点(inode)的结构中 文件名 - 文件名保存在名为目录项 ...

  8. 第六章 组件 56 组件-组件中的data

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  9. 最简单之安装JDK

    参考:https://www.cnblogs.com/lizhewei/p/11181082.html 1,百度搜索jdk 2,官网下载 jdk-8u161-linux-x64.rpm 或者jdk-8 ...

  10. (十)zabbix监控TCP状态

    1)agent端配置 agent端脚本获取监控项 #vim /etc/zabbix/zabbix_agentd.d/tcp_status.sh #bin/bash [ $# -ne 1 ] & ...