如何使用capybara和poltergeist检查Javascript错误?

时间:2015-04-17 19:40:36

标签: javascript ruby capybara phantomjs poltergeist

我试图弄清楚究竟如何将Poltergeist的这项功能应用到我现有的Capybara测试中,并且在阅读完文档之后我没有运气:https://github.com/teampoltergeist/poltergeist

我已经包含了以下代码,但是当我运行测试时,当我知道控制台中存在JS错误时,我没有看到任何关于JS错误的警告。我错过了什么吗?我是否必须在终端中传入特定命令才能确保检查JS错误?谢谢!

require 'capybara/poltergeist'
Capybara.javascript_driver = :poltergeist

options = {js_errors: true}
Capybara.register_driver :poltergeist do |app|
  Capybara::Poltergeist::Driver.new(app, options)
end

1 个答案:

答案 0 :(得分:2)

我搜索了一个类似的问题后,我遇到了你的帖子。在我的情况下,我开始使用webkit作为capybara的驱动程序。我曾阅读过一篇博文,其中提出了以下代码,其中使用了" have_errors"匹配器捕获任何js错误。

it 'should not have JavaScript errors', js: true do     
 visit(root_path)       
 expect(page).to_not have_errors        
end

如果您指的是类似的东西,则无需使用任何特定方法来检查何时使用poltergeist。你可以看到我的代码,显示我已切换的内容。

https://github.com/alaghu/learn_jquery/compare/dev...1d6be6dfd500

基本上,每个测试都会自动检查页面是否有错误。我只需要在我的测试中引入js:true。我通过故意错误的js文件来验证这些测试。

希望这有用。