2014-03-05 118 views
4

我在执行firefox浏览器中的selenium脚本时遇到问题。org.openqa.selenium.WebDriverException:无法在45000 ms内绑定到锁定端口7054

控制台错误:

 
     org.openqa.selenium.WebDriverException: Unable to bind to locking port 7054 within 45000 ms 
     Build info: version: '2.39.0', revision: 'ff23eac', time: '2013-12-16 16:11:15' 
     System info: host: 'usnywqa01', ip: '10.3.3.20', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_17' 
     Driver info: driver.version: FirefoxDriver 
     Build info: version: '2.39.0', revision: '14fa800511cc5d66d426e08b0b2ab926c7ed7398', time: '2013-12-16 13:18:38' 
     System info: host: abc-PV-5', ip: 'XX.X.XX.XX', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_07' 
     Driver info: driver.version: FirefoxDriver 
     at org.openqa.selenium.internal.SocketLock.lock(SocketLock.java:98) 
     at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:84) 
     at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:250) 
     at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:110) 
     at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:197) 
     at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:190) 
     at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:108) 
     at sun.reflect.GeneratedConstructorAccessor51.newInstance(Unknown Source) 
     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
     at java.lang.reflect.Constructor.newInstance(Unknown Source) 
     at org.openqa.selenium.remote.server.DefaultDriverFactory.callConstructor(DefaultDriverFactory.java:62) 
     at org.openqa.selenium.remote.server.DefaultDriverFactory.newInstance(DefaultDriverFactory.java:56) 
     at org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call(DefaultSession.java:216) 
     at org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call(DefaultSession.java:1) 
     at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 
     at java.util.concurrent.FutureTask.run(Unknown Source) 
     at org.openqa.selenium.remote.server.DefaultSession$1.run(DefaultSession.java:170) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
     at java.lang.Thread.run(Unknown Source) 

我试图通过改变硒服务器到2.35或2.39,并且我升级FF到26,但它不工作

当我降低我的FF版本24,我的脚本工作正常。

  1. 我想知道为什么它发生,根本原因
  2. 我想知道什么是对上述24版FF的长久之计。

请帮我解决这个问题。

+1

看起来您正在尝试在Selenium Grid服务器上运行,请确保您的服务器jar和Selenium Java API jar版本相同。如果你不想使用网格,然后尝试与FirefoxDriver()只测试 – rsakhale

+0

没有运气..我使用硒服务器2.39和硒2.39 ..同样的问题:( –

回答

1

似乎是webdriver版本的问题。你可以尝试一次使用最新的绑定,即2.40.0。要获取有关webdriver的版本的详细信息,并支持Firefox的版本,请去throgh webdriver的发行说明:http://selenium.googlecode.com/git/java/CHANGELOG

+0

我的问题是我升级了我的webdriver版本和浏览器版本,但我无法执行脚本 –

+0

@Khalith你可以发布你的代码不工作 – rsakhale

+0

我升级了ff浏览器版本和selenium JAVA API为2.40 。其工作正常 –

0

我有相同的输出同样的问题,即:

org.openqa.selenium.WebDriverException: Unable to bind to locking port 7054 within 45000 ms 

我用硒和Java在我项目在Eclipse IDE中,当我尝试运行测试时,firefox窗口打开,但以后没有任何事情发生(即它是空白的,无法从我的测试中捕获URL)。

解决方案:我在pom.xml文件改变了驱动程序的版本从2.42.x2.43.1。我重建了我的项目,现在它工作正常。

现在我的pom.xml文件看起来如下:

<dependencies> 
    <dependency> 
     <groupId>org.seleniumhq.selenium</groupId> 
     <artifactId>selenium-java</artifactId> 
     <version>2.43.1</version> 
    </dependency> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.10</version> 
     <scope>test</scope> 
    </dependency> 
</dependencies> 

只是尝试硒驱动程序的最新版本或者尝试降级的Firefox(当你下载Firefox,它会自动下载其最新版本的;有的人声称降级到旧版本可能会有所帮助)。

1

我之前收到过相同的消息,实际上我发现问题是我的Mac中的hosts文件(/ private/etc/hosts)。我不知道原因,但不知何故它指向我网络中的无效IP。替换localhost指向127.0.0.1的行解决了我的问题。在简历中,我试图访问其他一些机器上的Firefox(奇怪!)

+0

我的主机中没有localhost条目f在最新的Mac OS X安全更新[安全更新2015-003](https://support.apple.com/en-lb/HT204563)后,我开始遇到本主题中描述的问题。当我将'localhost'条目返回给hosts文件时,所有东西都开始正常工作。 – meeroslaph

0

问题似乎与Firefox最新版本不支持Web驱动程序。 正面临类似的问题,使用Firefox驱动器的Chrome驱动器,它的工作。

当我们下载网络驱动程序并将其解压缩到一个文件夹时,更改日志文件将在那里,使用记事本打开它,支持Firefox版本。所以我们可以在提到的Firefox版本上成功执行脚本。

相关问题