Le sélénium échoue avec la version chromée 32.0.1700.72 m
-
21-12-2019 - |
Question
chrome est automatiquement mis à jour à la "version 32.0.1700.72 m" pour moi ce matin (1/8/2014) et maintenant tous mes tests automatisés ne s'exécuteront pas - ils échouent avec "System.InvalidoperationException: système.invalidoperationException: erreur inconnue: Impossible de découvrir des pages ouvertes "presque immédiatement.
Je cours:
- Windows 7 Enterprise (SP1) 64 bits
- Chrome version 32.0.1700.72 M
- CHROMEDRIVER SELENIUM V2.2
- .NET C #
Ceci est la sortie de la console que je reçois:
Starting ChromeDriver (v2.2) on port 26819
[8668:8300:0108/162344:ERROR:chrome_views_delegate.cc(176)] NOT IMPLEMENTED
[8668:8300:0108/162344:ERROR:desktop_root_window_host_win.cc(746)] NOT IMPLEMENTED
[8668:8300:0108/162345:ERROR:desktop_root_window_host_win.cc(746)] NOT IMPLEMENTED
Et c'est l'exception que je reçois:
Class Initialization method LeadManager.Web.UITest.Tests.ViewLeads.PriorityModeTests.ClassInitialize threw exception. System.InvalidOperationException: System.InvalidOperationException: unknown error: unable to discover open pages
(Driver info: chromedriver=2.2,platform=Windows NT 6.1 SP1 x86_64).
at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse) in c:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Remote\RemoteWebDriver.cs: line 1012
at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters) in c:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Remote\RemoteWebDriver.cs: line 846
at OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities) in c:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Remote\RemoteWebDriver.cs: line 814
at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities) in c:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Remote\RemoteWebDriver.cs: line 89
at OpenQA.Selenium.Chrome.ChromeDriver..ctor(String chromeDriverDirectory, ChromeOptions options) in c:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Chrome\ChromeDriver.cs: line 101
at UITestFramework.Providers.WebDriverProvider.CreateWebDriver(TestSettings settings) in WebDriverProvider.cs: line 73
at UITestFramework.Domain.TestSettings..ctor(BrowserType browserType, String baseUrl) in TestSettings.cs: line 69
at LeadManager.Web.UITest.Tests.SettingsFactory.GetSettings() in SettingsFactory.cs: line 33
at LeadManager.Web.UITest.Tests.ViewLeads.PriorityModeTests.ClassInitialize(TestContext context) in PriorityModeTests.cs: line 38
Donc, l'appel du constructeur de chromedriver échoue.
Quelqu'un d'autre considère le même problème?Merci!
La solution
Ceci est courant lorsque les mises à jour chromées / Firefox, chromedriver / sélénium ont toujours besoin de rattraper.
Cependant, le dernier chromeur doit prendre en charge le chrome 32 déjà.Votre situation est que vous utilisez une sortie chromedriver 2.2 hors de la date.Veuillez utiliser la dernière version 2.8, vous pouvez le télécharger ici .
Sinon, si vous devez garder ChromeRiver 2.2, vous pouvez également dégrader votre chrome à votre ancienne version.
Autres conseils
vient de trouver le même problème; Et résolus en mettant à jour le chromedriver de 2,4 à 2,8
Pour notre projet, nous utilisons NPM.J'ai résolu le même problème en supprimant le nœud_modules \ chromedriver, puis en cours d'exécution:
npm install chromedriver
Les mises à jour chromées se produisent souvent et toutes les mises à jour ne fonctionneront pas nécessairement avec une version particulière de ChromeRiver.Prenez le contrôle en installant les modèles d'administration Google GpeDitor et activez la stratégie de mise à jour Google Chrome.De cette façon, vous pouvez contrôler et tester vos mises à jour selon les besoins pour Chrome et ChromeRiver.NOTE Il est préférable de mettre à jour Chrome dès que possible.
C'est l'approche que j'ai prise depuis le chrome 27 et le chromedriver 2.1.Fonctionne bien et conserve l'intégrité de vos tests.