J'essaie de tester mon application sur Chrome avec ChromeWebDriver, mais chaque fois que j'essaye, j'obtiens l'exception suivante:
org.openqa.Selenium.WebDriverException: unknown error: Chrome failed to start: crashed
(Driver info: chromedriver=2.10.267521,platform=Windows NT 6.1 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 61.46 seconds
Build info: version: '2.41.0', revision: '3192d8a6c4449dc285928ba024779344f5423c58', time: '2014-03-27 11:29:39'
System info: Host: 'PADAMSKI-W', ip: '10.10.8.60', os.name: 'Windows 7', os.Arch: 'AMD64', os.version: '6.1', Java.version: '1.6.0_37'
Driver info: pl.axit.test.Selenium.env.KoralinaChromeDriver
at Sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at Sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.Java:39)
at Sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.Java:27)
at Java.lang.reflect.Constructor.newInstance(Constructor.Java:513)
at org.openqa.Selenium.remote.ErrorHandler.createThrowable(ErrorHandler.Java:193)
at org.openqa.Selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.Java:145)
at org.openqa.Selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.Java:595)
at org.openqa.Selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.Java:240)
at org.openqa.Selenium.chrome.ChromeDriver.startSession(ChromeDriver.Java:181)
at org.openqa.Selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.Java:126)
at org.openqa.Selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.Java:139)
at org.openqa.Selenium.chrome.ChromeDriver.<init>(ChromeDriver.Java:160)
at org.openqa.Selenium.chrome.ChromeDriver.<init>(ChromeDriver.Java:149)
Dans chromedriver.log je vois
[0.681][INFO]: Launching chrome: "C:\Users\padamski.AXIT.PL\AppData\Local\Google\Chrome\Application\chrome.exe" --disable-background-networking --disable-client-side-phishing-detection --disable-component-update --disable-default-apps --disable-hang-monitor --disable-Prompt-on-repost --disable-sync --disable-web-resources --enable-logging --ignore-certificate-errors --load-extension="C:\Users\PADAMS~1.PL\AppData\Local\Temp\scoped_dir4048_12236\internal" --logging-level=1 --metrics-recording-only --no-first-run --password-store=basic --remote-debugging-port=12573 --safebrowsing-disable-auto-update --safebrowsing-disable-download-protection --use-mock-keychain --user-data-dir="C:\Users\PADAMS~1.PL\AppData\Local\Temp\scoped_dir4048_22909" --window-size=6000,6000 data:,
[60.836][INFO]: RESPONSE InitSession unknown error: Chrome failed to start: crashed
J'utilise:
Dans Process Explorer, je peux voir que le processus chromedriver.exe est en cours d'exécution, mais aucune fenêtre ne s'ouvre et après quelques secondes, je reçois une exception ci-dessus.
Mon code de départ est:
File f = ResourceProvider.getResource("tools/win/chromedriver.exe");
System.setProperty("webdriver.chrome.driver", f.getAbsolutePath());
return new ChromeDriver();
Finalement, j'ai découvert que WebDriver essayait d'exécuter Chrome à partir de C:\Users\______\AppData\Local\Google\Chrome\Application\chrome.exe
, ce qui ne fonctionnait pas, même en essayant manuellement. C'était très étrange, car lorsque je lance Chrome, j'en utilise un installé dans le répertoire Program Files
et cela fonctionne sans problème.
J'ai donc désinstallé Chrome, tout supprimé de c:\Users______\AppData\Local\Google\Chrome\
et réinstallé Chrome. Après cela, ça a commencé à fonctionner.
J'ai eu le même problème que ci-dessus. et je l'ai résolu . Je lance le sélénium avec du chrome dans Alpine . Mon environnement:
et j'ai rencontré l'information d'erreur est :
File "/usr/lib/python2.7/site-packages/Selenium/webdriver/remote/errorhandler.py", line 192, in check_response
raise exception_class(message, screen, stacktrace)
Selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: crashed
(Driver info: chromedriver=2.22 (5e2d5494d735a71aa5c2e7ef9bf5ce96945e92e9),platform=Linux 3.13.0-24-generic x86_64)
Ma solution est exécutée:
apk add libexif udev
et puis ça marche.
Je me réfère ici: https://hub.docker.com/r/rodrigomiguele/chromium/~/dockerfile/
DesiredCapabilities capability = DesiredCapabilities.chrome();
System.setProperty("webdriver.chrome.driver", "path to chromedriver.exe");
capability.setBrowserName("chrome");
capability.setPlatform(PlatformAndEnvironmentSetUp.platformSetUp);
driver = new RemoteWebDriver(new URL("http://" + PlatformAndEnvironmentSetUp.hubIP + ":" + PlatformAndEnvironmentSetUp.hubPort + "/wd/hub"), capability);
this.driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
this.driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
this.driver.manage().window().setSize(new Dimension(1920, 1080));
//page instances init()
loginPage = PageFactory.initElements(this.driver, LoginPage.class);
homePage = PageFactory.initElements(this.driver, AdminHomePage.class);
Cet exemple de code fonctionne bien pour moi . Juste une petite note: "chromedriver.exe" Je place dans le même dossier de projet. Cela facilite la question du chemin d’exécutable de chromdriver.
Donc, cette ligne de code ressemble à ceci:
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
Ressource à télécharger chromedriver.exe
J'espère que cela vous aide.
Désinstallez, supprimez le profil chrome de c:\Utilisateurs _______ L\AppData\Local\Google\Chrome\et réinstallez chrome pour résoudre le problème, cela a fonctionné pour moi
J'ai résolu ce problème sous Windows 10 en définissant chromedriver.exe, [yourPythonIDE] .exe et chrome.exe pour qu'ils s'exécutent avec les droits d'administrateur, auxquels il est possible d'accéder en cliquant avec le bouton droit de la souris sur le fichier exe et en allant dans Propriétés >> Compatibilité.
J'ai eu le même problème que ci-dessus. En fin de compte, j'ai réussi à installer deux chrome.exe. Un sous Program Files et sous user\appdata\local ...... Je désinstalle celui sous Program Files et cela fonctionne maintenant comme un charme.
J'ai pu résoudre ce problème sous Windows 10 en utilisant l'administrateur CMD pour exécuter mes scripts.