我有一个带有表单的页面。提交表单后,将对服务器进行AJAX调用。如果成功,页面将使用JavaScript重定向到新页面,如下所示:
$('form').bind('ajax:success', function(){
window.location = redirect_url;
});
如何使用Capybara测试此重定向?我正在使用Caplenbara的Selenium webdriver。填写并提交表单很简单,但我不确定如何测试这个AJAX +重定向组合。
在Capybara 2(http://www.elabs.se/blog/53-why-wait_until-was-removed-from-capybara)中似乎也删除了wait_until
,所以我真的不确定如何断言此重定向。
谢谢!
答案 0 :(得分:-1)
我找到了等待重定向的解决方案。
def wait_for_redirect(url)
start = Time.now
while true
break if current_path == url
if Time.now > start + 20.seconds
fail "Redirect failed!"
end
sleep 0.5
end
end
现在我可以致电wait_for_redirect "/some/url/here"
。