我有一个远程表单,它在
AJAX请求进行时禁用提交按钮.我想检查一下,如果我强调点击按钮,就不会有其他的AJAX请求.我怎么能在集成测试中检查这个?
解决方法
你可以用
jquery检查活动的ajax调用
$.active
如果你使用capybara进行集成测试
page.evaluate_script('$.active').should be <= 1
可能是一个解决方案.
你可能不知道什么时候发生呼叫
辅助函数可能会起作用
def test_until(seconds=5) start_time = Time.now while (Time.now - start_time) <= seconds do yield sleep 0.05 end end
可以这样称呼
test_until do page.evaluate_script('$.active').should be <= 1 end
因此,如果有多个活动的ajax调用,则测试5秒