Selenium在OffLine模式下设置浏览器Chrome

时间:2016-11-10 15:55:37

标签: javascript google-chrome selenium

我正在Chrome浏览器中测试Javascript应用程序。我想加载页面,一旦加载,我想将浏览器切换到离线模式。

enter image description here

请注意,我不想在离线模式下启动浏览器,如下所述:Selenium: How to set browser in offline mode?。相反,我想启动浏览器连接,然后将其关闭并关闭特定时刻。

请注意,我不想手动使用鼠标,因为这是用于创建Selenium的自动化测试。所以我需要能够通过脚本以某种方式发送指令离线。

无论如何使用Chrome来做到这一点?我可以修改执行javascript的浏览器配置吗? (可能不是出于安全原因,但仍然想知道)

非常感谢你的帮助。

4 个答案:

答案 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