我在ubuntu服务器中运行 Selenium 测试用例,该服务器基本上在firefox和chrome中运行测试用例。
Firefox启动并且测试用例成功运行,但是chrome抛出异常:
*****以下是堆栈跟踪的代码段:*****
在端口21549上启动ChromeDriver(v2.8.240825)
PAC支持被禁用,因为没有系统实现
测试IntegrationTest.AdminUserelementscheck失败:
org.openqa.selenium.WebDriverException:无法访问Chrome
(驱动程序信息:chromedriver = 2.8.240825,platform = Linux 2.6.32-431.el6.x86_64 x86_64)(警告:服务器未提供任何堆栈跟踪信息)
[错误]命令持续时间或超时:20.83秒
嗨,下面是我的代码的小片段:
public class IntegrationTest {
private static final String configFile="test.properties";
private final String FIREFOX="firefox";
private final String CHROME="chrome";
private final String PHANTOMJS="phantomjs";
private final String BROWSERNAME="browser";
private static Properties props = new Properties();
public WebDriver webDriver;
private static Configuration additionalConfigurations;
@BeforeClass
public static void setUp() throws IOException, SQLException{
props.load(IntegrationTest.class.getResourceAsStream("/" + configFile));
}
@test
public void AdminUserelementscheck() throws SQLException, IOException {
String[] browsers = props.getProperty(BROWSERNAME).split(",");
System.out.println("Number of browsers specified in conf:"+props.getProperty(BROWSERNAME));
for(String browser:browsers){
System.out.println("Browser currently processing:"+browser);
if(browser.equalsIgnoreCase(FIREFOX))
webDriver = new FirefoxDriver();
else if(browser.equalsIgnoreCase(CHROME))
webDriver = new ChromeDriver();
else
webDriver = new PhantomJSDriver();
running(testServer(3333,fakeApplication()),webDriver, new Callback<TestBrowser>() {
********* LOGIN AND ASSERTION STATMENTS*******************
browser.quit()
}
});
}
最佳答案
这是因为Chrome浏览器还利用unix容器来运行。如果要在docker中运行,请传递docker run命令
否则,您可以启动Chrome
关于selenium-webdriver - Webdriver异常: "chrome not reachable",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28364012/