Selenium WebDriver – Errore di FirefoxDriver: Imansible avviare il socket entro 45000

Sto ottenendo questo errore:

tests.IntegrationTests.Selenium.RegisterAndLogin (TestFixtureSetUp): SetUp : OpenQA.Selenium.WebDriverException : Failed to start up socket within 45000 

quando eseguo quanto segue nel mio codice:

 using System; using System.Text; using NUnit.Framework; using OpenQA.Selenium.Firefox; using OpenQA.Selenium; namespace ekmProspector.tests.IntegrationTests.Selenium { [TestFixture] public class RegisterAndLogin { private IWebDriver driver; [TestFixtureSetUp] public void Init() { driver = new FirefoxDriver(); } } 

Non è ansible ottenere molto più semplice, ma l’errore è fatale. Qualche idea?

La soluzione è facile come torta 🙂

Fare clic con il pulsante destro sul progetto .Net (C #) e selezionare l’opzione “Gestisci pacchetti NuGet …”, come mostrato di seguito:

inserisci la descrizione dell'immagine qui

Quindi selezionare i pacchetti specifici Selenium, devono essere aggiornati in modo da aggiornarli.

inserisci la descrizione dell'immagine qui

I pacchetti aggiornati verranno aggiornati automaticamente.

inserisci la descrizione dell'immagine qui

Per me funziona.

Alla fine ho funzionato, ho rimosso tutte le sottocartelle del pacchetto che sono state aggiunte da NuGet durante l’installazione di WebDriver e ho deciso di aggiungerle manualmente. Creata una cartella “lib”, quindi decomprimi i file binari del selenium in quella cartella. Quindi aggiunto riferimenti a tutti i binari. Sembra che stia bene adesso.

versioni

FF v48 Selenium Webdriver v2.53.1
Windows 7 (x64)
.Net 4.0 e .Net 4.5

Provando le correzioni

Come per @jaffa ho aggiunto manualmente i seguenti riferimenti e ho avuto il problema:

WebDriver.dll v2.53.1
WebDriver.Support.dll v2.53.1


Poi li ho non referenziati e ho seguito @HassanRahman e ho utilizzato NuGet:

WebDriver.dll v2.53.1
WebDriver.Support.dll v2.53.1

Ancora lo stesso errore.

OpenQA.Selenium.WebDriverException: avvio del socket fallito entro 45000


Risoluzione dei problemi

Ho avuto un’intuizione e ho deciso di effettuare il downgrade dal targeting .Net 4.5 a .Net 4.0 (profilo completo non client) e l’errore è stato modificato in:

Un’eccezione non gestita di tipo “OpenQA.Selenium.WebDriverException” si è verificata in WebDriver.dll Ulteriori informazioni: Imansible trovare il binario di Firefox in PATH o percorsi di installazione predefiniti. Assicurati che Firefox sia installato. Il sistema operativo sembra essere: Vista

Mi sono chiesto se questo è il motivo per cui chi ha reinstallato FireFox ha funzionato di nuovo?

Da qualche parte ci deve essere un set di chiavi di registro o una variabile d’ambiente per trovare ApplicationStartupPath di FireFox. Puoi vedere alcuni di quei percorsi in questa traccia ProcessMonitor:

inserisci la descrizione dell'immagine qui

Nello screenshot qui sopra puoi vedere l’app (AstrobLabe) che sto usando con questa riga di codice:

 using (IWebDriver driver = new FirefoxDriver(ffprofile)) 

Provoca la ricerca di FireFox v48 e il suo aspetto nella directory sbagliata :

C: \ Programmi (x86) \ Mozilla FireFox \ FireFox.exe

Sul mio sistema FireFox è installato in:

C: \ Programmi (x86) \ Mozilla \ Firefox \ FireFox.exe

Comunque trovare e correggere questo problema (Non riesco a trovare il binario di Firefox in PATH o nelle posizioni di installazione predefinite) è compito di qualcun altro, ho appena copiato la directory di Firefox in Mozilla FireFox.

Ma poi torna all’errore originale:

Un’eccezione non gestita di tipo “OpenQA.Selenium.WebDriverException” si è verificata in WebDriver.dll Informazioni aggiuntive: Imansible avviare il socket entro 45000 millisecondi. Tentativo di connessione ai seguenti indirizzi: 127.0.0.1:7055

Soluzione

Poi ho trovato questa risposta che dice che FireFox v46 funziona con Selenium 2.53: Quale versione di Firefox è compatibile con Selenium 2.53.0?

Quando ho eseguito il downgrade ho visto che FFv46 si installa per:

C: \ Programmi (x86) \ Mozilla FireFox \ FireFox.exe

Quindi controlla se la tua installazione FF si trova in questa posizione – che sulla base del ProcessMonitor Trace Selenium non trovi:

C: \ Programmi (x86) \ Mozilla \ Firefox \ FireFox.exe

Ho risolto questo rimuovendo completamente Firefox e tutti i profili e la reinstallazione.

Ho scoperto che ero in grado di risolvere questo problema in Firefox Selenium aggiornando i miei pacchetti Selenium in NuGet.

Ma ti lascia ancora il problema di aggiornare manualmente i driver Chrome e IE se sorgono problemi simili.

Ho anche affrontato il problema durante l’esecuzione del test in NUnit. Ho trovato molte soluzioni per rimuovere o degradare il tuo Firefox.Ma ho risolto questo in un altro modo rimuovo tutti i riferimenti relativi ai driver web e aggiungere il driver Web di aggiornamento alla soluzione.

Nella mia applicazione la versione del webdriver era 2.24, quindi ho sostituito con 2.43 e ora il mio test sta funzionando bene.

Per chiunque abbia trovato questa domanda più di recente (2015-02-27), sembra esserci un problema aperto con la compatibilità con Selenium e Firefox 36:

https://code.google.com/p/selenium/issues/detail?id=8399

Puoi scaricare Firefox 35 qui: http://www.filehippo.com/download_firefox/59889/

Ho avuto questo problema con l’ultima versione di Firefox (42) e Selenium (2.48.2). La disinstallazione e la reinstallazione (tramite Nuget) hanno risolto il problema per me.

Ho scoperto che l’ esecuzione di una versione precedente di resharper (9.2) non funzionava con l’ultima nunit e che causava il timeout del selenium.

La soluzione temporanea era disabilitare il resharper (Strumenti -> Opzioni -> Resharper -> Disabilita), la soluzione permanente è l’aggiornamento del resharper.

La reinstallazione del browser FF ha risolto il problema.

Quale versione di Selenium IDE stai usando? Prova a eseguire il downgrade della versione di Firefox. Le note di rilascio di selenium IDE sono menzionate nel link sottostante.

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

Spero che questo ti aiuti.

1) Effettua il downgrade del tuo firefox a <19 perché se ricordo correttamente WebDriver 2.33 supporta maximus Firefox 19

2)

 FirefoxProfile profile = new FirefoxProfile(); profile.Port = 9966; Global.Driver = new FirefoxDriver(profile); 

