selenium2 基于对象的测试,在selenium2中一共支持以下浏览器:
- Firefox(FirefoxDriver)
- IE(InternetExplorerDriver)
- Chrome(ChromeDriver)
- Opera(OperaDriver)
- Andriod(AndroidDriver)
- iPhone(IPhoneDriver)
一、Firefox浏览器测试
//打开默认路径的firefor(C:Program Files (x86)Mozilla Firefoxfirefox.exe)
package Test;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
//打开firefox浏览器
public class TestDemo1 {
public static void main(String[] args) {
WebDriver driver;
//默认打开是去C盘下面去找,但是我们不是安装在C盘下,所以要指明路径 setProperty()设置指定键对值的系统属性
System.setProperty("webdriver.firefox.bin","F:\软件安装\firefox\firefox.exe"); //双斜杠是转义
//实例化一个对象firefox
driver=new FirefoxDriver();
String testUrl="http://192.168.3.86:8701/yunling-pac-adm/login.jhtml";
driver.get(testUrl);
driver.quit();
}
}
注:如果浏览器启动不能打开网页,可能是firefox版本过高
二、Chrome浏览器测试
chrome在 webdriver中没有自带的驱动,需要网上下载一个
WebDriver driver=new ChromeDriver();
System.setProperty("webdriver.chrome.driver", "E:\webdriver\chromedriver\chromedriver.exe");
//这是与firefox一各很大的区别
下载地址:http://npm.taobao.org/mirrors/chromedriver/
三、IE浏览器测试
也需要下载驱动
System.setProperty("webdriver.ie.driver", "F:\webdriver\iedriver\IEDriverServer.exe");
driver=new InternetExplorerDriver();
四、使用Mac系统中的Safari浏览器测试
环境准备:在Mac系统中默认都会安装Safari浏览器,所以无需进行特别的安装配置,使用webdriver自动化无需下载驱动程序
直接实例化浏览器对象
WebDriver driver = new SafariDriver() ;
五、使用TestNG进行并发兼容性测试
Web项目中经常会进行浏览器的兼容性测试,而兼容性测试的工作重复性相当高,TestNG提供了并发执行测试用例的功能,可以让测试用例以并发的形式执行,实现并发测试不同浏览器的兼容性测试需求。
测试用例说明:分别使用IE,Chrome,Firefox浏览器,并发方式打开sogou首页中搜索某个关键词。
测试代码:
public class BingFaTest {
private WebDriver driver;
private String baseUrl="http://www.sogou.com";
@Parameters("browser")
@BeforeClass
public void BeforeTest(String Browser){
if(Browser.equalsIgnoreCase("firefox")){
System.setProperty("webdriver.firefox.bin", "F:\firefox\firefox.exe");
driver=new FirefoxDriver();
}else if (Browser.equalsIgnoreCase("ie")) {
System.setProperty("webdriver.ie.driver", "F:\webdriver\iedriver\IEDriverServer.exe");
driver=new InternetExplorerDriver();
}else {
System.setProperty("webdirver.chrome.driver", "E:\webdriver\chromedriver\chromedriver.exe");
driver=new ChromeDriver();
}
driver.get("http://www.sogou.com");
}
@Test
public void testSougoSearch() throws InterruptedException {
driver.get(baseUrl);
driver.findElement(By.id("query")).sendKeys("自动化测试");
driver.findElement(By.id("stb")).click();
Thread.sleep(10000);
Assert.assertTrue(driver.getPageSource().contains("自动化"));
}
@AfterClass
public void AfterClass(){
driver.close();
}
}
TestNG.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name ="Suite" parallel="tests" thread-count="3">
<test name ="FirefoxTest">
<parameter name="browser" value="firefox"/>
<classes >
<class name="cn.gloryroad.BingFaTest"/>
</classes>
</test>
<test name="IETest">
<parameter name="browser" value="ie"/>
<classes>
<class name="cn.gloryroad.BingFaTest"/>
</classes>
</test>
<test name="ChromeTest">
<parameter name="browser" value="chrome"/>
<classes>
<class name="cn.gloryroad.BingFaTest"/>
</classes>
</test>
</suite>
需要驱动包的私问我!