Mit dem Selenium Webdriver (C #) bekomme ich von Zeit zu Zeit den nächsten Fehler:
System.InvalidOperationException: unbekannter Fehler: Automatisierungserweiterung kann nicht aus Zeitüberschreitung abgerufen werden: Zeitüberschreitung beim Empfang der Nachricht vom Renderer: -3.959 (Sitzungsinfo: chrome = 37.0.2062.120) (Fahrerinfo: chromedriver = 2.10.267521, Plattform = Windows NT 6.2 x86_64)
Die Art und Weise, wie dieser Fehler auftritt:
OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError (Antwort-FehlerResponse) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs: Zeile 1048 bei OpenQA.Selenium.RemoteWebDriver.Autachine.Ausführungszeit `2 Parameter) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs: Zeile 865 bei AutomatedTests.DriverCover..ctor (IWebDriver-Treiber)
So passiert es im nächsten Code:
public class DriverCover
{
public DriverCover(IWebDriver driver)
{
_driver = driver;
_driver.Manage().Window.Maximize(); //There is my mistake
}
private readonly IWebDriver _driver;
}
Ich verwende diese Klasse als Basisklasse von PageObject-Klassen, in denen ich PageFactory zum Initialisieren von Elementen von Webseiten verwende.
Ich habe Chromedriver v.2.10 Und Google Chrome v. 37.0.2062.120 m
Außerdem: In derselben Zeile habe ich noch einen Fehler erhalten:
OpenQA.Selenium.WebDriverException: Die HTTP-Anforderung an den Remote-WebDriver-Server für die URL
http://localhost:62407/session/021e05cd4c89abedb2abc77342b3bd7c/window/current/maximize
ist nach 60 Sekunden abgelaufen. ----> System.Net.WebException: Die Operation hat bei OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse (WebRequest-Anforderung) in der Zeile c:\Projects\webdriver\dotnet\src\webdriver\Remote\HttpCommandExecutor.cs ein Zeitlimit 152 at. OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute (Command commandToExecute) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\DriverServiceCommandExecutor.cs: Zeile 73 bei OpenQA.Selenium.RemoteWebRiverArm , Dictionary`2-Parameter) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs: Zeile 852 bei AutomatedTests.DriverCover..ctor (IWebDriver-Treiber)
Bei Chrome war etwas Ähnliches zu sehen, und das Problem war auf die Art zurückzuführen, wie wir den Browser vor dem Ausführen der Tests maximierten.
Wir haben von hier gewechselt:
Driver.Manage().Window.Maximize();
Zu diesem (nur für Chrome):
if (typeof(TWebDriver) == typeof(ChromeDriver))
{
var options = new ChromeOptions();
options.AddArgument("start-maximized");
driver = new ChromeDriver(driverPath, options);
}
Es passiert wegen Chrome Driver Mismatch.Ich hatte dieses Problem durch ein Upgrade meines Treibers auf die neueste Version behoben.ie 2.29 ( https://chromedriver.storage.googleapis.com/ index.html? path = 2.29 / )
Sie können dies versuchen, arbeitete für michMeine Chrome-Browser-Version ist: 57 und Chrome Treiber-Version ist: 2.27 Durch das Hinzufügen der folgenden Codezeilen löste ich mein Problem.
ChromeOptions options = new ChromeOptions();
options.addArguments("enable-automation");
options.addArguments("--disable-infobars");
WebDriver driver = new ChromeDriver(options);
Hatte ein ähnliches Problem, denselben Fehler, aber beim Aufruf von getScreenshotAs () .... hatte ich einen alten ChromeDriver und das Update wurde für mich behoben