2015-08-16 5 views
1

Я использую selenium 2.47 с Firefox v31. С помощью этой простой реализации:Selenium 2.47 не работает с Firefox v31

public void navigateToHomePage() throws Throwable { 
    System.out.println("Navigate to Home"); 
    driver = new FirefoxDriver(); 
    driver.quit(); 
} 

Я получил эту ошибку:

org.openqa.selenium.WebDriverException: Unable to bind to locking port 7054 within 45000 ms 
Build info: version: '2.47.0', revision: '0e4837e', time: '2015-07-29 22:49:49' 
System info: host: 'ok-ThinkPad-SL500', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '3.13.0-24-generic', java.version: '1.7.0_79' 
Driver info: driver.version: FirefoxDriver 
    at org.openqa.selenium.internal.SocketLock.lock(SocketLock.java:99) 
    at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:90) 
    at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:276) 
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:116) 
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:223) 
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:216) 
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:212) 
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:125) 
    at cucumber.features.StepDefinitions.navigateToHomePage(StepDefinitions.java:24) 
    at ✽.Given I navigate to the home site(/home/ok/workspace/CucumberPOC/src/cucumber/features/UserRegistry.feature:6) 

Я не знаю, что это такое ??

ответ

0

Эта ошибка SocketLock возникает, когда Firefox пытается связать с портом 7054 и не удается, поскольку другой экземпляр уже заблокирован этим портом.

Непосредственное решение - убедитесь, что перед запуском нового драйвера у вас нет НИКАКИХ задач или процессов Firefox в фоновом режиме. Убейте их всех и повторите попытку.

В конечном итоге вы можете избежать этих проблем, создав новый профиль, изменив настройки порта, чтобы избежать блокировок, а затем запустите драйвер, используя этот профиль. Короткий пример:

FirefoxProfile profile = new FirefoxProfile(); 
profile.setPreference(FirefoxProfile.PORT_PREFERENCE, 7046) 
driver = new FirefoxDriver(profile); 

К сожалению, когда я смотрел на него термины Java, я обнаружил, что эта функция была нарушена в драйвере Явы один раз, а затем it was fixed, а затем it broke in a later update, так что даже если вы реализуете решение, которое я дал вам , вы все равно можете получить эти ошибки в 2.47.

The fix was released in version 2.43.1, поэтому, если вам не нужны более новые версии для другой проблемы/функции, вы можете попробовать вернуться в точку, в которой вы можете успешно установить настройку порта.

Не требуется чтение: Some more technical details of the issue are in this pull request.

Смежные вопросы