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. 使用struts的模型驱动注意的问题

    注意实体对象的属性命名一定要规范, 例如: private String fName; 添加时模型驱动取不到值 private String fname; 这个可以

  2. Qt的gzip模块实现

    一直没找到Qt中方便的gzip模块,于是自己动手,调用zlib模块实现了一份. 目标:  1.gzip的压缩与解压 2.内存中操作 3.方便的Qt接口   实现分析: gzip 压缩算法为 defla ...

  3. TCP/IP协议原理学习笔记

    昨天学习了杨宁老师的TCP/IP协议原理第一讲和第二讲,主要介绍了OSI模型,整理如下: OSI是open system innerconnection的简称,即开放式系统互联参考模型,它把网络协议从 ...

  4. 使用Yeoman搭建 AngularJS 应用 (8) —— 让我们搭建一个网页应用

    原文地址:http://yeoman.io/codelab/write-app.html 创建一个新的模板来显示一个todo的列表 打开views/main.html 为了从一个干净的模板开始,删除m ...

  5. asp.net web api 开发时应当注意的事项

    Self referencing when returning chain of objects. This can be solved using a design pattern called t ...

  6. Spring 声明式事务,propagation属性列表及isolation(隔离级别)

    Spring 声明式事务,propagation属性列表 TransactionDefinition接口中定义,共有7种选项可用: PROPAGATION_REQUIRED:支持当前事务,如果当前没有 ...

  7. [转载]ASP.NET MVC URL重写与优化(进阶篇)-继承RouteBase玩转URL

    引言-- 在初级篇中,我们介绍了如何利用基于ASP.NET MVC的Web程序中的Global文件来简单的重写路由.也介绍了它本身的局限性-依赖于路由信息中的键值对: 如果键值对中没有的值,我们无法将 ...

  8. java 串口通信 代码

    下面是我自己实现的串口接收的类,串口发送比较简单,就直接发送就可以了.下面的这个类可以直接使用. package com.boomdts.weather_monitor.util; import ja ...

  9. 封装SqlHelper

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.C ...

  10. SPRING IN ACTION 第4版笔记-第九章Securing web applications-003-把用户数据存在数据库

    一. 1.It’s quite common for user data to be stored in a relational database, accessed via JDBC . To c ...