在互联网断开连接[WebDriver异常]

时间:2019-03-28 08:54:07

标签: c# selenium selenium-webdriver

我正在使用Chrome Web驱动程序。 自动化测试没问题。

但是,我还必须测试异常情况。 仅Internet断开情况是问题。

[前提条件]

  1. 运行我的自动化应用程序。
  2. 在正常运行期间关闭wifi连接。
  3. 我在chrome浏览器上看到"ERR_INTERNET_DISCONNECTED"消息。
  4. 发生"OpenQA.Selenium.WebDriverException" 1分钟后 据我所知,对远程Web驱动程序的HTTP请求超时 60秒后
  5. 我使用try〜catch捕获了异常,但是,在那之后,我无法 控制chrome网络驱动程序。我的意思是,我将发送命令s _driver.Quit()_driver.Close()_driver.URL() .. etc。不执行API调用。

    do {
        try {
          _driver.FindElement(By.XPath(composeXPath)).Click();
          _driver.Navigate().Back();
        } catch (System.Net.WebException e) {
          System.Diagnostics.Debug.WriteLine("[Web Actor]WebException expired");
    
        } catch (OpenQA.Selenium.WebDriverException e) {
          System.Diagnostics.Debug.WriteLine("[Web Actor]WebDriverException");
          _driver.Quit();
        }
      } while (exit_flag == false);
    }
    

这个基本概念是在webdriver还是正常操作中?
您可以轻松地处理这种例外情况。
如果您遇到相同的经历,请帮助我。
在开启Wifi并从Chrome浏览器重新加载网址之前,我无法进行任何访问 chrome Web驱动程序。
我要走了。

1 个答案:

答案 0 :(得分:0)

 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))));
}