使用

    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. http://www.moext.com博客搬家到这里啦

    1.原博客莫叉特用的是自己的域名http://www.moext.com,由于服务器在国外,访问不太稳定,SEO做得也很不好: 2.喜欢博客园的极简风格,目前来看广告量也在可接受范围: 3.一个偶然的 ...

  2. js数组的所有方法

    修改器方法 下面的这些方法会改变调用它们的对象自身的值: Array.prototype.copyWithin()  在数组内部,将一段元素序列拷贝到另一段元素序列上,覆盖原有的值. Array.pr ...

  3. zookeeper--为分布式应用提供协调服务

    1.概述 zookeeper是一个开源的.分布式的.为分布式应用提供协调服务的Apache项目 zookeeper的工作机制 zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服 ...

  4. deep_learning_Function_np.newaxis参数理解

    功能:np.newaxis是用来给数组a增加维度的格式:a[np.newaxis和:的组合],如a[:,np.newaxis],a[np.newaxis, np.newaxis, :]详解:np.ne ...

  5. K8S搭建过程随笔_证书CFSSL

    安装CFSSL mkdir -p /opt/k8s/cert && cd /opt/k8swget https://pkg.cfssl.org/R1.2/cfssl_linux-amd ...

  6. Oracle中常见表与各类结构的查询

    ----------------------------------------------------------------------用户--查询:当前用户的缺省表空间select userna ...

  7. springboot-rabbitmq的使用

    一.RabbitMQ的介绍 RabbitMQ是消息中间件的一种,消息中间件即分布式系统中完成消息的发送和接收的基础软件.这些软件有很多,包括ActiveMQ(apache公司的),RocketMQ(阿 ...

  8. 计划任务 at,cron

    示例:每3小时echo和wall命令

  9. 小程序生成海报 canvas

    前言 微信小程序需要生成海报进行朋友圈分享,但是不同的手机会有问题, 然后首先是图片的问题 图片 在模拟器上没有报错,可是真机测试却什么也没画出来. canvas.drawImage 是不支持网络图片 ...

  10. ESP8266_04管脚控制与软件定时器

    ESP8266_04管脚控制与软件定时器 from :https://mp.weixin.qq.com/s/APawDx4io4gKJyOeuErTLA 原创: MCU启航 单片机爱好者 今天 这一节 ...