PS Sto usando Firefox 16 per non avere questo problema

Ho lo stesso problema con la versione di selenium 2.37.xx con il browser Firefox 42.0 Dopo aver aggiornato la versione 2.48.2 del selenium è stato risolto il problema

Stavo lavorando con C # con WebDriver 2.53 / Firefox 46. Ho provato a reinstallare le cose, a riaggiungere manualmente ecc., Ma il downgrade di Firefox a 43 ha risolto il problema.

L’aggiornamento tramite “NuGet” è ciò che mi ha aiutato. Firefox 47 e Selenium Webdriver 2.53 non funzionavano. Controllando il sito del selenium, mostra ancora “2.53” come ultima. Controllando “NuGet”, ho visto che era disponibile una versione “2.53.1”. L’installazione di quella versione è ciò che ha fatto funzionare nuovamente il mio Firefox 47.

Nessuna delle precedenti risposte indica chiaramente che versioni specifiche di Selenium WebDriver funzionano con versioni specifiche di Firefox. Questa domanda SO ci dice che la matrice di compatibilità di Webdriver / Firefox è qui .

L’altra cosa che vale la pena affermare è che Firefox tende ad aggiornarsi automaticamente o quasi automaticamente quando nuove versioni diventano disponibili, a seconda delle impostazioni. Poiché Webdriver non si aggiorna automaticamente, si apre la possibilità che la compatibilità di Webdriver / Firefox venga interrotta in modo imprevisto e che gli script di test smettano di funzionare quando Firefox si aggiorna a una versione non supportata dalla versione di Webdriver. Ho il sospetto che le risposte di cui sopra che istruiscono gli utenti a reinstallare Webdriver usando Nuget semplicemente raccolgono il nuovo Webdriver che funziona con il nuovissimo Firefox che si è appena installato sul tuo computer.

Per impedire a Firefox di aggiornarsi, fai clic sul pulsante del menu in Firefox (tre barre orizzontali, in alto a destra), seleziona “Opzioni”, scegli “Avanzate” nel menu a sinistra, scegli la scheda “Aggiorna” in alto e Vedrai una serie di pulsanti di opzione sotto “Aggiornamenti di Firefox”. Scegli un’impostazione diversa da “Installa automaticamente aggiornamenti”.

Immagine errore

Vedere l’immagine di errore, ho disinstallato completamente e reinstallare la versione46, le cose sono state risolte.