我最近在嘗試運行任何Cucumber測試時開始看到此錯誤消息。我已經做了一些調查,發現了其他一些類似的錯誤情況,但其中大部分都是與瀏覽器相關的問題。我沒有看到任何瀏覽器的特定錯誤消息在此輸出:Ruby - 無法在45秒內綁定到鎖定端口7054(Selenium :: WebDriver :: Error :: WebDriverError)
unable to bind to locking port 7054 within 45 seconds (Selenium::WebDriver::Error::WebDriverError)
我看到了張貼在這裏的另一個問題是得到的回答(A selenium webdriver exception),但是這種解決方案並沒有爲我工作。運行「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)
只是可以肯定,我也試着與Firefox 3.6,4.0和5.0運行這些測試。每次都有同樣的信息。
不是一個陰謀論者或任何東西,但一切工作正常我手動退出運行我的測試套件,並運行在所有黃瓜啓動活動的Firefox進程一個pkill的面前。在測試套件中,我有大約9個Firefox實例同時運行。我不確定這是否會導致某些事情發生,從而產生我現在從運行Cucumber測試中看到的結果。
有沒有人有任何建議來解決這個問題?
你嘗試在45秒的窗口中運行lsof命令,而它的等待連接?使用$ DEBUG = true(或將-d傳遞給ruby)運行將爲您提供更多的調試輸出。 – jarib
我在第一次測試期間在45秒窗口內運行了lsof。我仍然沒有得到任何輸出。在調試模式下運行,給我這個錯誤,我有每一個寶石:「Exception'NoMethodError'rvm/gems/ruby-1.9.2-p136/gems/bundler-1.0.15/lib/bundler/lazy_specification.rb:66 - 未定義的方法'to_ary'爲json_pure(1.5.1):Bundler :: LazySpecification「 –
$ DEBUG = true將打印所有獲救的異常,所以預計會有很多輸出。看到輸出將幫助我們診斷您的問題。 – jarib