Joe*_*sch 11 ruby selenium ruby-on-rails cucumber
我最近在尝试运行任何Cucumber测试时都开始看到此错误消息.我做了一些研究,发现了一些其他类似的错误实例,但大多数是与浏览器相关的问题.我在此输出中看不到任何特定于浏览器的错误消息:
unable to bind to locking port 7054 within 45 seconds (Selenium::WebDriver::Error::WebDriverError)
Run Code Online (Sandbox Code Playgroud)
我看到这里发布的另一个问题得到解答(硒webdriver例外),但是这个解决方案对我不起作用.运行" lsof -i TCP:7054 "不会产生任何输出.
如果有人建议这样做,我已经多次重新启动我的机器并擦掉我的宝石并重新运行"捆绑".
以下是我正在使用的相关宝石:
capybara (0.4.1.2)
cucumber (0.10.7)
cucumber-rails (0.4.1)
fuubar-cucumber (0.0.9)
selenium-webdriver (0.2.0)
Run Code Online (Sandbox Code Playgroud)
可以肯定的是,我也试过用Firefox 3.6,4.0和5.0运行这些测试.每次都是相同的消息.
不要成为阴谋理论家或任何东西,但在手动退出运行我的测试套件并在Cucumber启动的所有活动Firefox进程上运行之前,一切正常.我在测试套件中同时运行了大约9个Firefox实例.我不确定这是否会导致某些事情发生,从而产生我现在看到的运行Cucumber测试的结果.
有没有人有解决这个问题的建议?
Joe*_*sch 19
更新:解决了问题
将$ DEBUG设置为true并重新运行测试后,此错误最有趣:
<Selenium::WebDriver::Firefox::SocketLock:0x00000102f9c010>: getaddrinfo: nodename nor servname provided, or not known
Exception `SocketError' at /Users/bobrossasaurus/.rvm/gems/ruby-1.9.2-p136/gems/selenium-webdriver-0.2.0/lib/selenium/webdriver/common/platform.rb:131 - getaddrinfo: nodename nor servname provided, or not known
Run Code Online (Sandbox Code Playgroud)
在看了platform.rb:131之后,我注意到它正在尝试连接到端口80上的"localhost"但是失败了.这引起了一面红旗,因为我最近无法通过浏览器访问"localhost",而是不得不使用127.0.0.1:3000来查看我的rails项目.
解决方案:
我错过了/ etc/hosts中的localhost主机文件条目:
127.0.0.1 localhost
Run Code Online (Sandbox Code Playgroud)
相当令人尴尬的问题,但它仍然是答案.
归档时间: |
|
查看次数: |
8593 次 |
最近记录: |