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>
相关文章
相关标签/搜索