WebDriverAPI(8)
判断页面元素是否存在
测试网址
http://www.baidu.com
Java语言版本API实例
@Test
public void testIsElementPresent(){
driver.manage().window().maximize();
driver.get(url);
if(IsElementPresent(By.id("kw"))){
WebElement searchInputBox = driver.findElement(By.id("kw"));
if(searchInputBox.isEnabled() == true){
searchInputBox.sendKeys("百度首页搜索框成功找到");
}
}
else{
Assert.fail("未找到页面元素");
}
}
private boolean IsElementPresent(By by) {
try {
//判断传入的参数是否找到页面元素,找到则返回true
driver.findElement(by);
return true;
} catch (NoSuchElementException e) {
return false;
}
}
使用title属性识别和操作弹出的浏览器窗口
测试页面代码
<html>
<head>
<title>你喜欢的水果</title>
</head>
<body>
<p id='p1'>你爱吃的水果么?</P>
<br><br>
<a href="http://www.baidu.com" target="_blank">百度搜索</a>
</body>
</html>
http://www.baidu.com
Java语言版本API实例
@Test
public void identifyPopUpWindowByTitle() {
driver.manage().window().maximize();
driver.get(url);
//获取当前窗口句柄
String parentWindowHandle = driver.getWindowHandle();
WebElement baiduLink = driver.findElement(By.xpath("//a"));
baiduLink.click();
//定义一个set容器存储所有的窗口句柄
Set<String> allWindowsHandles = driver.getWindowHandles();
//如果存储容器对象不为空则进行遍历
if(!allWindowsHandles.isEmpty()){
for(String windowHandle:allWindowsHandles){
try {
//通过窗口的浏览器名称判断是否为百度
if(driver.switchTo().window(windowHandle).getTitle().equals("百度一下,你就知道"))
driver.findElement(By.id("kw")).sendKeys("百度的浏览器窗口被找到");
} catch (NoSuchWindowException e) {
e.printStackTrace();
}
}
}
//返回最早打开的窗口
driver.switchTo().window(parentWindowHandle);
//通过标题断言判断是否为之前窗口
Assert.assertEquals(driver.getTitle(), "你喜欢的水果");
}
使用页面的文字内容识别和处理新弹出的浏览器窗口
测试页面代码
<html>
<head>
<title>你喜欢的水果</title>
</head>
<body>
<p id='p1'>你爱吃的水果么?</P>
<br><br>
<a href="http://www.baidu.com" target="_blank">百度搜索</a>
</body>
</html>
Java语言版本API实例
@Test
public void identifyPopUpWindowByPageSource() {
String parentWindowHandle = driver.getWindowHandle();
driver.get(url);
WebElement baiduLink = driver.findElement(By.xpath("//a"));
baiduLink.click();
Set<String> allWindowHandles = driver.getWindowHandles();
if(!allWindowHandles.isEmpty()){
for(String windowHandle:allWindowHandles){
try {
//判断页面源码中是否包含百度一下4字
if(driver.switchTo().window(windowHandle).getPageSource().contains("百度一下"))
driver.findElement(By.id("kw")).sendKeys("找到百度浏览器窗口");
} catch (NoSuchWindowException e) {
e.printStackTrace();
}
}
}
//返回之前的浏览器窗口
driver.switchTo().window(parentWindowHandle);
Assert.assertEquals(driver.getTitle(), "你喜欢的水果");
}
WebDriverAPI(8)的更多相关文章
- WebDriverAPI(7)
查看页面元素的属性 测试网址 http://www.baidu.com Java语言版本API实例 @Test public void getWebElementAttribute() { dri ...
- WebDriverAPI(10)
操作Frame页面元素 测试网址代码 frameset.html: <html> <head> <title>frameset页面</title> &l ...
- WebDriverAPI(9)
操作JavaScript的Alert窗口 测试网址代码 <html> <head> <title>你喜欢的水果</title> </head> ...
- WebDriverAPI(4)
单击某个元素 采用元素id.click()方法即可 双击某个元素id.doubleClick 操作单选下拉列表 测试网页HTML代码 <html> <body> <sel ...
- WebDriverAPI(2)
操作浏览器窗口 被测网址http:http://www.baidu.com Java语言版本的API实例代码 String url = "http://www.baidu.com" ...
- WebDriverAPI(6)
在指定元素上方进行鼠标悬浮 测试网址 http://www.baidu.com Java语言版本实例 @Test public void roverOnElement() { driver.manag ...
- WebDriverAPI(5)
将当前浏览器截屏 测试网址 http://www.baidu.com Java语言版本实例 @Test public void captureScreenInCurrentWindows() { dr ...
- WebDriverAPI(3)
获取页面的Title属性 被测网址http:http://www.baidu.com Java语言版本的API实例代码 String url = "http://www.baidu.com& ...
- WebDriverAPI(1)
访问某网页地址 被测网址http:http://www.baidu.com Java语言版本的API实例代码 方法一: @Test public void visitURL(){ String bas ...
随机推荐
- PTA第一次作业和第二次作业
PTA的第一次作业第一题: #include <stdio.h> int main (void) { int grade,i,N ,a=0,b=0,c=0,d=0,e=0; printf( ...
- 如何使用css来让图片居中不变形 微信小程序和web端适用
图片变形很多人祭奠出了妖魔鬼怪般的各种大法,比如使用jq来写,或者使用css表达式来写.今天我总结的是使用css3来写,唯一最大缺点就是对一些浏览器版本不够兼容.下面就是关于如何使用css来让图片居中 ...
- java多线程同步(转)
原文地址:http://developer.51cto.com/art/201509/490965.htm 一.场景 因为当我们有多个线程要同时访问一个变量或对象时,如果这些线程中既有读又有写操作时, ...
- excel绝对引用中间添加符号
=F1&"_"&J1 绝对引用 相对引用 按F4 然后复制全部,选择性黏贴,值和数字即可
- 关于FIR的modelsim
(1)FIR ip核仿真 (2)FIR 多通道应用 (3)多通道fir ip核需要注意的复位问题 =================================================== ...
- 对比手机SLAM和机器人SLAM
陀螺仪?? IMU?? 加速度器与?? 人与机器 惯性定位与?? 步骤上对比Project Tango与SLAM
- SSH整合 第四篇 Spring的IoC和AOP
这篇主要是在整合Hibernate后,测试IoC和AOP的应用. 1.工程目录(SRC) 2.IoC 1).一个Service测试类 /* * 加入spring容器 */ private Applic ...
- ScrollView嵌套listview ,滚动问题。设置listview不滚动
对于ListView内部的ListView,一般用来展示少量的列表数据. 内部的ListView的高度看起来是一个固定值且无法滑动,这个就比较蛋疼了.. 提供两种解决方案,方案的核心都是重新设置内部L ...
- “一键GHOST”系统备份与还原(icmzn)
“一键GHOST”系统备份与还原(icmzn) 1.软件介绍 软件名称:一键GHOST 软件版本:v2014.01.14 安装环境:WINXP/2000/2003/WIN7/VISTA/2008/WI ...
- Android 一个应用多个桌面图标
理解android.intent.action.MAIN 与 android.intent.category.LAUNCHER: 在Android 应用程序开发过程中,Activity入口会增加: a ...