[selenium webdriver Java]常用api

1. 获取元素文本

WebElement类的getText()方法返回元素的innerText属性。所以元素里如果有子节点一样也会被返回出来。如下所示

 1 public class GetText {
 2     @Test
 3     public void testGetText(){
 4         //启动driver,打开被测页面
 5         System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
 6         WebDriver driver = new ChromeDriver();
 7         driver.get("http://map.baidu.com");
 8
 9         //等待一段时间,使得页面加载完成,避免出现无法找到元素的问题
10         try{
11             Thread.sleep(2000);
12         }catch(Exception e){
13
14         }
15
16         //取得元素
17         WebElement message = driver.findElement(By.className("open-map"));
18
19         //获得元素文本
20         String messageText = message.getText();
21
22         //验证文本为“查看短租、求职、订餐、天气等更多专题地图 >>”
23         Assert.assertEquals(messageText, "查看短租、求职、订餐、天气等更多专题地图 >>");
24
25         //可使用java string api方法进行部分匹配
26         Assert.assertTrue(messageText.contains("求职"));
27         Assert.assertTrue(messageText.startsWith("查看短租"));
28         Assert.assertTrue(messageText.endsWith(">>"));
29
30         //关闭driver
31         driver.quit();
32     }
33 }

代码示例

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系统交互。在测试开始时,我们需要关掉一些已经存在的进程。

 1 public class KillWindows {
 2
 3     @Test
 4     public void test(){
 5
 6         //关闭ie浏览器进程
 7         WindowsUtils.tryToKillByName("iexplore.exe");
 8
 9         System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
10         WebDriver driver = new ChromeDriver();
11         driver.get("http://www.baidu.com");
12
13         driver.quit();
14     }
15 }

示例代码

我们可以使用tryToKillByName方法来关闭任何的windows进程。

如果这个进程不存在则会抛出一个异常,但是,测试还是会正常的执行下去

8. 阅读/修改windows注册表中的值

WindowsUtils类提供了多种方法和windows操作系统的注册表进行交互。如果测试是运行在windows操作系统上的IE浏览器,则可能需要修改一些IE注册表里的设置。使用WindowsUtils类可以很方便的解决这个问题。

根据不同的返回值数据类型,可选择以下几种方法:

readStringRegistryValue()

readIntergerRegistryValue()

readBooleanRegistryValue()

修改:

writeStringRegistryValue()

writeIntergerRegistryValue()

writeBooleanRegistryValue()

时间: 2024-10-10 23:34:55

[selenium webdriver Java]常用api的相关文章

Java 常用API(二)

目录 Java 常用API(二) 1. Object类 2. Date类 概述 构造方法和成员方法 3. DateFormat类 概述 SimpleDateFormat类 练习 4. Calendar类 5. System类 6. StringBuilder类 String类的原理 StringBuilder类的原理 StringBuilder的构造方法 StringBuilder的常用方法 7. 包装类 概述 装箱与拆箱(以 int 类型为例) 自动装箱与自动拆箱 基本类型与字符串类型之间的相

python+selenium自动测试之WebDriver的常用API(基础篇一)

基于python3.6,selenium3.141,详细资料介绍查看官方API文档,点击这里 一.对浏览器操作 1 driver = webdriver.Chrome() # 初始化chrome 2 driver1 = webdriver.Firefox() # 初始化Firefox 3 driver2 = webdriver.Ie() # 初始化IE 4 driver3 = webdriver.Edge() # # 初始化Edge 5 driver.get("https://www.baidu

[selenium webdriver Java]元素定位——findElement/findElements

策略 语法 语法 描述 By id driver.findElement(By.id()) driver.findElements(By.id()) 通过id属性定位元素 By name driver.findElement(By.name()) driver.findElements(By.name()) 通过name属性定位元素 By class name driver.findElement(By.className()) driver.findElements(By.className(

[selenium webdriver Java]显示的等待同步

显示等待可以在执行下一次操作时,自定义等待条件 显示的等待只需要执行在需要同步的地方而不影响脚本的其他地方 Selenium WebDriver提供了WebDriverWait和ExpectedCondition类来执行显示等待 ExpectedCondition类提供了一系列预定义好的条件来等待.下面是一些常用的条件 预定义条件 方法名 元素可见可点击 elementToBeClickable(By locator) 元素可被选中 elementToBeSelected(WebElement

[selenium webdriver Java]隐式的等待同步

Selenium WebDriver提供了隐式等待来同步测试.当使用了隐式等待执行测试的时候,如果WebDriver没有在DOM中找到元素,将继续等待,超出设定时间后,抛出找不到元素异常 即,当元素没有立即出现的时候,隐式等待将等待一段时间后,再查找DOM.默认时间是0. 一旦设置了隐式等待,它将存在在整个webdriver对象实例的生命周期中,隐式等待会让一个正常响应的应用的测试变慢,会在寻找每个元素时进行等待,这样增加了整个测试执行的时间. 应该避免或减少使用隐式等待 //等待60s dri

Selenium WebDriver java 简单实例

开发环境 JDK 下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html Eclipse: 下载地址:http://www.eclipse.org/downloads/ Selenium jar包 (这里用的是:selenium-Java-2.45.0.zip ,selenium-server-standalone-2.45.0.jar) 下载地址:http://code.google.com/p/sele

JAVA常用API的总结(2)

这篇是常用API的结束了,写完的话可以继续往后复习了. 1.基本类型包装类的介绍与相关代码实现 对于数据包装类的特点就是可以将基本数据类型与字符串来回切换,接下来我会通过介绍Integer类的形式,来代表大部分的基本类型包装类的知识点,原因是其余的包装类的使用与Integer类有90%的形式都是一样的. public class Demo1 { public static void main(String[] args) { function(); } public static void fu

传智Java常用API知识测试

常用API部分 共40道选择题,每题2.5分.31-40是多选题,多选题有错则全错,全对才满分. String类中的getBytes()方法的作用是(     )C a)     将整数变成字符串 b)     将字符串变成字符数组 c)     将字符串变成字节数组 d)     获取中字符串中字符的个数 对字符串”ababcdabcdefg” 使用indexOf(‘a’)和lastIndexOf(‘a’),的运行结果是(     )B a)     1,1 b)     0,6 c)    

[selenium webdriver Java]使用自定义条件同步测试

Selenium WebDriver可以结合ExpectedCondition类来定义自己期望的条件 创建一个新的ExpectedCondition接口,必须实现apply方法 等待元素出现 1 public void testWithImplicitWait(){ 2 System.setProperty("webdriver.chrome.driver", "chromedriver.exe"); 3 WebDriver driver = new ChromeD