我在ubuntu服务器上运行selenium测试用例,它基本上运行firefox和chrome中的测试用例。 Firefox启动和测试用例成功运行,但chrome抛出异常:
下面的*****是stacktrace的片段:*****
在端口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()
}
});
}
答案 0 :(得分:19)
这是因为Chrome也在使用unix容器来运行。如果您希望在docker中运行它,请传递docker run命令
- 特权
否则您可以使用
启动Chrome- 无沙箱
答案 1 :(得分:4)
我遇到过类似的问题。我在本地运行我的Selenium测试,并且#34; webdriver exception chrome无法访问&#34;错误突然出现了。
问题是我的常规Chrome浏览器中已经有太多标签了。在感到沮丧之后,我关闭了几个标签,然后它突然起作用了。我不确定标签是否有一定的限制,但如果有人遇到同样的问题,请试一试。
答案 2 :(得分:1)
您的Chrome驱动程序似乎已经过时了。尝试从下面下载截至日期的最新版本,如果您遇到任何新错误,请向我们报告。
http://chromedriver.storage.googleapis.com/index.html?path=2.14/
答案 3 :(得分:0)
还要确保PATH环境变量具有chromedriver的路径。