我正在使用 Capybara 和 Poltergeist 测试使用 setTimeout 定期刷新页面内容的索引页面。页面内容根据外部服务在三种状态之间转换,我为每种状态准备了一个磁带。
我正在尝试使用如下代码测试刷新:
VCR.use_cassette 'object_new' do
visit index_path
page.should have_content 'New'
end
VCR.use_cassette 'object_running' do
page.should have_content 'Running'
end
VCR.use_cassette 'object_complete' do
page.should have_content 'Complete'
end
第一个have_content
成功,但第二个没有。Capybara 应该等待任何异步调用返回并更新 DOM,以便这些断言通过。我试图在 ajax 调用返回后using_wait_time
强制断言等待很长时间,但这没有帮助。关于我的规范中可能缺少什么来完成这项工作的任何想法?该功能在浏览器中运行;只是没有通过的测试。