ОШИБКА: browser_process_sub_thread.cc (221)] Ожидание 57 мс для сетевого сервиса с Selenium ChromeDriver и Chrome в Windows - PullRequest
9 голосов
/ 01 июня 2019

Итак, мы используем Selenium в C # для управления Chrome.Следующая проблема возникла как в Chrome v74 с хромадривером v74, так и в Chrome v75 (бета) с хромадривером v75.

После примерно 12 взаимодействий с веб-сайтом мы получаем ошибку, например

[10084:5660:0601/111205.119:ERROR:browser_process_sub_thread.cc(221)] Waited 57 ms for network service

Мы не можем редактировать browser_process_sub_thread.cc и перекомпилировать.

Я искал помощи по этому вопросу, и он обсуждается в другом месте.Однако, похоже, ничего не происходит, поскольку бета-версия v75 ломается с той же проблемой.

Как мы можем обойти эту проблему?Он появляется только в этом наборе тестов, а не в других.

ПОЗЖЕ

Теперь я получаю такого рода сообщения, а именно

ERROR:browser_process_sub_thread.cc(217)] Waited 285 ms for network service

немедленно, а не после некоторых взаимодействий!Что происходит?

1 Ответ

5 голосов
/ 07 июня 2019

Это сообщение об ошибке ...

ERROR:browser_process_sub_thread.cc(217)] Waited 771 ms for network service

... происходит из метода IOThreadCleanUp() в файле browser_process_sub_thread.cc , который реализован как:

// Record time spent for the method call.
base::TimeDelta network_wait_time = base::TimeTicks::Now() - start_time;
UMA_HISTOGRAM_TIMES("NetworkService.ShutdownTime", network_wait_time);
LOG(ERROR) << "Waited " << network_wait_time.InMilliseconds()
           << " ms for network service";

Согласно обсуждению в Обслуживание хрома - нужна лучшая обработка, когда core процесс обслуживания не запускается / не инициализируется после новой сети Процесс (NP) [--enable-features=NetworkService], если дочерний процесс создается, но запуск службы завершается неудачно, в таких случаях:

  • Пользовательский интерфейс браузера остается видимым и открытым.
  • Поскольку служба перезапускается, создается впечатление, что под капотом происходит бесконечный цикл попыток появления детей, что потребляет больше системных ресурсов.
  • Видимый браузер не отключается должным образом из-за критического сбоя и просто сидит там, без сети под капотом.

Таким образом, стратегия была необходима для всех основных сервисов, необходимых для работы Chrome, возможно, для пути отказа для Сетевых процессов (NP) .


В соответствии с вышеупомянутым требованием согласно обсуждению Песочница сетевая служба в Windows Chrome представила новую песочницу (SANDBOX_NETWORK_TYPE) для новой Сетевой процесс (NP) .

Windows является первой платформой, в которой реализованы обе новые функции, и вы являетесь одним из самых счастливых пользователей, которые получили из первых рук пользовательский опыт из:

  • Функция, включаемая для сетевого сервиса: NetworkService

    --enable-features=NetworkService
    
  • Функция для в сетевой службе: NetworkServiceWindowsSandbox

    --enable-features=NetworkServiceWindowsSandbox
    

Эта ревизия и коммит с входом sandbox_win.cc из @WillHarris, когда появится, решат эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...