Я не могу управлять веб-драйвером Chrome Selenium при отключении Интернета [Исключение WebDriver] - PullRequest
0 голосов
/ 28 марта 2019

Я использую Chrome Web Driver.Автоматизация теста не проблема.

Но я также должен проверить исключительную ситуацию.Проблема возникает только при отключении Интернета.

[предварительное условие]

  1. Запустите приложение автоматизации.
  2. Отключите соединение Wi-Fi во время нормальной работы.
  3. Я увидел сообщение "ERR_INTERNET_DISCONNECTED" в браузере Chrome.
  4. Через 1 минуту произошел "OpenQA.Selenium.WebDriverException" Насколько мне известно, запрос HTTP к удаленному веб-драйверу истек через 60 секунд
  5. Я обнаружил исключение при использовании try ~ catch, но после этого я не могу управлять веб-драйвером chrome. То есть я отправлю команду s _driver.Quit(), _driver.Close(), _driver.URL() .. и т. Д.Вызовы 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);
    }
    

Это базовая концепция в вебдрайвере или в нормальной работе?
Вы можете легко сделать это исключение.
Если вы столкнулись с тем же опытом, помогите мне.
Перед включением Wi-Fi и перезагрузкой URL-адреса из браузера Chrome у меня нет доступа к веб-драйверу Chrome.
Я ухожу.

1 Ответ

0 голосов
/ 10 июня 2019
 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))));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...