提问人:Immanuel Fredrick 提问时间:2/6/2015 最后编辑:Christian VielmaImmanuel Fredrick 更新时间:11/27/2017 访问量:35140
Webdriver 异常:“无法访问 chrome”
Webdriver exception: "chrome not reachable"
问:
我在 ubuntu 服务器中运行 selenium 测试用例,该服务器基本上在 firefox 和 chrome 中运行测试用例。 Firefox 启动并成功运行测试用例,但 chrome 抛出异常:
下面是 stacktrace 的代码片段:*****
在端口 21549 上启动 ChromeDriver (v2.8.240825)
PAC 支持已禁用,因为没有系统实现
测试集成Test.AdminUserelements检查失败:
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 驱动程序似乎很旧。尝试从下面下载最新的截至日期,如果遇到任何新错误,请报告。
http://chromedriver.storage.googleapis.com/index.html?path=2.14/
评论
这是因为 Chrome 也利用 unix 容器来运行。如果您希望它在 docker 中运行,请传递 docker run 命令
--特权
否则,您可以使用以下命令启动 Chrome
--no-sandbox
评论
--no-sandbox
此外,请确保 PATH 环境变量具有通往 chromedriver 的路径。
评论
我也遇到过类似的问题。我正在本地运行我的 Selenium 测试,突然出现“webdriver exception chrome not reached”错误。
问题是我的常规 chrome 浏览器中已经有太多的标签。在感到沮丧之后,我关闭了几个选项卡,突然它起作用了。我不确定选项卡是否有一定的限制,但如果有人遇到同样的问题,请尝试一下。
评论