2011-09-08 88 views
9

有没有一种优雅的方式来做到这一点?目前,我只是使用自定义步骤 “等待10秒钟”以绝对确定,iframe有足够的时间准备好。我不希望此功能在我的动力不足的CI虚拟机上因为小型网络问题或CPU峰值而失败。但这意味着功能套件浪费了大量时间,正如您所知,如果测试套件需要很长时间,则通常不会在CI服务器之外运行它。告诉水豚等到iframe已经加载(准备就绪)

+1

你在使用什么驱动程序? –

+0

selenium-webdriver with chrome –

回答

15

如果你知道发生了什么事情在你的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。

+0

thnx,那应该是足够的 –

+10

请注意,随着最新的水豚have_content自动等待,所以你将不需要wait_until –

+0

谢谢你的回答.. :)它的作品很棒.. – Selvamani