如何解决'undefined method`network_traffic''错误

时间:2017-11-23 16:45:29

标签: ruby-on-rails ruby capybara headless capybara-webkit

我最近从poltergeist切换到了这个错误 webkit无头

  

*** NoMethodError异常:#Capybara的未定义方法`network_traffic':: Selenium :: Driver:0x007fc2f30bbbd0>

违规行代码是

!page.driver.network_traffic.collect(&:response_parts).any?(&:empty?)

2 个答案:

答案 0 :(得分:0)

当您使用Selenium时,

Capybara司机应为Poltergeist

network-traffic未针对Poltergeist保存任何内容。

More info

答案 1 :(得分:0)

每当您致电page.driver.xxxxxx时,您都会调用任何其他驱动程序可能不支持的驱动程序特定方法。 network_traffic是仅由Poltergeist支持的特定于驱动程序的方法之一。将来,如果您希望测试与多个驱动程序兼容,请远离任何page.driver.xxxx个调用。

对于这种情况,您显示的代码似乎正在检查所有回复是否有内容。我不确定这是如何适合您的具体测试的,但功能测试确实不应该直接担心特定的网络传输,而应该担心显示给用户的实际数据。