0

我们有一些用 Capybara (Ruby) + SitePrism + ChromeDriver 编写的测试。

在其中一些测试中,涉及的页面有一些加载速度非常慢的 iframe,这导致测试因 Net::ReadTimeout 异常而失败。

我知道我可以增加超时等待更长时间,但这会大大增加测试的总执行时间。

此外,我们并不真正关心 iframe 本身,只关心该页面中的其余元素。

有没有办法告诉 Capybara 不要等待 iframe 加载?

如果这不可能,至少可以等待一些预定义的时间,如果该时间到期,模拟停止页面加载(就像在实际浏览器中按下退出按钮)?

4

1 回答 1

1

在使用 selenium 驱动程序时,最干净的解决方案是使用可编程代理,如 puffing-billy https://github.com/oesmith/puffing-billy来阻止请求并返回错误或静态内容。如果你使用 Poltergeist 或 capybara-webkit,你可以使用他们的白/黑名单支持来做同样的事情。

于 2017-02-28T00:49:30.007 回答