2

我目前正在开发一个使用 Java、Selenium 和 Testng 的项目。我的总体目标是在不同的网络浏览器上测试网页的功能。我的 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");
4

1 回答 1

1

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

在设置中,您可以读取一个属性,并在此基础上实例化正确的驱动程序。

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

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

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

于 2012-06-29T20:29:08.783 回答