告诉Capybara等到iframe已加载(已准备好)

时间:2011-09-08 10:07:07

标签: iframe cucumber capybara

有优雅的方法吗?目前我只使用自定义步骤 “并等待10秒钟”绝对肯定,有足够的时间让iframe做好准备。我不希望这个功能在我的功能不足的CI VM上失败,因为网络问题很小或CPU峰值。但这意味着功能套件浪费了大量时间,如您所知,如果测试套件需要很长时间,那么通常不会在CI服务器外部运行它。

1 个答案:

答案 0 :(得分:16)

如果您知道iframe中的内容,您可以这样做:

within_frame 'iframe_selector' do
    wait_until(10) do
        page.should have_content("Content you're waiting for")
    end
end

wait_until方法将等待10秒或直到条件page.should返回true。