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的更多相关文章

  1. Selenium Webdriver java 积累一

    Selenium Webdriver 学习: http://jarvi.iteye.com/category/203994 https://github.com/easonhan007/webdriv ...

  2. Java 常用API(二)

    目录 Java 常用API(二) 1. Object类 2. Date类 概述 构造方法和成员方法 3. DateFormat类 概述 SimpleDateFormat类 练习 4. Calendar ...

  3. Java 常用API(一)

    目录 Java 常用API(一) 1. Scanner类 引用类型的一般使用步骤 Scanner的使用步骤 例题 2. 匿名对象 概述 匿名对象作为方法的参数 匿名对象作为方法的返回值 3. Rand ...

  4. Java常用API(Math类)

    Java常用API(Math类) Math类的作用 java.lang.Math 类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数.类似这样的工具 类,其所有方法均为静态方法,并且 ...

  5. Java常用API(Arrays类)

    Java常用API(Arrays类) 什么是Arrays类? java.util.Arrays 此类包含用来操作数组的各种方法,比如排序和搜索等.其所有方法均为静态方法,调用起来 非常简单. 这里我们 ...

  6. Java常用API(String类)

    Java常用API(String类) 概述: java.lang.String 类代表字符串.Java程序中所有的字符串文字(例如 "abc" )都可以被看作是实现此类的实例 1. ...

  7. Java常用API(ArrayList类)

    Java常用API(ArrayList类) 我们为什么要使用ArrayList类? 为了更加方便的储存对象,因为使用普通的数组来存储对象太过麻烦了,因为数组的一个很大的弱点就是长度从一开始就固定了,所 ...

  8. Java常用API(Random类)

    Java常用API(Random类) Random:是一个用于生成随机数的类 构造方法 public Random() :创建一个新的随机数生成器. 返回随机数的方法 public int nextI ...

  9. Java常用API(Scanner类)

    Java常用API( Scanner类)1 1.Scanner类 首先给大家介绍一下什么是JavaAPI API(Application Programming Interface),应用程序编程接口 ...

随机推荐

  1. 自己实现的android树控件,android TreeView

    1.开发原因 在项目中经常需要一个需要一个树状框架,这是非常常见的控件.不过可能是谷歌考虑到android是手机系统,界面宽度有限, 所以只提供了只有二级的ExpandableListView.虽然这 ...

  2. 现在不使用ZeroClipboard我们也能实现复制功能(转)

    现在不使用ZeroClipboard我们也能实现 首先,我们保证页面结构不变,但不在引入ZeroClipboard插件: 1 <input type="text" name= ...

  3. uva 125

    floyd 算法   如果存在无数条路  则存在a->a的路  a->b的路径数等于 a->i 和 i->b(0=<i<=_max) 路径数的乘积和 #includ ...

  4. STM32移植UCGUI3.90笔记

    在MDK环境下,终于将3.90版本的UCGUI移植到STM32下了,在网上看到的都是例程代码,很少看到有关于在STM32下移植UCGUI的教程方法,为了方便大家,特写此移植方法,大家可以借鉴(有错误之 ...

  5. socket选项自带的TCP异常断开检测

    TCP异常断开是指在突然断电,直接拔网线等等情况下,如果通信双方没有进行数据发送通信等处理的时候,无法获知连接已经断开的情况. 在通常的情况下,为了使得socket通信不受操作系统的限制,需要自己在应 ...

  6. 在非MFC程序中引用CString

    CString在当今软件设计界里还是小有名气的,说它是MFC中使用的最多的类一点也不过,然而在使用sdk编windows程序的时候,确不能利用CString类,只能用sdk的运行时库,比如strlen ...

  7. FZU-1926+KMP

    题意:给定一篇文章和一些句子.询问句子是否在文章中出现. kmp模板题 /* kmp */ #include<stdio.h> #include<string.h> #incl ...

  8. android 图片画画板

    canvas.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns: ...

  9. Nginx开启Gzip压缩大幅提高页面加载速度(转)

    转自:http://www.cnblogs.com/mitang/p/4477220.html 刚刚给博客加了一个500px相册插件,lightbox引入了很多js文件和css文件,页面一下子看起来非 ...

  10. fedora SSH

    设置无密码登陆时注意:chmod 0700 .ssh chmod 600 ~/.ssh/authorized_keys  cat /root/.ssh/id_rsa.pub  >> /ro ...