锁定 Poltergeist 使用的 PhantomJS 版本

Locking the version of PhantomJS that Poltergeist uses

我在 Rails 应用程序上有一个 Ruby,它使用 Capybara、Poltergeist 和 PhantomJS 运行功能测试。

PhantomJS 的 2.0.0 版有一个相当严重的错误,它破坏了很多测试 (https://github.com/ariya/phantomjs/issues/12506) 所以我想强制应用程序在 [=23= 时使用不同版本的 PhantomJS ] 测试。

这是否可能在 Poltergeist 的配置中引发错误或警告(如果使用了这个有缺陷的版本),或者我最好的选择是简单地在应用程序的自述文件中添加一条说明“不要使用 2.0.0 版”由于这个错误'?

目前我的 Capybara/Poltergeist 配置非常基础:

Capybara.register_driver :poltergeist do |app|
    Capybara::Poltergeist::Driver.new(app, :timeout => 90)
end

正如@pguardiario 评论的那样,您可以做类似的事情

if `phantomjs -v`.start_with? '2'
   #output whatever kind of warning you want
end

但是 Poltergeist master 分支有针对该特定问题的修复程序,因此您可以尝试使用它来代替