WebDriver 可以替换 ChromeDriver 以使 Selenium 测试在所有浏览器中工作吗

Can WebDriver replace ChromeDriver in order to make Selenium tests work in all browsers

我正在使用 TestNG 和 Java:

自动化我的测试

运行您的代码在不同浏览器中使用 Selenium Grid 和 RemoteWebDriver 的最简单方法。您可以在以下 link:

找到文档

https://github.com/SeleniumHQ/selenium/wiki/Grid2

本质上,您只是根据正在测试的浏览器实例化从 RemoteWebDriver 派生的不同 class。

例如

void GetWebDriver(String browserName) {
        if (CHROME.equals(browserName))
            return new ChromeDriver(capability);
        else if (FIREFOX.equals(browserName))
            return new FirefoxDriver(capability);
        else if (EDGE.equals(browserName))
            return new EdgeDriver(capability);
        else if (INTERNET_EXPLORER.equals(browserName))
            return new InternetExplorerDriver(capability);
        else if (OPERA.equals(browserName))
            return  new OperaDriver(capability);
        else if (SAFARI.equals(browserName))
            return  new SafariDriver(capability);
}

我建议你看看这个 githob 项目:https://github.com/sebarmeli/Selenium2-Java-QuickStart-Archetype

具体来说,WebDriverFactory.java file