我目前正在使用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");
答案 0 :(得分:1)
可能有很多方法可以实现这一目标。
在设置中,您可以读取属性,并根据该属性实例化正确的驱动程序。
String driverType = System.getProperty("driverType");
if ("firefox".equals(driverType))
driver = new FirefoxDriver().....
您可以运行测试两次,一次使用firefox属性,然后使用chrome属性。
其他选择是将所有测试保持在一个类中。然后将这个类扩展为两个类,一个用于firefox设置,另一个用于chrome设置。然后,您可以在套件中运行两个子类测试。他们会一个接一个地跑。