ruby-on-rails Selenium Rails测试中的Chromedriver错误

s71maibg  于 2023-08-08  发布在  Ruby
关注(0)|答案(2)|浏览(137)

尝试运行由其他开发人员编写的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,但这应该不是问题,因为其他开发人员已经能够成功运行测试,而没有gem文件中的gem。我试过brew安装chromedriver,但没有帮助。我怀疑这个问题与repo使用ruby2.2.8有关,但由于某种原因,chromedriver只能在ruby2.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


有人能帮我吗?

7hiiyaii

7hiiyaii1#

我也有过类似的问题,这是由于无法摆脱rbenv chromedriver垫片。按照这篇评论中的步骤为我修复了它。
在我的例子中,gemfile确实包含chromedriver-helper,但如果是同一个问题,我想我会评论。
https://github.com/flavorjones/chromedriver-helper/issues/44#issuecomment-358743719
步骤如下:
首先检查是否

❯ which chromedriver

字符串
退货

~/.rbenv/shims/chromedriver


如果是,请尝试

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


获取光盘上的chromedriver可执行文件列表。
然后删除这些可执行文件

❯ rm [path to chromedriver and chromedriver-update executables]


终于跑了

❯ rbenv rehash

2izufjch

2izufjch2#

您安装了一个旧版本的chromedriver-helper gem(在Ruby 2.4.2中),它提供了一个chromedriver可执行文件--它出现在由brew安装的“真实的”chromedriver之前。
要解决这个问题,您可以:

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

我建议选择选项1,并追逐任何其他项目,并将他们的chromedriver-helper提升到2.0+。

相关问题