WebDriver 可以替换 ChromeDriver 以使 Selenium 测试在所有浏览器中工作吗
Can WebDriver replace ChromeDriver in order to make Selenium tests work in all browsers
我正在使用 TestNG 和 Java:
自动化我的测试
WebDriver 是否可以替换 ChromeDriver 以使我们的测试在所有浏览器(例如 Chrome、Firefox、Mozilla、Safari、Opera ... 中工作?
我们应该如何配置浏览器以便所有浏览器使用相同的代码?
运行您的代码在不同浏览器中使用 Selenium Grid 和 RemoteWebDriver 的最简单方法。您可以在以下 link:
找到文档
本质上,您只是根据正在测试的浏览器实例化从 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
我正在使用 TestNG 和 Java:
自动化我的测试WebDriver 是否可以替换 ChromeDriver 以使我们的测试在所有浏览器(例如 Chrome、Firefox、Mozilla、Safari、Opera ... 中工作?
我们应该如何配置浏览器以便所有浏览器使用相同的代码?
运行您的代码在不同浏览器中使用 Selenium Grid 和 RemoteWebDriver 的最简单方法。您可以在以下 link:
找到文档本质上,您只是根据正在测试的浏览器实例化从 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