Używam testowych przypadków selenu na serwerze Ubuntu, który zasadniczo uruchamia testowanie w firefox i chrome. Firefox uruchamia i przypadków testowych zakończą się pomyślnie, ale chrom rzuca wyjątek:Wyjątek dla programu Webdriver: "Chrom nieosiągalny"
***** poniżej jest urywek stacktrace: *****
Zaczynając ChromeDriver (v2.8.240825) na porcie 21549
wsparcie PAC wyłączona, ponieważ nie ma wdrożenie systemu
test IntegrationTest.AdminUserelementscheck failed:
org.openqa.selenium.WebDriverException: chrom nieosiągalny (Informacje o sterowniku: chromedriver = 2.8.240825, platforma = Linux 2.6.32-431.el6.x86_64 x86_64) (OSTRZEŻENIE: Serwer nie podał żadnych informacji o stosie) [błąd] Czas trwania polecenia lub limit czasu: 20,83 sekundy
Cześć Poniżej znajduje się niewielki fragment mojego kodu:
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()
}
});
}
Może to być również problem z przekierowaniem portów między kontenerem dokera a zdalnym urządzeniem/hostem. –