关于 google chrome 扩展程序:在 javascript 执行期间测试 Internet 连接丢失

Testing loss of internet connection during javascript execution

我的问题

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

我试图在不模拟任何 javascript 单元的情况下尽可能地保持这个测试是端到端的。

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

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

我怀疑这并不容易,因为如果网页可以触发它,它会造成一个重大的安全漏洞。但是,如果有任何方法可以将 Chrome 破解为可能的状态,可能会使用扩展程序或 Chromium,我会全力以赴。

有没有办法从 javascript 切换 Chrome 的"离线"开发工具?

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


n


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

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


更简单的方法是在 Sources 选项卡的关键点处设置断点