我是selenium的新手。我正在运行测试用例,我遇到以下异常:
org.openqa.selenium.WebDriverException: Unable to bind to locking port 7054 within 45000 ms
Build info: version: '2.28.0', revision: '18309', time: '2012-12-11 20:21:18'
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: 46.68 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
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:187)
我已经安装了firefox版本18,并尝试了很多解决方案,但仍然存在相同的错误。请帮助我。 提前谢谢。
答案 0 :(得分:2)
根据changelist,自WebDriver 2.29.0版本起支持FF18。
所以在这里查看最新版本:
http://docs.seleniumhq.org/download/
或使用直接链接: selenium.googlecode.com/files/selenium-java-2.33.0.zip
答案 1 :(得分:2)
解决方案1 - 将Firefox版本更新为v19,将selenium版本更新为版本2.31
解决方案2 - 或者按照以下步骤操作: - 脚步:- 1.转到以下路径 C:\ WINDOWS \ SYSTEM32 \ drivers \ etc中 2.并注释掉:127.0.0.1 localhost
答案 2 :(得分:2)
有一些原因导致测试无法绑定到锁定端口。最常见的一种情况是,您不为每个运行的测试设置Webdriver的新实例,或者您有一个尚未关闭的webdriver的现有实例。
如果您没有为其提供新实例,那么Firefox可能会有多个可能相互冲突的实例。创建新实例非常简单,可以添加到代码中。这可以通过两种方式之一完成。第一种方法是为每次测试运行声明一个新的驱动程序。
IWebDriver driver = new FirefoxDriver();
第二种是为其分配特定的配置文件以供使用。如果要为实例分配特定的firefox配置文件(只使用最少的浏览器),可以使用以下代码
FirefoxProfile yourProfile = new FirefoxProfile(@"Filepath of the custom profile");
using(IWebDriver driver = new FirefoxDriver(yourProfile))
{
//Perform your test here
}
另一个原因可能是上次测试未能正确关闭webdriver。在测试结束时,只需添加一种关闭实例的方法。这可以通过简单的
来完成driver.Close();
可在此处找到其他用户有关此主题的更多信息 https://groups.google.com/forum/#!topic/selenium-users/scHVivMEYDc