码迷,mamicode.com
首页 > 编程语言 > 详细

[selenium webdriver Java]常用api

时间:2015-01-05 16:32:57      阅读:390      评论:0      收藏:0      [点我收藏+]

标签:

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()

 

[selenium webdriver Java]常用api

标签:

原文地址:http://www.cnblogs.com/missPersist/p/4201793.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!