告诉水豚等待iframe加载(准备就绪)

告诉水豚等待iframe加载(准备就绪),iframe,cucumber,capybara,Iframe,Cucumber,Capybara,有没有一种优雅的方法可以做到这一点?目前,我只使用自定义步骤 “并等待10秒”绝对肯定,iframe有足够的时间准备就绪。我不想因为一个小的网络问题或cpu峰值而在动力不足的CI VM上失败。但这意味着功能套件会浪费很多时间,而且正如您所知,如果测试套件需要很长时间,通常不需要在CI服务器之外运行它。如果您知道iframe中会出现什么,您可以: within_frame 'iframe_selector' do wait_until(10) do page.should

有没有一种优雅的方法可以做到这一点?目前,我只使用自定义步骤
“并等待10秒”绝对肯定,iframe有足够的时间准备就绪。我不想因为一个小的网络问题或cpu峰值而在动力不足的CI VM上失败。但这意味着功能套件会浪费很多时间,而且正如您所知,如果测试套件需要很长时间,通常不需要在CI服务器之外运行它。

如果您知道iframe中会出现什么,您可以:

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

wait_until
方法将持续等待10秒,或者直到条件
页面返回true。

selenium webdriver with Chromethnix,这就足够了。请注意,对于最新的水豚,内容会自动等待,因此您无需等待