使用

    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. 解决Eclipse中springBoot中文乱码问题

    除了常见的application.properties文件中设置#设置spring-boot 编码格式banner.charset=UTF-8server.tomcat.uri-encoding=UT ...

  2. U盘安装 CentOS7图解

    参考  https://jingyan.baidu.com/article/e75aca856cca69142fdac673.html

  3. 记一次被自己DDOS攻击

    服务器报警初步分析进一步分析最终分析总结 TOC 服务器报警 7月24号下午5点半开始,突然服务器报警,检查监控,发现CPU异常100%. 该服务器正常情况下CPU使用率在40%已经算高了,另外负载经 ...

  4. 5.Struts2-Struts标签

    通用标签 1.property(取值) property:<s:property value="username"/> property 取值为字符串:<s:pr ...

  5. 【Day1】4.基础语法及分支结构

     视频地址(全部) https://edu.csdn.net/course/detail/26057 课件地址(全部) https://download.csdn.net/download/gentl ...

  6. 4、nfs(存储服务器)

    1.NFS基本概述 NFS是Network File System的缩写及网络文件系统.NFS的主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录. 通常中小企业首选NFS作为集群架构的存储 ...

  7. centos 7 源代码 mysql-5.7.2 安装

    CENTOS MYSQL 5.7 下载MySQL 5.7 https://dev.mysql.com/downloads/mysql/5.7.html#downloads cd /usr/local/ ...

  8. 在MDK 中忽略(suppress) 某一个警告

    文章转载自:http://www.51hei.com/bbs/dpj-29515-1.html 有时候我们需要在MDK中忽略掉某一个具体的warnning,怎么做呢? 只需在Misc Control中 ...

  9. DA_05_Linux(CentOS6.7) 安装MySql5.7数据库

    1系统约定 安装文件下载目录:/data/software Mysql目录安装位置:/usr/local/mysql 数据库保存位置:/data/mysql 日志保存位置:/data/log/mysq ...

  10. [ZOJ 3063] Draw Something Cheat

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4706 思路:字符串是一个集合(由0到多个A~Z字符组成),我们可以假 ...