功能测试导轨水豚

时间:2018-11-15 15:05:45

标签: ruby-on-rails capybara poltergeist ruby-on-rails-5.1

enter image description here

我正在写水豚测试。我在视图中有一个链接。当我单击链接时,将打开一个弹出js警告。我已经配置了Js。通过使用phantomjs和petergiest宝石在水豚中觅食。

enter image description here

1 个答案:

答案 0 :(得分:0)

没有所请求的信息,就不可能给出确切的答案,但是您看到的错误意味着应用程序正在请求非JS响应(可能是HTML)。发生这种情况可能有两个原因

  1. 您实际上并没有使用JS支持的驱动程序来运行测试。我在您的方案中看不到任何js元数据,因此根据您配置Capybara / RSpec的方式,可能会因您的问题而异。要确认,请从Poltergeist切换到将Selenium与Chrome或Firefox结合使用(尝试调试时为非空白),以便您查看浏览器是否真正启动

  2. 您遇到了一个JS错误,导致JS无法运行,因此发出了正常请求而不是XHR。这可能是因为您的JS确实存在错误,或者是因为您使用的是Poltergeist / PhantomJS,而在JS / CSS支持中这已经过时了。要进行测试,请切换到将Selenium与Chrome或Firefox结合使用,然后在开发者控制台中查看。

  3. 您的链接未正确配置为发出Ajax请求-如果没有链接的HTML,就无法分辨

此外,图片中显示的测试都没有断言/期望任何东西,因此目前还不清楚您到底要测试什么。