WebDriverAPI(4)
单击某个元素
采用元素id.click()方法即可
双击某个元素id.doubleClick
操作单选下拉列表
测试网页HTML代码
<html>
<body>
<select name='fruit' size=1>
<option id='peach' value='taozi'>桃子</option>
<option id='watermelon' value='xigua'>西瓜</option>
<option id='orange' value='juzi'>橘子</option>
<option id='kiwifruit' value='mihoutao'>猕猴桃</option>
<option id='maybush' value='shanzha'>山楂</option>
<option id='litchi' value='lizhi'>荔枝</option>
</select>
</body>
</html>
JavaAPI实例代码:
@Test
public void operateDropList() {
driver.manage().window().maximize();
driver.navigate().to(url);
//使用name属性查找下拉框
Select dropList = new Select(driver.findElement(By.name("fruit")));
//判断是否可以多选
Assert.assertFalse(dropList.isMultiple());
//断言当前选中的是否为桃子 //取下拉列表选项文本
Assert.assertEquals("桃子", dropList.getFirstSelectedOption().getText());
//选择下拉列表的第四个元素
dropList.selectByIndex(3);
//断言当前选中的是否为猕猴桃 //取下拉列表选项文本
Assert.assertEquals("猕猴桃", dropList.getFirstSelectedOption().getText());
//通过value属性选取下拉列表中的值
dropList.selectByValue("shanzha");
//断言当前选中的是否为山楂 //取下拉列表选项文本
Assert.assertEquals("山楂", dropList.getFirstSelectedOption().getText());
//通过选项文字选择
dropList.selectByVisibleText("荔枝");
//断言当前选中的是否为荔枝 //取下拉列表选项文本
Assert.assertEquals("荔枝", dropList.getFirstSelectedOption().getText());
}
检查单选列表的选项文字是否符合期望
HTMl代码同上
JavaAPI实例代码
@Test
public void checkSelectText() {
driver.manage().window().maximize();
driver.navigate().to(url);
Select dropList = new Select(driver.findElement(By.name("fruit")));
//声明一个list存储所期望的选项文字
List<String> expect_options = Arrays.asList(new String[]{"桃子","西瓜","橘子","猕猴桃","山楂","荔枝"});
//声明一个新的list对象存取从页面上获取的选项文字
List<String> actual_option = new ArrayList<String>();
//获取页面上的所有选项 并添加至actual_option列表中
for (WebElement option : dropList.getOptions())
actual_option.add(option.getText());
Assert.assertEquals(expect_options.toArray(), actual_option.toArray());
}
操作多选列表
测试HTML页面代码
<html>
<body>
<select name='fruit' size=6 multiple=true>
<option id='peach' value='taozi'>桃子</option>
<option id='watermelon' value='xigua'>西瓜</option>
<option id='orange' value='juzi'>橘子</option>
<option id='kiwifruit' value='mihoutao'>猕猴桃</option>
<option id='maybush' value='shanzha'>山楂</option>
<option id='litchi' value='lizhi'>荔枝</option>
</select>
</body>
</html>
JavaAPI实例代码
@Test
public void checkSelectText(){
driver.manage().window().maximize();
driver.navigate().to(url);
//选择下拉列表
Select dropList = new Select(driver.findElement(By.name("fruit")));
//断言判断是否可多选
Assert.assertTrue(dropList.isMultiple());
//通过索引选择第4个元素
dropList.selectByIndex(3);
//通过Value值选择
dropList.selectByValue("shanzha");
//通过文本选择
dropList.selectByVisibleText("荔枝");
//取消所有选中项
dropList.deselectAll();
//重新选择
dropList.selectByIndex(3);
dropList.selectByValue("shanzha");
dropList.selectByVisibleText("荔枝");
//取消选中索引为3的
dropList.deselectByIndex(3);
//通过value取消选中
dropList.deselectByValue("shanzha");
//通过文本取消选中
dropList.deselectByVisibleText("荔枝");
}
操作单选框
被测试网页的HTML代码
<html>
<body>
<from>
<input type="radio" name="fruit" value="berry">草莓</input>
<br/>
<input type="radio" name="fruit" value="watermelon">西瓜</input>
<br/>
<input type="radio" name="fruit" value="orang">橘子</input>
</from>
</body>
</html>
Java版本API实例代码:
@Test
public void operartRadio(){
driver.manage().window().maximize();
driver.navigate().to(url);
//查找单选按钮对象
WebElement radioOption = driver.findElement(By.xpath("//input[@value='berry']"));
if(!radioOption.isSelected())
radioOption.click();
//断言按钮是否处于选中状态
Assert.assertTrue(radioOption.isSelected());
//将单选按钮的对象存储到list中
List<WebElement> fruits = driver.findElements(By.name("fruit"));
//循环遍历查找属性为watermelon的单选按钮,如果该按钮未选择则调用单击选中
for(WebElement fruit:fruits){
if(fruit.getAttribute("value").equals("watermelon")){
if(!fruit.isSelected())
fruit.click();
//断言是否选中
Assert.assertTrue(fruit.isSelected());
//成功选中退出循环
break;
}
}
}
操作复选框
测试网页HTML代码
<html>
<body>
<from>
<input type="checkbox" name="fruit" value="berry">草莓</input>
<br/>
<input type="checkbox" name="fruit" value="watermelon">西瓜</input>
<br/>
<input type="checkbox" name="fruit" value="orange">橘子</input>
</from>
</body>
</html>
Java语句版本的API代码:
public class checkBox {
WebDriver driver;
String url = "file:///E:/%E6%9D%90%E6%96%99/%E9%A1%B9%E7%9B%AE%E8%B5%84%E6%96%99/%E5%A4%9A%E9%80%89%E6%A1%86.html";
@Test
public void operarteCheckBox(){
driver.manage().window().maximize();
driver.navigate().to(url);
//查找复选框属性为orange的
WebElement orangeCheckBox = driver.findElement(By.xpath("//input[@value='orange']"));
//判断复选框是否被选择未选中则单击选中
if(!orangeCheckBox.isSelected())
orangeCheckBox.click();
//断言是否选中
Assert.assertTrue(orangeCheckBox.isSelected());
//判断是否为取消状态,不是则单击取消
if(orangeCheckBox.isSelected())
orangeCheckBox.click();
//断言是否取消
Assert.assertFalse(orangeCheckBox.isSelected());
//将所有name属性值为fruit的所有复选框存放至list中
List<WebElement> checkboxs = driver.findElements(By.name("fruit"));
//遍历复选框全部选中
for(WebElement checkbox:checkboxs)
checkbox.click();
}
WebDriverAPI(4)的更多相关文章
- 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(2)
操作浏览器窗口 被测网址http:http://www.baidu.com Java语言版本的API实例代码 String url = "http://www.baidu.com" ...
- WebDriverAPI(8)
判断页面元素是否存在 测试网址 http://www.baidu.com Java语言版本API实例 @Test public void testIsElementPresent(){ driver. ...
- 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 ...
随机推荐
- 551. Student Attendance Record I
static int wing=[]() { std::ios::sync_with_stdio(false); cin.tie(NULL); ; }(); class Solution { publ ...
- 将Tomcat设置为自动启动的服务最快捷方法
将Tomcat设置为自动启动的服务: 最近遇到了个问题,服务器上的项目突然访问不了,就上服务器去重启了tomcat服务,谁知道到最后tomcat的服务报错了,重新启动服务的选项 也没有,之前这个项目也 ...
- 2018.08.19 NOIP模拟 dp(二分+状压dp)
Dp 题目背景 SOURCE:NOIP2015-SHY-10 题目描述 一块土地有 n 个连续的部分,用 H[1],H[2],-,H[n] 表示每个部分的最初高度.有 n 种泥土可用,他们都能覆盖连续 ...
- C语言学生管理系统源码分享
大家好 我就是如假包换的...陈玲 自从运营了C语言程序设计微信公众号 很多粉丝都给我备注 ...奇葩 实在是不敢当 也被人开始叫玲玲姐 我知道 很多人都想看我出境 我本人也有 年多的舞台演讲训练 实 ...
- IntelliJ IDEA 2017版 spring-boot与Mybatis简单整合
一.编译器建立项目 参考:http://www.cnblogs.com/liuyangfirst/p/8372291.html 二.代码编辑 1.建立数据库 /* Navicat MySQL Data ...
- BZOJ 1008 [HNOI2008]越狱 (简单排列组合 + 快速幂)
1008: [HNOI2008]越狱 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 10503 Solved: 4558[Submit][Status ...
- qmake -简介
qmake 简化了在不同平台下开发项目时构建处理的过程. qmake 自动产生Makefiles文件,只需要几行信息来构建每个Makefile.qmake可以被用于任何软件项目,不管是否使用Qt. q ...
- express 阮一峰的博客
http://javascript.ruanyifeng.com/nodejs/express.html next没怎么用过... 一个不进行任何操作.只传递request对象的中间件 functio ...
- 团队项目第六周——Alpha阶段项目复审(盐酸队)
Alpha阶段项目复审 小组 优点 缺点,bug报告 名次 天冷记得穿秋裤队 功能比较新颖,可以离线下载,做的比较完整 在下载电影时容易中断 1 只会嘤嘤嘤队 游戏和记单词的融合,也比较新颖 部分浏览 ...
- .NET 调试入门(一) 调试工具的使用
至于WinDbg的下载和基本配置网上到处都是,可以参考 http://www.cnblogs.com/happyhippy/archive/2007/04/08/710933.html 因为现在W ...