ExpectedConditions API
使用
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的更多相关文章
- selenium之ExpectedConditions类
API中对于该类的介绍:Canned ExpectedConditions which are generally useful within webdriver tests.很笼统,大概意思就是在w ...
- 5.6 WebDriver API实例讲解(16-30)
16.操作单选框 被测试的网页为Demo1. Java语言版本的API实例代码: public static void operateRadio(){ driver.get("file:// ...
- Selenium 2.0 WebDriver 自动化测试 使用教程 实例教程 API快速参考
Selenium 2.0 WebDriver 自动化测试 使用教程 实例教程 API快速参考 //System.setProperty("webdriver.firefox.bin" ...
- WebDriver API 实例详解(三)
二十一.模拟鼠标右键事件 被测试网页的网址: http://www.sogou.com Java语言版本的API实例代码: package test; import org.testng.annota ...
- UI“三重天”之selenium--常用API和问题处理(三)
Selenium常用API: 前面两篇示例代码中用到了一些selenium的API方法,例如定位元素的八种方法.访问url.等待.操作浏览器.获取title.点击.清理等等. 有关于selenium的 ...
- 干货来袭-整套完整安全的API接口解决方案
在各种手机APP泛滥的现在,背后都有同样泛滥的API接口在支撑,其中鱼龙混杂,直接裸奔的WEB API大量存在,安全性令人堪优 在以前WEB API概念没有很普及的时候,都采用自已定义的接口和结构,对 ...
- 12306官方火车票Api接口
2017,现在已进入春运期间,真的是一票难求,深有体会.各种购票抢票软件应运而生,也有购买加速包提高抢票几率,可以理解为变相的黄牛.对于技术人员,虽然写一个抢票软件还是比较难的,但是还是简单看看123 ...
- 几个有趣的WEB设备API(二)
浏览器和设备之间还有很多有趣的接口, 1.屏幕朝向接口 浏览器有两种方法来监听屏幕朝向,看是横屏还是竖屏. (1)使用css媒体查询的方法 /* 竖屏 */ @media screen and (or ...
- html5 canvas常用api总结(三)--图像变换API
canvas的图像变换api,可以帮助我们更加方便的绘画出一些酷炫的效果,也可以用来制作动画.接下来将总结一下canvas的变换方法,文末有一个例子来更加深刻的了解和利用这几个api. 1.画布旋转a ...
随机推荐
- Shell脚本case语句
case语句格式 case 变量 in PAT1) 执行语句 ;; PAT2) 执行语句 ;; *) 默认执行语句 ;; esac 使用示例: 编写一个shell脚本,通过提示用户输入信息,输出cpu ...
- Python3简易接口自动化测试框架设计与实现(上)
目录 1.开发环境 2.用到的模块 3.框架设计 3.1.流程 3.2.项目结构 5.日志打印 6.接口请求类封装 接口开发请参考:使用Django开发简单接口:文章增删改查 1.开发环境 操作系统: ...
- SpringBoot static修饰的字段/方法如何获取application.yml配置
SpringBoot的application.yml一种特殊的应用场景,一般我们获取application.yml的配置文件只要@Value就可以获取到值了,但是如果是static修饰的字段肯定就不能 ...
- Linux下Mysql 不能访问新数据文件夹问题
新挂载的盘,打算将数据文件夹配置到 /data/mysql,却无法启动mysqld. 除了将目录授权给mysql用户和组以外 chown -R mysql:mysql /data/mysql 太需要将 ...
- MySQL连表查询练习题
1.建库 库名:linux50 字符集:utf8 校验规则:utf8_general_ci  create database linux4 charset utf8 default collate ...
- 网络初级篇之RSTP(原理与配置)
一.RSTP的产生 前面的文章写到了当网络拓扑发生变化时,STP的收敛速度大约需要花费30秒-50秒的时间才会继续转发数据.这样在实际生产环境中花费的时间是非常长的,这样RSTP(快速生成树协议)便应 ...
- Java SE 核心 I
Java SE 核心 I 1.Object类 在 Java 继承体系中,java.lang.Object 类位于顶端(是所有对象的直接或间接父类).如果一个类没有写 extends 关键字声明其父类, ...
- python常用模块:包的使用、init作用、相对导入绝对导入与内置函数
今天主要讲的内容有: 一.包的详解二.相对导入和绝对导入三.内置模块补充 一.包的详解 1.包是什么 包其实也是一个模块,只不过是一个大的模块下包含一堆模块的载体 本质上也是一个文件夹,与普通文件的区 ...
- Linux :ssh sftp scp
SSH 概述 1 SSH协议,Secure Shell ,为客户提供安全的shel环境,默认端口22 OpenSSH服务 服务名称:sshd 主程序:/usr/bin/sshd /usr/bin ...
- 小程序UI设计(7)-布局分解-左-上下结构
FlexBox布局中的变幻方式很多,我们继续了解一个左-上下结构的布局分解 左边结构树中WViewRow下面有两个WViewColumn.WViewRow是横向排列,WViewColumn是纵向排列 ...