[selenium webdriver Java]常用api
1. 获取元素文本
WebElement类的getText()方法返回元素的innerText属性。所以元素里如果有子节点一样也会被返回出来。如下所示
public class GetText {
@Test
public void testGetText(){
//启动driver,打开被测页面
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://map.baidu.com");
//等待一段时间,使得页面加载完成,避免出现无法找到元素的问题
try{
Thread.sleep(2000);
}catch(Exception e){
}
//取得元素
WebElement message = driver.findElement(By.className("open-map"));
//获得元素文本
String messageText = message.getText();
//验证文本为“查看短租、求职、订餐、天气等更多专题地图 >>”
Assert.assertEquals(messageText, "查看短租、求职、订餐、天气等更多专题地图 >>");
//可使用java string api方法进行部分匹配
Assert.assertTrue(messageText.contains("求职"));
Assert.assertTrue(messageText.startsWith("查看短租"));
Assert.assertTrue(messageText.endsWith(">>"));
//关闭driver
driver.quit();
}
}
代码示例

2. 获取元素属性值
WebElement类的getAttribute()返回元素的属性值
3. 获取元素的css属性值
WebElement类的getCSSvalue()方法将返回元素的样式属性值
4. 在元素上执行鼠标双击
Actions类的doubleClick()方法
5. 执行JavaScript代码
JavascriptExecutor接口,可以任意执行JavaScript代码,尤其适用于一些Selenium WebDriver目前不支持的操作
((JavascriptExecutor) driver).executeScript(script);
6. 浏览器窗口最大化
driver.manage().window().maximize();
7. 处理windows进程
selenium WebDriver java 提供了windowsUtils类来和Windows系统交互。在测试开始时,我们需要关掉一些已经存在的进程。
public class KillWindows {
@Test
public void test(){
//关闭ie浏览器进程
WindowsUtils.tryToKillByName("iexplore.exe");
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://www.baidu.com");
driver.quit();
}
}
示例代码
我们可以使用tryToKillByName方法来关闭任何的windows进程。
如果这个进程不存在则会抛出一个异常,但是,测试还是会正常的执行下去
8. 阅读/修改windows注册表中的值
WindowsUtils类提供了多种方法和windows操作系统的注册表进行交互。如果测试是运行在windows操作系统上的IE浏览器,则可能需要修改一些IE注册表里的设置。使用WindowsUtils类可以很方便的解决这个问题。
根据不同的返回值数据类型,可选择以下几种方法:
readStringRegistryValue()
readIntergerRegistryValue()
readBooleanRegistryValue()
修改:
writeStringRegistryValue()
writeIntergerRegistryValue()
writeBooleanRegistryValue()
[selenium webdriver Java]常用api的更多相关文章
- Selenium Webdriver java 积累一
Selenium Webdriver 学习: http://jarvi.iteye.com/category/203994 https://github.com/easonhan007/webdriv ...
- Java 常用API(二)
目录 Java 常用API(二) 1. Object类 2. Date类 概述 构造方法和成员方法 3. DateFormat类 概述 SimpleDateFormat类 练习 4. Calendar ...
- Java 常用API(一)
目录 Java 常用API(一) 1. Scanner类 引用类型的一般使用步骤 Scanner的使用步骤 例题 2. 匿名对象 概述 匿名对象作为方法的参数 匿名对象作为方法的返回值 3. Rand ...
- Java常用API(Math类)
Java常用API(Math类) Math类的作用 java.lang.Math 类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数.类似这样的工具 类,其所有方法均为静态方法,并且 ...
- Java常用API(Arrays类)
Java常用API(Arrays类) 什么是Arrays类? java.util.Arrays 此类包含用来操作数组的各种方法,比如排序和搜索等.其所有方法均为静态方法,调用起来 非常简单. 这里我们 ...
- Java常用API(String类)
Java常用API(String类) 概述: java.lang.String 类代表字符串.Java程序中所有的字符串文字(例如 "abc" )都可以被看作是实现此类的实例 1. ...
- Java常用API(ArrayList类)
Java常用API(ArrayList类) 我们为什么要使用ArrayList类? 为了更加方便的储存对象,因为使用普通的数组来存储对象太过麻烦了,因为数组的一个很大的弱点就是长度从一开始就固定了,所 ...
- Java常用API(Random类)
Java常用API(Random类) Random:是一个用于生成随机数的类 构造方法 public Random() :创建一个新的随机数生成器. 返回随机数的方法 public int nextI ...
- Java常用API(Scanner类)
Java常用API( Scanner类)1 1.Scanner类 首先给大家介绍一下什么是JavaAPI API(Application Programming Interface),应用程序编程接口 ...
随机推荐
- Telerik RadGridView 右键菜单如何设置?
问题: 我想去掉红线框住的部分,希望有会的网友帮助我,谢谢! 解决方法: 默认: 修改: [利用 ContextMenuOpening 事件,对应你的项目,你要自己修改那判断的字符串(你的中文)] p ...
- 深入js的面向对象学习篇(封装是一门技术和艺术)——温故知新(二)
下面全面介绍封装和信息隐藏. 通过将一个方法或属性声明为私用的,可以让对象的实现细节对其它对象保密以降低对象之间的耦合程度,可以保持数据的完整性并对其修改方式加以约束.在代码有许多人参与设计的情况下, ...
- spoj 42
简单题 水水~~ /************************************************************************* > Author: x ...
- oracle SQLserver 函数
1.绝对值 S:select abs(-1) value O:select abs(-1) value from dual 2.取整(大) S:select ceiling(-1.001) value ...
- [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计
源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...
- Injection Attacks-XML注入
注入攻击 XML注入 虽然JSON的出现实现了服务器与客户端之间的"轻量级"数据交流,但是,作为另一种流行的可行方案,许多web服务API同时还是继续支持XML.另外,除了web服 ...
- GIT:本地有更改,但强制作远程仓库里作更新
有时,紧急线上修改时,这个功能有用处的. git fetch --all git reset --hard origin/master ================ git reset --har ...
- Linux---Ls命令 初级实现
By xxx0624Done: ls ls -a ls -l ls /tmp ls -R ls -t FileName color FileName o ...
- redis其他问题
如何解决redis高并发客户端频繁time out? 现在业务上每天有5亿+的请求,平时redis的操作在2K+每秒左右.到了高峰有3K+,这时候客户端就会频繁的报connect time out的异 ...
- c# 可访问性级别
使用访问修饰符 public.protected.internal 或 private 可以为成员指定以下声明的访问级别之一. 声明的可访问性 含义 public 访问不受限制. protecte ...