【发布时间】:2011-08-25 16:27:07
【问题描述】:
为了简单起见,我省略了大部分测试,只包含了有问题的代码。它是:
click_button('Search')
page.select 'Preferred', :from => 'ticket_service_type'
当我运行它时,我收到以下信息:
Failure/Error: page.select 'Preferred', :from => 'ticket_service_type'
Capybara::ElementNotFound:
cannot select option, no select box with id, name, or label 'ticket_service_type' found`
此按钮单击事件触发的 AJAX 请求与 select 标签没有任何关系,因此在测试中颠倒顺序会导致测试通过。我知道 Capybara 的默认等待时间是 2 秒,所以我把它改成了 10 秒:
Capybara.default_wait_time = 10
这不会导致测试通过。我怎样才能让这两种方法相互配合,并按照用户操作网页的顺序工作?
(如果我发布了规范中的代码,我敢打赌这会很快解决。)
【问题讨论】:
标签: ruby-on-rails capybara rspec-rails