一尘不染

有没有一种方法可以使用Rspec / Capybara / Selenium将javascript console.errors打印到终端?

selenium

当我运行rspec时,是否有可能使capybara / selenium报告任何javascript
console.errors和其他异常返回给rspec?

我有一堆测试都失败了,但是当我手动测试它时,我的应用程序正在运行。如果不知道仅在测试期间可能会阻塞我的单页Web应用程序的javascript错误,就很难弄清楚测试失败的原因。

我环顾四周,实际上还无法找到解决方案。


阅读 274

收藏
2020-06-26

共1个答案

一尘不染

我不知道这是否会有帮助,但是您可以尝试切换到thinkbot的capybara-
webkit驱动程序。它是无头的Selenium的替代品,这意味着它不会打开浏览器来运行测试。当我使用此驱动程序运行测试时(在RSpec +
Capybara设置中),所有Javascript错误都会与RSpec输出一起内联打印。

我从未尝试过从Selenium切换到capybara-
webkit,所以我不知道这在现有项目中是否可行。如果您没有对Selenium做任何真正想做的事情,那么过渡可能会非常顺利。但是,如果您希望能够查看在浏览器中运行的测试,或者对Selenium有其他特定的需求,那么不幸的是,我的答案将无济于事。

您可以在这里找到capybara-webkit:https
//github.com/thoughtbot/capybara-
webkit

安装它可能很麻烦,因为您将需要Qt4库。如果您的系统上还没有Qt4,则构建过程可能需要 长时间。对我来说,麻烦是值得的。我更喜欢capybara-
webkit而不是我尝试过的任何其他解决方案。

2020-06-26