我正在测试一个包含令人讨厌的iframe的页面,这需要很长时间才能加载;但是,我没有测试iframe本身。如果可能的话,我希望能够在不必每次都等待这个iframe的情况下运行我的测试。
以下潜在解决方案之一应该可以解决问题,但是我在查找文档或让其中任何一个工作时遇到困难:
a)在请求发出后不久取消页面加载。
b)使用
send_keys
方法在加载页面时模拟 Escape 按。c)在页面加载时使用javascript -
page.execute_script("return window.stop();")
。d)取消加载特定元素
如何使用Capybara向加载页面或元素发送取消请求?
答案 0 :(得分:1)
我们在集成测试结束时遇到了未完成的网络请求(包括Ajax和资产)的问题,当时所有的断言都已经完成并且测试结束并且被拆除。
所以我们将execute_script("window.stop();")
添加到我们的integration_test_helper.rb文件中,在拆解块中,它运行得非常好。
所以我建议在iframe完全加载之前添加一个可以满足的断言,并在测试的拆解中运行window.stop()
。
答案 1 :(得分:0)
在此处使用Altnerative,您可以使用puffing-billy gem来存储iframe请求。