测试 JavaScript 执行期间互联网连接丢失

tho*_*dic 5 javascript acceptance-testing google-chrome-extension google-chrome-devtools

我的问题

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

我试图使这个测试尽可能端到端,而不模拟任何 javascript 单元。

我对如何实现这一目标的想法

Chrome 的开发工具中的网络选项卡下有一个有用的切换开关,可以模拟互联网连接丢失的情况。debugger我想从我正在执行的脚本中切换它(与如何在源选项卡下触发断点类似)。

我怀疑这并不容易,因为如果网页可以触发此操作,则会造成严重的安全漏洞。然而,如果有任何办法可以将 Chrome 破解到可能的状态,可能使用扩展程序或 Chromium,我会洗耳恭听。

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

如果失败了,还有其他方法可以模拟连接丢失/导致网络请求从 javascript 失败吗?(顺便说一句,我还没有嫁给 Chrome)

kza*_*hel 3

您可以使用该权限创建自定义 Chrome 扩展debugger,然后附加到选项卡。然后您可以在该选项卡上调用 Network.enable ,然后开始模拟网络条件(例如离线)

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