2013-04-22 6 views
15

Podczas uruchamiania automatyzacji na autonomicznym serwerze Webdriver, otrzymuję ten wyjątek losowo. Kiedy to nastąpi, zabiłem cały proces Java. Jakie jest rozwiązanie tego wyjątku? Dlaczego pojawia się losowo?Nie można połączyć się z portem blokującym 7054 w ciągu 45000 ms

Niestety, o ile mi wiadomo, wszyscy sugerowali użycie najnowszej wersji słoiczka selenowego lub zgodnej wersji Firefoksa w zależności od wersji selenowej lub powiedzieli, aby sprawdzić, czy ten port jest używany (chociaż tak nie jest!) lub uruchom ponownie system. Nieliczne sugerują odinstalowanie wersji firefox i zainstalowanie go ponownie. Jakieś trwałe rozwiązanie lub pomysł, dlaczego tak się dzieje?

org.openqa.selenium.WebDriverException: Unable to bind to locking port 7054 within 45000 ms 
Build info: version: '2.30.0', revision: 'dc1ef9c', time: '2013-02-19 00:15:27' 
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0' 
Driver info: driver.version: FirefoxDriver 
Command duration or timeout: 47.94 seconds 
Build info: version: '2.28.0', revision: '18309', time: '2012-12-11 15:53:30' 
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0' 
Driver info: org.openqa.selenium.remote.RemoteWebDriver 
+0

Którą wersję Firefoksa używasz? – Hemanth

+0

Czy używasz serwera gridowego lub autonomicznego? –

Odpowiedz

6

Wygląda na to, że poprzednia instancja webDriver (lub coś innego) nie zwolniła portu. Oto obejście (złe praktyki) dla tego problemu (Java):

public static FirefoxBrowser forceInit() { 
     try { 
      return new FirefoxBrowser(); 
     } catch (WebDriverException exc) { 
      return forceInit(); 
     } 
    } 

upewnić się, że testy bliską sterownik prawidłowo:

driver.quit(); 
2

Chociaż problem/pytanie jest od dłuższego czasu, mam do czynienia ten sam dzisiaj w środowisku Windows. Udaje mi się go rozwiązać za pomocą prostego restartu komputera. Zachęcam do zrobienia tego najpierw przed wszystkim innym.

  • System operacyjny Windows 7
  • wersja selen-server: 2.35.0
+2

Restart pomaga, ale problemy zostaną/powrócą, jeśli kod wycieknie "driver.quit()" - Połączenia – alfonx

5

Upewnij się, że nie mają żadnego WebDriver okna Firefoksa otwarty!

+2

Upewnij się również, że nie masz żadnych uruchomionych testów, które "zawiesiły się" (utrzymując otwarty dysk WebDriver). Jeśli używasz Selenium w grails, może się to zdarzyć, gdy instancja tomcat jest rozwidlona w nowszych wersjach. – bschipp

-2

Zabij firefox przechodząc do Task Managera, to może pomóc.

0

miałem ten sam problem z firefox 47,0 i selen webdriver 2.45.1 Fedora 23. problem został rozwiązany za pomocą firefox wersji 41. (wersja 42 zbadano i działało także.) W celu zainstalowania ff41 Fedora stosując terminal run:

dnf install firefox-41.0.1-2.fc23 
0

Tylko w przypadku, może to komuś pomóc, mam rozwiązać ten problem, usuwając wszelkie odniesienia do localhost z pliku moi gospodarze w systemie Windows (mam wykonywania testów zdalnie z systemu Linux do Windows)