Nach dem Upgrade Selenium WebDriver 3.1.0
gesetzt ich aufWie ImplicitWait in Selenium 3.1.0
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(30));
Warnung 11 'OpenQA.Selenium.ITimeouts.SetScriptTimeout (System.TimeSpan)' empfangen Warnung ist veraltet: ‚Diese Methode wird in einer zukünftigen Version entfernt. Bitte legen Sie stattdessen die AsynchronousJavaScript-Eigenschaft fest.
So habe ich es zu
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(30);
Es mit ChromeDriver
fein gearbeitet, aber wenn ich auf dieser Linie FireFoxDriver
der Test fehlgeschlagen versucht,
Ergebnis Meldung eine Ausnahme werfen: System. InvalidOperationException: Fehlender "Typ" Parameter (IndexOutOfBounds) Ergebnis StackTrace: at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError (Antwort se Error) bei OpenQA.Selenium.Remote.RemoteWebDriver.Execute (String driverCommandToExecute, Dictionary`2 Parameter) bei OpenQA.Selenium.Remote.RemoteWebDriver.InternalExecute (String driverCommandToExecute, Dictionary'2 Parameter) bei OpenQA. Selenium.Remote.RemoteTimeouts.ExecuteSetTimeout (String timeoutType, timeToWait Span) bei OpenQA.Selenium.Remote.RemoteTimeouts.set_ImplicitWait (Timespan-Wert) bei OpenQA.Selenium.Support.Events.EventFiringWebDriver.EventFiringTimeouts.set_ImplicitWait (Timespan Wert)
Wie löst man das?
Ich werde darauf hinweisen, dass diese Lösung nicht für Firefox 48 und höher funktioniert. Mit der Eigenschaft 'UseLegacyImplementation' haben Sie sich für die ältere, nicht mehr gepflegte Firefox-Treiberimplementierung entschieden. Die Automatisierung von Firefox 48 oder höher erfordert die Verwendung von [geckodriver] (https://github.com/mozilla/geckodriver), was der Standard ist. – JimEvans
Wenn Sie 'options.UseLegacyImplementation = true' verwenden, wie Sie behaupten, dann tut es mir leid, aber, nein, Sie verwenden nicht geckodriver. Die 'CreateExecutor'-Methode der' FirefoxDriver'-Klasse verzweigt explizit auf den Wert dieser Eigenschaft und startet nur geckodriver, wenn der Wert 'false' ist. – JimEvans
@JimEvans Ich habe es jetzt bemerkt, danke. – Guy