web-dev-qa-db-fra.com

Exception Webdriver: "chrome inaccessible"

J'exécute des scénarios de test Selenium sur un serveur Ubuntu qui exécute essentiellement des cas de test à la fois sous firefox et chrome. Firefox démarre et les scénarios de test s'exécutent correctement, mais chrome lève une exception:

***** ci-dessous est l'extrait de stacktrace: *****

Démarrage de ChromeDriver (v2.8.240825) sur le port 21549

Support PAC désactivé car il n'y a pas d'implémentation système

Le test IntegrationTest.AdminUserelementscheck a échoué: 

org.openqa.Selenium.WebDriverException: chrome inaccessible (Informations sur le pilote: chromedriver = 2.8.240825, platform = Linux 2.6.32-431.el6.x86_64 x86_64) (AVERTISSEMENT: le serveur n'a fourni aucune pile. information) [erreur] Durée ou expiration de la commande: 20,83 secondes


Salut ci-dessous est le petit extrait de mon code:

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()

}

});

}
7
Immanuel Fredrick

En effet, Chrome utilise également des conteneurs Unix pour s'exécuter. Si vous voulez que cela fonctionne dans docker, transmettez la commande docker run 

--privilégié

Sinon, vous pouvez démarrer Chrome avec 

--no-sandbox

19
Conor

J'ai rencontré un problème similaire. J'exécute mes tests Selenium localement et une erreur "erreur WebDriver exception chrome non accessible" s'est soudainement manifestée.

Le problème était que j'avais déjà trop d'onglets dans mon navigateur Chrome classique. Après avoir été frustré, j'ai fermé quelques onglets et tout à coup cela a fonctionné. Je ne suis pas sûr qu'il y ait une certaine limite d'onglets, mais si quelqu'un rencontre le même problème, essayez-le.

4
sKyTzi

Votre pilote chromé semble être vieux. Essayez de télécharger le dernier en date ci-dessous et signalez-le si de nouvelles erreurs se produisent.

http://chromedriver.storage.googleapis.com/index.html?path=2.14/

1
nilesh

Assurez-vous également que la variable d'environnement PATH a le chemin d'accès à chromedriver.

0