gpt4 book ai didi

python - Selenium 和 Service Workers 离线模式

转载 作者:行者123 更新时间:2023-12-05 06:59:55 25 4
gpt4 key购买 nike

我在 chrome 上使用网络节流来关闭互联网连接进行了测试。我正在测试 SPA。从 85 版本的 Chrome 开始,这些测试由于打开连接而失败。有人知道这个损坏的功能的解决方法吗?

使用此代码关闭连接:

self.driver.set_network_conditions(
latency=0,
offline=True,
download_throughput=500 * 1024,
upload_throughput=500 * 1024)

UPD:我发现当我注销 service workers 时 chrome dev tools 连接丢失。

因此,我的 SPA 使用 service worker 作为请求的代理。这就是 set_network_conditions() 不关闭连接的原因。但是,对于所有其他网址,没有任何联系。 I found my issue here.

最佳答案

也许使用代理?

PROXY = "12.345.678.910:8080" -- Fake address
chrome_options = WebDriverWait.ChromeOptions()
chrome_options.add_argument('--proxy-server=%s' % PROXY)

你只需要设置一个不存在的代理地址

//编辑您已经提到您必须在测试过程中模拟连接丢失。尽管如此,我认为代理是唯一的解决方案。步骤:

1. Init and run local proxy server in your test
2. Run WebDriver with the reference to running proxy server created in step 1.
3. Perform online steps
4. Stop ProxyServer
5. Perform offline steps

关于代理的更多信息:https://wonderproxy.com/blog/a-step-by-step-guide-to-setting-up-a-proxy-in-selenium/

关于python - Selenium 和 Service Workers 离线模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64258119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com