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

发布于 2024-12-04 02:34:44 字数 170 浏览 2 评论 0原文

有没有一种优雅的方法来做到这一点?目前我只使用自定义步骤 “等待 10 秒”可以绝对确定,有足够的时间让 iframe 做好准备。我不希望此功能因小网络问题或 CPU 峰值而在功能不足的 CI 虚拟机上失败。但这意味着功能套件会浪费大量时间,而且如您所知,如果测试套件需要很长时间,人们通常不会费心在 CI 服务器之外运行它。

Is there an elegant way to do this? At the moment i just use a custom step
"And wait 10 seconds" to be absolutely sure, there is enough time for the iframe to get ready. I don't want this feature to fail on my underpowered CI VM because of a small network issue or cpu spikes. But this means that the feature suite wastes a lot of time, and as you know, if the test suite takes a long time, one often doesn't bother to run it outside the CI server.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

月朦胧 2024-12-11 02:34:44

如果您知道 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。

If you know what's going to be in your iframe you could do:

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

The wait_until method will keep waiting for 10 seconds or until the condition page.should returns true.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文