【发布时间】:2021-01-23 05:46:55
【问题描述】:
我在 chrome 上使用网络限制来关闭互联网连接进行了测试。我正在测试SPA。 从 85 版本的 Chrome 开始,这些测试因打开连接而失败。 有人知道这个损坏功能的解决方法吗?
使用此代码关闭连接:
self.driver.set_network_conditions(
latency=0,
offline=True,
download_throughput=500 * 1024,
upload_throughput=500 * 1024)
UPD:当我取消注册服务工作者时,我发现 chrome 开发工具连接丢失。
所以,我的 SPA 使用 service worker 作为请求的代理。这就是为什么 set_network_conditions() 不会关闭连接的原因。但是,对于所有其他 url,没有连接。 I found my issue here.
【问题讨论】:
-
我刚刚尝试了您的 sniplet,效果很好,我的浏览器离线了。将
offline标志设置为False后连接恢复正常。也许你的测试比我做的更复杂:) -
你说得对。我发现,只有经过测试的站点连接才不会丢失。但是,当我使用 chrome 开发工具取消注册服务人员时,连接会丢失。
标签: python selenium google-chrome selenium-chromedriver google-chrome-devtools