Selenium瀏覽器兼容性測試的實現方法

第一步:在基礎類BaseTest中,寫一個「獲取瀏覽器」方法。java

代碼以下:web

public class BaseTest {

    public WebDriver getWebDriver(String browser){

       WebDriver driver = null;

       if("ie".equals(browser)){

       //  ie

       System.setProperty("webdriver.ie.driver","D:/Program Files/WebDriver/IEDriverServer.exe");

       DesiredCapabilities capab = DesiredCapabilities.internetExplorer();

       capab.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true);

      capab.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);

       driver = new InternetExplorerDriver(capab);

       }

       else if ("chrome".equals(browser)){

       //chrome

       System.setProperty("webdriver.chrome.driver","D:/Program Files/WebDriver/chromedriver.exe");

       driver = new ChromeDriver(); 

       }  

       else{

       //firefox

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

       System.setProperty("webdriver.gecko.driver","D:/Program Files/WebDriver/geckodriver.exe");

       driver = new FirefoxDriver();

       }

       driver.manage().window().maximize();

       return driver;

    }

}

第二步:在測試case中,繼承BaseTest基礎類(extends BaseTest)。同時增長一個參數@Parameters("browser")來存放TestNG.xml傳送過來的瀏覽器值,在setUp()中定義一個String browser,調動基礎類的「獲取瀏覽器方法」driver = this.getWebDriver(browser);chrome

代碼以下:瀏覽器

public class YiiTestMenuQuery extends BaseTest{

    WebDriver driver;

    @BeforeClass

    @Parameters("browser")

    public void setUp(String browser) throws Exception {

       driver = this.getWebDriver(browser);

    }
}

第三步:以使用不一樣瀏覽器來運行case,創建多個TestNG.xml文件。測試

在TestNG.xml文件中增長<parameter name=」browser」 value=」瀏覽器名稱」 />ui

經過TestNG.xml文件來執行多個case。把要執行的case,放入TestNG.xml文件中。選中TestNG.xml文件,右鍵,選擇「Run As」-》「TestNG Suite」,即這個TestNG.xml文件中全部case都是以火狐瀏覽器運行的。this

3.1 使用火狐瀏覽器運行case的代碼以下:firefox

<?xml version="1.0" encoding="UTF-8"?>

<suite name="Suite1">

    <parameter name=」browser」 value=」firefox」 />   <!—火狐-->

    <test name="Menu" preserve-order="true">      <!--菜單管理-->

       <classes>

          <class name="com.selenium.yan.YiiTestMenuQuery" />             
          <class name="com.selenium.yan.YiiTestMenuCreate" />   

          <class name="com.selenium.yan.YiiTestMenuDelete" />   

          <class name="com.selenium.yan.YiiTestMenuBatchDelete" />  

       </classes>

    </test>

</suite>

3.2 使用谷歌瀏覽器運行case的代碼以下:code

<?xml version="1.0" encoding="UTF-8"?>

<suite name="Suite1">

    <parameter name=」browser」 value=」chrome」 />   <!—谷歌-->

    <test name="Menu" preserve-order="true">      <!--菜單管理-->

       <classes>

          <class name="com.selenium.yan.YiiTestMenuQuery" />             
          <class name="com.selenium.yan.YiiTestMenuCreate" />   

          <class name="com.selenium.yan.YiiTestMenuDelete" />   

          <class name="com.selenium.yan.YiiTestMenuBatchDelete" />  

       </classes>

    </test>

</suite>

3.3 使用IE瀏覽器運行case的代碼以下:xml

<?xml version="1.0" encoding="UTF-8"?>

<suite name="Suite1">

    <parameter name=」browser」 value=」ie」 />   <!—ie瀏覽器-->

    <test name="Menu" preserve-order="true">      <!--菜單管理-->

       <classes>

          <class name="com.selenium.yan.YiiTestMenuQuery" />             
          <class name="com.selenium.yan.YiiTestMenuCreate" />   

          <class name="com.selenium.yan.YiiTestMenuDelete" />   

          <class name="com.selenium.yan.YiiTestMenuBatchDelete" />  

       </classes>

    </test>

</suite>
相關文章
相關標籤/搜索