javascript - 有没有办法使用 Rspec/Capybara/Selenium 将 javascript console.errors 打印到终端?

标签 javascript ruby-on-rails selenium rspec capybara

当我运行 rspec 时,是否可以让 capybara /selenium 向 rspec 报告任何 javascript console.errors 和其他异常?

我有一大堆测试失败,但当我手动测试它时,我的应用程序正在运行。如果不知道仅在测试期间可能阻止我的单页 Web 应用程序的 JavaScript 错误,就很难找出测试失败的原因。

我环顾四周,并没有真正找到解决方案。

最佳答案

本要点末尾有一个代码示例 https://gist.github.com/gkop/1371962 (来自 alexspeller 的那个)对我来说非常有效。

我最终在我尝试调试的 JS 测试上下文中执行了此操作

after(:each) do
  errors = page.driver.browser.manage.logs.get(:browser)
  if errors.present?
    message = errors.map(&:message).join("\n")
    puts message
  end
end

对于最新版本的 headless Chrome,请使用 page.driver.browser.logs.get(:browser)

关于javascript - 有没有办法使用 Rspec/Capybara/Selenium 将 javascript console.errors 打印到终端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8996267/

相关文章:

javascript - 即使由用户事件触发,Facebook 权限弹出窗口也会被阻止。为什么?

javascript - 是否有可能通过 jQuery 中的索引号获取父元素?或者还有其他办法吗?

mysql - 在 Ruby on Rails 应用程序中使用 MySQL View 来提高性能

selenium - Selenium需要显示器吗

javascript - 将多个套接字实例绘制到 Canvas 上并在移动时更新(多人游戏)

javascript - 自动完成功能可按属性搜索 json 对象

ruby-on-rails - 当我需要模型关系时,我如何防止错误?

ruby-on-rails - 如何使第二个场景直接跟随 Cucumber 中的第一个场景

javascript - 如果它调用 Selenium 中的 java 脚本函数,我如何从 Web 元素获取文件 URL

java - 将 WebElement 类型转换为 By 类型