WebDriver多浏览器测试

时间:2022-08-14 13:11:02
selenium2 基于对象的测试,在selenium2中一共支持以下浏览器:
  • Firefox(FirefoxDriver)
  • IE(InternetExplorerDriver)
  • Chrome(ChromeDriver)
  • Opera(OperaDriver)
  • Andriod(AndroidDriver)
  • iPhone(IPhoneDriver)
一、Firefox浏览器测试   //打开默认路径的firefor(C:\Program Files (x86)\Mozilla Firefox\firefox.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一各很大的区别   三、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>   需要驱动包的私问我!