2013-03-06 3 views
17

beginnt bis ich bin mit FF Version 19Gescheiterte Steckdose innerhalb 45000

es war alles gut funktioniert bis gestern und heute plötzlich Morgen starte ich diesen Fehler, und ich habe exakt das gleiche Code, bevor ausgeführt wurde, keine ändern nichts

Fehlermeldung:

Test 'M:.TestCases.12' failed: Failed to start up socket within 45000 
    OpenQA.Selenium.WebDriverException: Failed to start up socket within 45000 
    at OpenQA.Selenium.Firefox.Internal.ExtensionConnection.ConnectToBrowser(Int64 timeToWaitInMilliSeconds) 
    at OpenQA.Selenium.Firefox.Internal.ExtensionConnection.Start() 
    at OpenQA.Selenium.Firefox.FirefoxDriver.StartClient() 
    at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities) 
    at OpenQA.Selenium.Firefox.FirefoxDriver..ctor(FirefoxBinary binary, FirefoxProfile profile, TimeSpan commandTimeout) 
    at OpenQA.Selenium.Firefox.FirefoxDriver..ctor(FirefoxBinary binary, FirefoxProfile profile) 
    at OpenQA.Selenium.Firefox.FirefoxDriver..ctor(FirefoxProfile profile) 

0 passed, 1 failed, 0 skipped, took 145.80 seconds (Ad hoc). 

hier ist mein Quellcode:

public static IWebDriver GetDriver() 
     { 
      switch (Common.BrowserSelected) 
      { 
       case "ff": 
        FirefoxProfile profile = new FirefoxProfile(); 
        profile.SetPreference("network.http.phishy-userpass-length", 255); 
        profile.SetPreference("network.automatic-ntlm-auth.trusted-uris", url); 
        drv = new FirefoxDriver(profile); 
        break; 
       case "ie": 
        var options = new InternetExplorerOptions(); 
        options.IntroduceInstabilityByIgnoringProtectedModeSettings = true; 
        DesiredCapabilities capabilities = new DesiredCapabilities(); 
        capabilities.SetCapability(CapabilityType.AcceptSslCertificates, true); 
        drv = new InternetExplorerDriver(options); 
        break; 
       case "chrome": 
        //_driver = new ChromeDriver(); 
        break; 
      } 
      return drv; 
     } 
+0

kann Firefox Browser aktualisiert werden? – Hemanth

+0

ff 19 ist die letzte, also bin ich nicht sicher –

+0

Welche Selenium Version verwenden Sie? Ich weiß, bis es die neueste Version ist, hatte es Probleme mit Firefox. – Arran

Antwort

18

Firefox 19 'support' wurde in den neuesten Versionen von Selenium hinzugefügt. Also, da Sie .NET verwenden, den direkten Download für die neueste zum Zeitpunkt dieses Eintrages ist Version 2.31.2:

selenium-release.storage.googleapis.com/index.html

+0

Jetzt erhalten Sie die neuesten Versionen von hier: http://selenium-release.storage.googleapis.com/index.html – phabtar

+0

Dies löst das Problem nicht. Ich habe die gleiche Timeout-Ausnahme sogar mit Selenium 2.48. – Elmue

+3

Keine gute Idee: Dies ist das dritte Ergebnis in Google, das nach der Fehlermeldung abover sucht. Viele Leute werden hierher kommen und das lesen. – Elmue

1

Welche Version von Selenium IDE Sie verwenden? Versuchen Sie, die Firefox-Version herunterzustufen. Die Release Notes von Selen IDE sind in folgendem Link erwähnt.

https://code.google.com/p/selenium/wiki/SeIDEReleaseNotes

Hoffnung, das hilft.

+2

Die Idee ist es, die neueste Firefox-Version zu testen. Downgrade von Firefox ist KEINE Lösung! – Elmue

4

Wenn die Aktualisierung von Webdriver nicht hilft, können Sie FireFox zurückstufen, was das Problem beheben wird.

+1

Die Idee ist es, die neueste Firefox-Version zu testen. Downgrade von Firefox ist KEINE Lösung! – Elmue

6

Ich habe dieses Problem mit Firefox 43 und Selenium 2.48. Es passiert, wenn Ihr Selenium-Treiberserver in einem 32-Bit-Prozess läuft und Sie die 64-Bit-Version von Firefox starten.

Die Ursache ist, dass der Webdriver-Server versucht, eine Verbindung zu Port 7055 herzustellen, die von dem Webtreiber geöffnet werden sollte, der in der ausführbaren Firefox-Datei ausgeführt wird. Aber Sie können in TcpView von www.sysinternals.com sehen, dass Firefox diesen Port nicht öffnet. Also wartet der Fahrer, bis seine Zeitüberschreitung (45 Sekunden) verstrichen ist.

Dies geschieht auch nach dem vollständigen Ausschalten der Windows-Firewall.

Alle Beiträge, die ich in Internet zu finden helfen nicht: Selen Upgrade Herabstufung Firefox, etc ..

aber nach der 32-Bit-Version der gleichen Firefox 43 Installation funktioniert. Ich sehe in TCPview wie Firefox 32 Bit den Port richtig öffnet:

Firefox Selenium webdriver Port 7055

In meinem Code verwende ich

FirefoxProfile Prof = new FirefoxProfile(); 
FirefoxBinary Bin = new FirefoxBinary(sBrowserExe); 
mDriver = new FirefoxDriver(Bin, Prof); 

Mit sBrowserExe = "C:\Program Files\Mozilla Firefox 43\firefox.exe" die 64-Bit-Version von Firefox 43 gestartet ist und ich die Timeout-Ausnahme

Mit sBrowserExe = "C:\Program Files (x86)\Mozilla Firefox 43\firefox.exe" ist die 32-Bit-Version von Firefox 43 gestartet und es funktioniert!


UPDATE: Die Entwickler von Firefox jetzt brach Selen Unterstützung VOLLSTÄNDIG.Neue Firefox-Versionen ab 48 benötigen eine digitale Signatur für alle zu installierenden Erweiterungen.

https://wiki.mozilla.org/Addons/Extension_Signing

Was ich nicht verstehe ist, warum Selen Menschen keine Signatur für den aktuellen Selen-Treiber bekommen ??

Firefox Version 47.0 hat einen Fehler, der es nicht erlaubt, mit Selenium zu verwenden. Dieser Fehler wurde in Version 47.0.1 behoben.

Firefox-Versionen von 48.0 und höher installieren den alten Selenium-Treiber nicht mehr. Sie müssen mit Marionette (= Gecko) Treiber automatisiert werden.

Das Problem ist, dass Marionette noch Beta ist und viele fehlende Funktionen hat, so dass es derzeit keine Lösung zur Automatisierung der neuen Firefox-Versionen gibt.

Wie Sie sehen hier die neuen Treiber voller Bugs ist: https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver/status

+0

Ich benutze Firefox 48, 32 Bit auf einem Windows 7, 64-Bit-Maschine. Ich bekomme immer noch den Fehler, den Sie erwähnt haben. In TCPView öffnet Firefox jedoch Port 7055 nicht. Bitte schlagen Sie vor, wie ich das beheben kann. – testerjoe2

+0

Ich habe meine Antwort aktualisiert, um Ihre Frage zu beantworten. – Elmue

0

alle Installieren Sie die Updates in Ihrem Nuget Paket-Manager. Starten Sie die IDE neu.

Das Herunterstufen der Firefox-Version wird nicht zum Testen empfohlen. Aber vorletzte Version Downgrade klingt gut.

Diese Lösung funktionierte für mich.

Verwandte Themen