我在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时,我的脚本运行正常。
请帮我解决这个问题。
答案 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版本上成功执行脚本。