Selenium Rails测试中的Chromedriver错误

时间:2018-09-19 15:19:05

标签: ruby-on-rails selenium rspec selenium-chromedriver

尝试运行其他开发人员编写的rspec测试。但是测试失败,并显示以下错误

Selenium::WebDriver::Error::WebDriverError: unable to connect to chromedriver 127.0.0.1:9515

  0) /media/uploader product video wistia uploads adds video when links is valid
     Failure/Error: visit login_path

     Selenium::WebDriver::Error::WebDriverError:
       unable to connect to chromedriver 127.0.0.1:9515

gemfile不包含chromedriver-helper gem,但这不应该成为问题,因为其他开发人员已经能够在gemfile中没有gem的情况下成功运行测试。我试过brew安装chromedriver,但这没有帮助。我怀疑问题与回购使用ruby 2.2.8有关,但出于某些原因,chromedriver仅在2.4.2中可用。

asahmed:~/Documents/workspace/vendor-portal-next (master) $ chromedriver -v
rbenv: chromedriver: command not found

The `chromedriver' command exists in these Ruby versions:
  2.4.2

有人可以帮我吗?

2 个答案:

答案 0 :(得分:2)

我遇到了类似的问题,这是因为无法摆脱rbenv chromedriver垫片。遵循此评论中的步骤为我修复了该问题。

在我的情况下,gemfile确实包含chromedriver-helper,但如果是同一问题,我想我会发表评论。

https://github.com/flavorjones/chromedriver-helper/issues/44#issuecomment-358743719

步骤是:

首先检查

❯ which chromedriver

返回

/Users/xxx/.rbenv/shims/chromedriver

如果可以尝试

❯ ls ~/.rbenv/versions/*/bin/* | grep chromedriver

获取光盘上chromedriver可执行文件的列表。

然后使用

删除那些可执行文件
❯ rm [path to chromedriver and chromedriver-update executables]

最终运行

❯ rbenv rehash

答案 1 :(得分:1)

您已经安装了chromedriver-helper gem的旧版本(在Ruby 2.4.2中),它提供了一个chromedriver可执行文件-出现在您的“真实” {{1 }}由chromedriver安装。

要解决此问题,您可以:

  • 卸载引起问题的gem:brew-现在可以修复它,但是如果其他项目的Gemfile提到它,它可能会回来
  • 在运行的红宝石中安装rbenv shell 2.4.2; gem uninstall chromedriver-helper的旧版本:chromedriver-helper
  • 以某种方式说服gem install chromedriver-helper -v 1.2.0提供的可执行文件优于brew一个

我建议您选择选项1,并追踪其他项目并将其rbenv提升到2.0 +。