Welcome

首页 / 软件开发 / 数据结构与算法 / 自动化测试学习(九) WebDirver

自动化测试学习(九) WebDirver2014-08-23关于什么是WebDirver,上一节做了简单的描述,环境也在上一章中搭建完成。

下面我们拷贝了官网提供的一个实例。让其在我们的eclipse中运行。

Selenium WebDirver 代码如下:

package MySel20Proj;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.firefox.FirefoxDriver;import org.openqa.selenium.htmlunit.HtmlUnitDriver;import org.openqa.selenium.support.ui.ExpectedCondition;import org.openqa.selenium.support.ui.WebDriverWait;public class Selenium2Example{public static void main(String[] args) {// 用Firefox driver创建一个新的的实例//注意:其他的代码依赖于界面//不执行System.setProperty ( "webdriver.firefox.bin" , "E:/Program Files/Mozilla Firefox/firefox.exe" );WebDriver driver = new FirefoxDriver();// 这里我们可以使用firefox来运行测试用例//WebDriver driver = new ChromeDriver(); //这是chrome浏览器的驱动//WebDriver driver = new InternetExplorerDriver(); //这是IE浏览器的驱动 // WebDriver driver = new HtmlUnitDriver(); //这是一个无界面测试模式,不用打开浏览器,通过后台输入来判断测试用例是否通过// 现在用这个来访问谷歌driver.get("http://www.google.com");// 也可以用下面的方式访问谷歌// driver.navigate().to("http://www.google.com");// 找到文本输入元件的名字WebElement element = driver.findElement(By.name("q"));// 在搜索框内输入“cheese!”element.sendKeys("Cheese!");// 现在递交表格. WebDriver会发现我们的形式元素element.submit();// 后台打印输出,检查网页的标题System.out.println("Page title is: " + driver.getTitle());// 谷歌的搜索是渲染过的动态JavaScript. 等待页面加载,暂停10秒(new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() {public Boolean apply(WebDriver d) {return d.getTitle().toLowerCase().startsWith("cheese!");}});// Should see: "cheese! - Google Search"System.out.println("Page title is: " + driver.getTitle());//关闭浏览器driver.quit();}}
运行时报出了错误;

Exception in thread "main" org.openqa.selenium.WebDriverException: Cannot find firefox binary in PATH. Make sure firefox is installed. OS appears to be: XP

Build info: version: "2.16.1", revision: "15405", time: "2012-01-05 12:30:12"

我们只要在WebDriver driver = new FirefoxDriver(); 前面指定我们浏览器的具体信息即可:

System.setProperty ( "webdriver.firefox.bin" , "E:/Program Files/Mozilla Firefox/firefox.exe" );

WebDriver driver = new FirefoxDriver();

WebDirver 的实现:

驱动名称对操作系统的支持调用的接口
FireFox DriverALLorg.openqa.selenium.firefox.FirefoxDriver
Chrome DriverALLorg.openqa.selenium.chrome.ChromeDriver
InternetExplorer DriverWindowsorg.openqa.selenium.ie.InternetExplorerDriver
HtmlUnit DriverALLorg.openqa.selenium.htmlunit.HtmlUnitDriver