【发布时间】:2012-02-26 06:17:26
【问题描述】:
我需要在黄瓜步骤中等待加载栏(div#loading)消失(变为显示:无)。我希望以下内容可以解决问题
find('#loading').should_not be_visible
但它似乎没有等待。有什么想法可以实现吗?
【问题讨论】:
标签: selenium cucumber capybara
我需要在黄瓜步骤中等待加载栏(div#loading)消失(变为显示:无)。我希望以下内容可以解决问题
find('#loading').should_not be_visible
但它似乎没有等待。有什么想法可以实现吗?
【问题讨论】:
标签: selenium cucumber capybara
您将需要使用wait_until 来等待满足您的条件。
wait_until { !page.evaluate_script(%{$('#loading').is(':visible')}) }
可能需要更好的等待来检查可见性,但上次我检查page.has_no_css 不适用于:visible 之类的东西。
(更新) 虽然has_css 看不到:visible 之类的选择器,但Capybara::Node::Element 确实有一些方法可以使上述内容更漂亮。
wait_until { !find("#loading").visible? }
【讨论】: