【问题标题】:Selenium set Browser Chrome in OffLine modeSelenium 将浏览器 Chrome 设置为离线模式
【发布时间】:2016-11-10 15:55:37
【问题描述】:

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

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

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

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

非常感谢您的帮助。

【问题讨论】:

    标签: javascript google-chrome selenium


    【解决方案1】:

    在 Python 中,可以这样实现:

    driver.set_network_conditions(offline=True, latency=5, throughput=500 * 1024)
    

    PS:我使用的是 ChromeDriver 2.32。

    【讨论】:

      【解决方案2】:

      在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】:

      正如所写。发布notes:

      ChromeDriver v2.26 (2016-12-09)

      已解决问题 984:扩展 ChromeDriver 功能以覆盖网络 Chrome DevTools 的节流功能 [['OS-All', 'Pri-2']]

      Here 是有关此任务的完整历史记录。 但是没有例子,也没有回答它是如何工作的。

      【讨论】:

        【解决方案4】:

        你应该可以使用这个在在线和离线模式之间切换:

        browser.driver.setNetworkConnection(
          typeOrAirplaneMode: 0|1|2|3|4|5|6|7|boolean, wifi?: boolean, data?: boolean
        );
        

        更多信息在这里:http://webdriver.io/api/mobile/setNetworkConnection.html

        【讨论】:

        • 操作是关于硒的
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-05
        • 1970-01-01
        • 1970-01-01
        • 2014-02-22
        • 2013-10-02
        相关资源
        最近更新 更多