org.openqa.selenium.WebDriverException:无法在45000 ms内绑定到锁定端口7054

时间:2014-03-05 21:16:41

标签: selenium-webdriver selenium-grid

我在firefox浏览器中执行selenium脚本时遇到问题。

控制台错误:

        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)

我尝试将selenium服务器更改为2.35或2.39并将ff升级到26.但它不起作用

当我将我的ff版本降级为24时,我的脚本运行正常。

  1. 我想知道为什么会发生这种情况和根本原因
  2. 我想知道什么是24以上版本ff的永久解决方案。
  3. 请帮我解决这个问题。

4 个答案:

答案 0 :(得分:2)

似乎是webdriver版本的问题。你能尝试一次最新的绑定,即2.40.0。要获得有关webdriver版本和支持的firefox版本的更多信息,请访问throgh webdriver发行说明:http://selenium.googlecode.com/git/java/CHANGELOG

答案 1 :(得分:2)

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

答案 2 :(得分:1)

我在同一输出中遇到了同样的问题,即:

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

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

解决方案:我将POM.xml文件中的驱动程序版本从 2.42.x 更改为 2.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>

试试最新版本的selenium驱动程序或尝试降级firefox(当你下载firefox时,它会自动下载其最新版本;有些人声称降级到旧版本可能有帮助。)

答案 3 :(得分:1)

问题似乎与Firefox最新版本不支持网络驱动程序。 面对类似的问题,使用了Firefox的Chrome驱动程序并且它有效。

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