我正在尝试为我用 Backbone 和 Rails 3.2 编写的单页应用程序编写集成测试当使用实际浏览器(Chrome)时,事情似乎在客户端工作但是,当使用 Capybara 使用客户端代码进行测试时(使用Cucumber),模型的 fetch() 方法没有完成。我这样做: $.active jQuery 调用,并且数字不会变为 0 .. 有什么想法可能是错误的吗?
page.execute_script("$.active") # -> 0
page.execute_script("App.backboneModel.fetch()")
page.execute_script("$.active") # -> 1
# ... long time later...
page.execute_script("$.active") # -> 1
我使用 capybara-webkit 作为无头浏览器,我也尝试使用 Selenium/firefox。上面的代码完全可以在启动了 rails 实例的实际浏览器上运行,但是在测试期间它不起作用!由于某种原因,ajax 调用没有完成......我完全被难住了。