我期待测试脚本如何处理因执行而导致的互联网连接丢失。在较低级别,我只需要在脚本中的某个点之后导致许多网络请求失败。
我试图尽可能地将此测试保持为端到端而不模仿任何javascript单元。
Chrome在网络标签下的开发工具中进行了有用的切换,模拟了互联网连接的丢失。我想从我正在执行的脚本中切换它(以类似于debugger
在sources选项卡下触发断点的方式)。
我怀疑这并不容易,因为如果网页可以触发这一点,它会造成重大的安全漏洞。但是,如果无论如何都要将Chrome打入可能的状态,可能使用扩展程序或Chromium,我会全力以赴。
有没有办法从JavaScript切换Chrome'离线'开发工具?
如果失败,有没有其他方法来模拟连接丢失/导致网络请求从javascript失败? (顺便说一句,我没跟Chrome结婚)
您可以使用debugger
权限创建自定义chrome扩展,然后使用attach创建选项卡。然后你会在该选项卡上调用Network.enable,然后启动emulating network conditions(例如离线)
您可以使用onMessageExternal与自定义扩展程序进行通信(例如,告知它在特定时间离线)。
更简单的方法是在关键点的Sources
选项卡中设置断点,然后在Network
选项卡中手动脱机。