ChatGPT解决这个技术问题 Extra ChatGPT

无法在 60 秒内获得稳定的 Firefox 连接 (127.0.0.1:7055)

运行 rspec 测试时出现以下错误

在 Rails 中无法在 60 秒 (127.0.0.1:7055) 内获得稳定的 Firefox 连接

使用最新的 ruby (1.9.2) 和 firefox (6.0)

使用 rspec-rails、capybara 和其他几个 gem,但它们似乎不是问题。这些测试在另一个环境(linux)中运行良好。


M
Michael Durrant

[更新 - 这可以(对我来说)仍然是 2015 年此问题的修复 |mdurrant|]

我遇到了this problem lately

您应该升级到 capybara v1.0.1 以获得正确的 selenium webdriver。

可以肯定的是,我添加了:

gem 'selenium-webdriver', '2.25.0'

在我的 Gemfile 中。

重要提示
Firefox 的每个后续版本都会更新 selenium-webdriver gem,并发布一个新版本。目前,需要版本 2.25.0 来支持 Firefox 15


我实际上做了“捆绑更新 selenium-webdriver”,但无论哪种方式,目标都是将 selenium-webdriver gem 更新到 2.5.0。更新后测试运行良好。
刚刚做了。抱歉耽搁了。
必须做 - gem 'selenium-webdriver', '>= 2.5.0' - for firefox 11. 这让我获得了 gem 2.10 版...
Firefox 19 需要 selenium-webdriver 2.31.0。似乎答案总是“获取最新的 selenium-webdriver”。
我总是在 selenium-webdriver 中保留版本号,并在版本需要更新时执行 bundle update selenium-webdriver
V
Vincent

我无法让它在 Ubuntu 上与 Firefox 10 一起使用。切换到 Chrome 有帮助。

安装 Chrome Driver

spec_helper.rb:

Capybara.register_driver :selenium_chrome do |app|   
  Capybara::Selenium::Driver.new(app, :browser => :chrome)
end

在您的规格中:

Capybara.current_driver = :selenium_chrome
... tests ...
Capybara.use_default_driver

如果您使用的是 Mac,您只需 brew install chromedriver
为我工作,除了这样做:Capybara.javascript_driver = :selenium_chrome(而不是设置 current_driver。)
切换到 Chrome 帮助您建立了稳定的 Firefox 连接?迷人。 :)
m
mltsy

对于任何使用 Firefox 12 的人来说,当前的 selenium webdriver (2.21) 不支持 FF12。我找到的唯一解决方案是继续使用 Firefox 是降级 Firefox,直到 selenium-webdriver 更新为 FF12 支持。

这可以通过选择 Firefox 包并单击包菜单 > 强制版本 > 选择早期版本来使用突触包管理器来完成。然后应用更改。

如果你没有 synaptic,你可以使用 apt-get install synaptic 安装它。

更新:Firefox 12 支持在 2.22 中添加,FF13 支持在 2.23 中添加


非常感谢,节省了我不少时间。
selenium-webdriver 与 FF12 一起使用 2.22.0.rc1
C
Community

我收到此错误是因为规范是在无头服务器上运行的。这意味着没有可供浏览器渲染的显示。

This article 建议使用虚拟 X 服务器 (X Virtual Framebuffer)。这允许浏览器在虚拟显示器中呈现。

像这样安装:

sudo apt-get install xvfb
sudo apt-get install x11-xkb-utils
sudo apt-get install xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic

然后使用前面的命令 xvfb-run 运行规范。

xvfb-run bundle exec rake spec:features

This was the SO answer 将我引至上述文章。它还提供了另一种使用 Xvfb 的方法。


它的“xfonts-cyrillic”,最后一个 c 丢失了
W
Werner

*/var/lib/gems/1.9.1/gems/selenium-webdriver-2.35.1/lib/selenium/webdriver/firefox/launcher.rb:79:in `connect_until_stable': 无法在 60 秒内获得稳定的 firefox 连接(127.0.0.1:7055)(Selenium::WebDriver::Error::WebDriverError)*

我遇到了同样的问题,更新 selenium-webdriver 没有帮助(它已经是可用的最新版本)。

事实证明,我尝试从 SSH 会话运行我的脚本,但未设置 $DISPLAY

该问题已通过以下方式解决:

export DISPLAY=:0

在从 SSH 会话启动我的 Ruby 脚本之前(在 X 会话的终端中使用 echo $DISPLAY 来找出需要放入此变量的内容)。


r
rusllonrails
bundle update selenium-webdriver

加 1,在 2015 年,这对我来说是最简单的解决方法。不要乱用硬编码版本号。
m
mnoble01

将“启动”gem 添加到我的应用程序的 Gemfile 与 FF13.0、Capybara 和 Selenium v1.8.24 一起使用。


我怀疑如果这解决了这个问题,那只是因为添加launchy会导致更高版本的capybara被拉入(例如作为依赖项)。
A
Austio

这只是对上面每个人所说的内容的重申。我检查了我的 gemfile 并确保“selenium-webdriver”没有任何限制,然后运行“捆绑更新”并且它有效。

我在 ubuntux64 和 windows 8 x64


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