在javascript执行期间测试互联网连接的丢失

问题描述 投票:4回答:2

My problem

我期待测试脚本如何处理因执行而导致的互联网连接丢失。在较低级别,我只需要在脚本中的某个点之后导致许多网络请求失败。

我试图尽可能地将此测试保持为端到端而不模仿任何javascript单元。

My thoughts on how I might achieve this

Chrome在网络标签下的开发工具中进行了有用的切换,模拟了互联网连接的丢失。我想从我正在执行的脚本中切换它(以类似于debugger在sources选项卡下触发断点的方式)。

我怀疑这并不容易,因为如果网页可以触发这一点,它会造成重大的安全漏洞。但是,如果无论如何都要将Chrome打入可能的状态,可能使用扩展程序或Chromium,我会全力以赴。

有没有办法从JavaScript切换Chrome'离线'开发工具?

如果失败,有没有其他方法来模拟连接丢失/导致网络请求从javascript失败? (顺便说一句,我没跟Chrome结婚)

javascript google-chrome-extension google-chrome-devtools acceptance-testing
2个回答
1
投票

您可以使用debugger权限创建自定义chrome扩展,然后使用attach创建选项卡。然后你会在该选项卡上调用Network.enable,然后启动emulating network conditions(例如离线)

您可以使用onMessageExternal与自定义扩展程序进行通信(例如,告知它在特定时间离线)。


0
投票

更简单的方法是在关键点的Sources选项卡中设置断点,然后在Network选项卡中手动脱机。

© www.soinside.com 2019 - 2024. All rights reserved.