虽然通过测试情景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浏览器。 但是,你怎么知道你需要哪个版本? 希望这个过程会更加的版本变化:
转到http://www.seleniumhq.org/download/ 。
向下滚动到硒客户端和webdriver的语言绑定 。
在这一节中,在Ruby语言线,点击“更改日志”( 直接链接 )。
在更改日志,确定您需要为您的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版本不兼容,发生这种错误。
有两个选项。
更新硒:
gem update selenium-webdriver
如果仍然失败,那么硒尚未更新到最新版本。
降级的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)