如何在点击capybara后测试被禁用的提交按钮?

时间:2012-06-14 17:54:43

标签: ruby-on-rails testing browser capybara

我们正在尝试在点击后禁用某个提交按钮。像这样:

assert !page.has_css?("#review_button[disabled='disabled']")
click_button "Review"
assert page.has_css?("#review_button[disabled='disabled']")

问题当然是在检查第二个断言之前提交表单。有没有办法禁用表单的实际提交,或者在检查第二个断言之前暂停它?

1 个答案:

答案 0 :(得分:1)

我记得有同样的问题并且从来没有找到一个很好的方法来做到这一点,因为正如你所说的那样,它只会在“审核”操作完成时进入下一个断言。

我最终做了什么,考虑到按钮确实花费了很长时间的操作(从而证明按钮被禁用)是为了让操作创建一个延迟作业作业,然后让它以异步方式运行。然后很容易将其模拟出来并使其休眠几秒钟(或者你有什么)来检查该按钮是否被禁用。