使用

    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. Shell脚本case语句

    case语句格式 case 变量 in PAT1) 执行语句 ;; PAT2) 执行语句 ;; *) 默认执行语句 ;; esac 使用示例: 编写一个shell脚本,通过提示用户输入信息,输出cpu ...

  2. Python3简易接口自动化测试框架设计与实现(上)

    目录 1.开发环境 2.用到的模块 3.框架设计 3.1.流程 3.2.项目结构 5.日志打印 6.接口请求类封装 接口开发请参考:使用Django开发简单接口:文章增删改查 1.开发环境 操作系统: ...

  3. SpringBoot static修饰的字段/方法如何获取application.yml配置

    SpringBoot的application.yml一种特殊的应用场景,一般我们获取application.yml的配置文件只要@Value就可以获取到值了,但是如果是static修饰的字段肯定就不能 ...

  4. Linux下Mysql 不能访问新数据文件夹问题

    新挂载的盘,打算将数据文件夹配置到 /data/mysql,却无法启动mysqld. 除了将目录授权给mysql用户和组以外 chown -R mysql:mysql /data/mysql 太需要将 ...

  5. MySQL连表查询练习题

    1.建库 库名:linux50 字符集:utf8 校验规则:utf8_general_ci  create database linux4 charset utf8 default collate ...

  6. 网络初级篇之RSTP(原理与配置)

    一.RSTP的产生 前面的文章写到了当网络拓扑发生变化时,STP的收敛速度大约需要花费30秒-50秒的时间才会继续转发数据.这样在实际生产环境中花费的时间是非常长的,这样RSTP(快速生成树协议)便应 ...

  7. Java SE 核心 I

    Java SE 核心 I 1.Object类 在 Java 继承体系中,java.lang.Object 类位于顶端(是所有对象的直接或间接父类).如果一个类没有写 extends 关键字声明其父类, ...

  8. python常用模块:包的使用、init作用、相对导入绝对导入与内置函数

    今天主要讲的内容有: 一.包的详解二.相对导入和绝对导入三.内置模块补充 一.包的详解 1.包是什么 包其实也是一个模块,只不过是一个大的模块下包含一堆模块的载体 本质上也是一个文件夹,与普通文件的区 ...

  9. Linux :ssh sftp scp

    SSH 概述 1 SSH协议,Secure Shell ,为客户提供安全的shel环境,默认端口22 OpenSSH服务 服务名称:sshd 主程序:/usr/bin/sshd    /usr/bin ...

  10. 小程序UI设计(7)-布局分解-左-上下结构

    FlexBox布局中的变幻方式很多,我们继续了解一个左-上下结构的布局分解  左边结构树中WViewRow下面有两个WViewColumn.WViewRow是横向排列,WViewColumn是纵向排列 ...