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

2019-07-18 04:30发布

虽然通过测试情景cucumber我运行时收到以下错误rspec测试

无法获得在60秒内稳定的Firefox连接(127.0.0.1:7055)(硒::的webdriver ::错误:: WebDriverError)

使用ruby (1.9.2) selenium-webdriver (2.27.2)firefox (19.0)

使用rspec-rails (2.12.1) capybara (2.0.2)和其他几个宝石,我也有加入launchy宝石,但他们似乎并没有成为一个问题。 而我使用Windows 7

Answer 1:

我有同样的问题(在Linux上)。 修正了:

gem update selenium-webdriver

现在我使用Ruby 1.9.3-P286,硒webdriver的2.29.0,火狐18.0除了RSpec的护栏2.9.0,1.1.2水豚,水豚和 - WebKit的0.12.1

我加硒的webdriver 2.29.0我Gemfile文件是安全的。



Answer 2:

看来硒的webdriver得到频繁的更新以跟上Firefox浏览器。 但是,你怎么知道你需要哪个版本? 希望这个过程会更加的版本变化:

  1. 转到http://www.seleniumhq.org/download/ 。

  2. 向下滚动到硒客户端和webdriver的语言绑定

  3. 在这一节中,在Ruby语言线,点击“更改日志”( 直接链接 )。

  4. 在更改日志,确定您需要为您的Firefox版本,其中硒的版本。

如果您使用捆扎机,运行bundle show selenium-webdriver看到你所拥有的版本。 要更新,例如2.35.0,这一行添加到您Gemfile

gem 'selenium-webdriver', '2.35.0'

然后运行bundle update安装。 如果使用的是叉勺,记得重新运行测试之前重新启动它。

更新一个StackOverflow的答案表明,更改日志可在源代码库早于在seleniumhq.org更新。 Ruby的仓库更改日志是在这里: https://github.com/SeleniumHQ/selenium/blob/master/rb/CHANGES 。

火狐降级

如果您需要降级的Firefox在Ubuntu 12.04, 这个答案说明如何回去的Firefox 20的方式更普遍的描述切换到Firefox的任何版本给出了这里 。 然后用这个答案来搁置Firefox的更新,直到硒发布与火狐的更新版本工作的最新情况。

就我而言,我降级的Firefox却发现硒的webdriver最近已经更新,以处理最新的版本,所以检查硒更新第一!



Answer 3:

bundle update selenium-webdriver


Answer 4:

恰好碰到了这个CI服务器上,发现这是因为火狐没有显示使用。 我原以为硒的webdriver将使它没有进一步的干预工作,但事实并非如此。

添加的Xvfb混进去使它工作。

对于Rails的运行黄瓜特点:

gem 'headless'

然后在功能/支持/ env.rb

Before do
  if Capybara.current_driver == :selenium
    require 'headless'

    headless = Headless.new
    headless.start
  end
end


Answer 5:

当硒和Firefox版本不兼容,发生这种错误。

有两个选项。

  1. 更新硒:

    gem update selenium-webdriver

    如果仍然失败,那么硒尚未更新到最新版本。

  2. 降级的Firefox版本:

    sudo apt-get purge firefox

    要查看下载可用的软件包apt-cache showpkg firefox

    sudo apt-get install firefox=#older_version#



Answer 6:

神奇的组合,对我的工作是火狐19.0和硒网络驱动2.32.1(最迟在写作的时候)。 火狐20.x和21.x没有工作。 我不得不降级Firefox浏览器。 也请记住,(至少在Mac OS),如果你去到Firefox菜单 - >关于Firefox,它会自动升级到最新版本。 不要那样做。



Answer 7:

如果上面的在我的情况确实现在的工作一样,给这一个镜头。

我得到超时错误一体机而不是其他的。 两款机器运行一切完全相同的版本瘦客户机。 这样就排除了不兼容的Firefox版本(一台机器上发生错误,而不是其他)

原来,有与无头使用的端口的问题。 有使用该端口另一个进程。

下面的固定我的问题:
添加以下行的.zshenv文件
export XVFB_DISPLAY='new-port-number'
然后运行命令zsh在终端设置改变



Answer 8:

我有这个问题,当我从一个终端,我不得不苏编我自己到另一个用户启动内部评级法。 当我跑IRB作为用户我会得到这个错误。 但如果我作为根。 而不是当我退出背出被登录的用户所拥有的壳。



Answer 9:

对于我来说,我已经更新了宝石,但随后需要更新我的包。

在PowerShell中,浏览到您的目录,然后更新包:

cd D:\Projects\LazyAutomation
bundle update


Answer 10:

使用流浪的人,如果你登录启用的XServer火狐能够正常启动,这解决了这个问题对我来说。 流浪者的ssh - -X



Answer 11:

降级Firefox浏览器。

如果已经使用gem 'headless'和更新的宝石是不可取的,作为现在,那么你需要降级Firefox浏览器。

对于Ubuntu的(但是其他Linux发行版将是非常相似的),你应该:

删除的Firefox自带的Ubuntu的最新版本

sudo apt-get purge firefox

您可以作为解释的去除一些相关的数据补充在这里

现在,安装Firefox的旧版本。 对我来说,版本42.0的工作(如我们的Travis.ci使用它)

$ export FIREFOX_SOURCE_URL='https://download.mozilla.org/?product=firefox-42.0&lang=en-US&os=linux64'
$ wget --no-verbose -O /tmp/firefox-42.0.tar.bz2 $FIREFOX_SOURCE_URL
$ tar xvC ~/. -f /tmp/firefox-42.0.tar.bz2
ln -s ~/firefox/firefox ~/bin/firefox

打开一个新的终端标签和运行黄瓜规格/硒规格。

现在,您可以下载Firefox的最新版本,并创建一个.desktop文件/usr/share/applications/从码头访问它。 而让硒在默认情况下找到旧版本。 以此为参考



Answer 12:

以下ballPointPenguin的建议后,我现在可以使用的Watir-webdriver的检索在我的本地安装Apache的htdocs目录,或在网络上的文件的本地文件,或文件:

1) file:///Users/me/jquery_programs/1.htm
2) 'http://localhost:8080/my.html'
3) 'http://www.google.com'

require 'watir-webdriver'

browser = Watir::Browser.new :firefox
browser.goto 'http://localhost:8080/my.html'

在进行更新之前,我得到的错误:

`connect_until_stable':无法获得在60秒内稳定的Firefox连接(127.0.0.1:7055)(硒::的webdriver ::错误:: WebDriverError)



文章来源: Unable to obtain stable firefox connection in 60 seconds (127.0.0.1:7055)