有没有一个优雅的方法来做到这一点?目前我只是使用一个定制的步骤
“等待10秒”是绝对肯定的,有足够的时间让iframe准备好了.我不希望这个功能在我的动力不足的CI虚拟机上失败,因为一个小的网络问题或cpu尖峰.但这意味着功能套件浪费了大量的时间,而且如您所知,如果测试套件需要很长时间,则经常不会在CI服务器之外运行它.
“等待10秒”是绝对肯定的,有足够的时间让iframe准备好了.我不希望这个功能在我的动力不足的CI虚拟机上失败,因为一个小的网络问题或cpu尖峰.但这意味着功能套件浪费了大量的时间,而且如您所知,如果测试套件需要很长时间,则经常不会在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秒钟,直到条件page.should返回true为止.