我正在Chrome浏览器中测试Javascript应用程序。我想加载页面,一旦加载,我想将浏览器切换到离线模式。
请注意,我不想在离线模式下启动浏览器,如下所述:Selenium: How to set browser in offline mode?。相反,我想启动浏览器连接,然后将其关闭并关闭特定时刻。
请注意,我不想手动使用鼠标,因为这是用于创建Selenium的自动化测试。所以我需要能够通过脚本以某种方式发送指令离线。
无论如何使用Chrome来做到这一点?我可以修改执行javascript的浏览器配置吗? (可能不是出于安全原因,但仍然想知道)
非常感谢你的帮助。
答案 0 :(得分:2)
正如写的那样。发布notes:
ChromeDriver v2.26(2016-12-09)
已解决问题984:扩展ChromeDriver功能以覆盖网络 Chrome DevTools [[' OS-All',' Pri-2']]的限制功能
Here是关于此任务的完整历史记录日志。 但是没有例子,也没有答案如何运作。
答案 1 :(得分:2)
在Python中,这可以像这样实现:
driver.set_network_conditions(offline=True, latency=5, throughput=500 * 1024)
PS:我使用的是ChromeDriver 2.32。
答案 2 :(得分:0)
在Java中,您可以使用以下代码关闭WiFi:
protected void disConnectInternet() throws IOException {
Map map = new HashMap();
map.put("offline", true);
map.put("latency", 5);
map.put("download_throughput", 500);
map.put("upload_throughput", 1024);
CommandExecutor executor = ((ChromeDriver)driver).getCommandExecutor();
Response response = executor.execute(
new Command(((ChromeDriver)driver).getSessionId(), "setNetworkConditions", ImmutableMap.of("network_conditions", ImmutableMap.copyOf(map))));
}
答案 3 :(得分:-1)
您应该能够使用以下方式在在线和离线模式之间切换:
browser.driver.setNetworkConnection(
typeOrAirplaneMode: 0|1|2|3|4|5|6|7|boolean, wifi?: boolean, data?: boolean
);
此处有更多信息:http://webdriver.io/api/mobile/setNetworkConnection.html