运行Selenium-Java测试时自动切换浏览器

时间:2012-06-29 20:17:13

标签: java selenium webdriver

我目前正在使用Java,Selenium和Testng开展项目。我的总体目标是通过不同的Web浏览器测试网页的功能。我的Selenium代码正常运行,能够在Chrome和Firefox上运行测试。但是,我必须手动更改代码才能切换浏览器。我是通过评论driver = new ChromeDriver();来做到这一点的 我想编辑我的代码,以便测试在Firefox中运行,当测试完成时,在Chrome中启动测试。有人可以指导我朝正确的方向发展吗?

以下是我的代码的示例:

WebDriver driver = null;
Selenium selenium = null;


@BeforeSuite
public void setup() throws Exception {

    ///    Chrome Driver  ///
    System.setProperty("webdriver.chrome.driver", "mac/chromedriver.exe");
    //driver = new ChromeDriver();


    ///    Firefox Driver  ///
    driver = new FirefoxDriver();


}


@Test
public void testGoogle() throws Exception {

selenium = new WebDriverBackedSelenium(driver,"URL");

1 个答案:

答案 0 :(得分:1)

可能有很多方法可以实现这一目标。

在设置中,您可以读取属性,并根据该属性实例化正确的驱动程序。

String driverType = System.getProperty("driverType");
if ("firefox".equals(driverType))
   driver = new FirefoxDriver().....

您可以运行测试两次,一次使用firefox属性,然后使用chrome属性。

其他选择是将所有测试保持在一个类中。然后将这个类扩展为两个类,一个用于firefox设置,另一个用于chrome设置。然后,您可以在套件中运行两个子类测试。他们会一个接一个地跑。