首页 > 代码库 > [selenium webdriver Java]常用api

[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         //关闭driver31         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