Windows server 2016 {Доступ запрещен} Процесс запросил доступ к объекту, но не получил эти права доступа

Я запускаю тест на селен C# chrome с последней версией Chrome Driver и Chrome.

На моем настольном ПК с Windows 10 он работает нормально, однако в рабочей версии Windows Server 2016 я получаю эту ошибку, когда selenium пытается запустить новый процесс.

[0703/113439.645:ERROR:process_reader_win.cc(123)] NtOpenThread: {Access Denied} A process has requested access to an object, but has not been granted those access rights. (0xc0000022)
[0703/113439.647:ERROR:exception_snapshot_win.cc(88)] thread ID 21028 not found in process 

Я разместил здесь на ServerFault, а не StackOverflow, потому что

A process has requested access to an object, but has not been granted those access rights

Кажется, это распространенная ошибка других приложений. Я вполне уверен, что это ошибка разрешения, однако..

Я вошел в систему как локальный администратор, и я запускаю свое приложение на C#, которое порождает другие процессы ChromeDriver и Chrome как локальный администратор.

Я также установил всем право на полный доступ к папке приложений.

Что еще я могу сделать, чтобы у моего приложения, Chrome и Chrome Driver было больше прав доступа?

0 ответов

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

       [0703/113439.645:ERROR:process_reader_win.cc(123)] NtOpenThread: {Access Denied} A process has requested access to an object, but has not been granted those access rights. (0xc0000022)
[0703/113439.647:ERROR:exception_snapshot_win.cc(88)] thread ID 21028 not found in process

... означает, что поток, инициированный ChromeDriver, не смог прочитать системный ресурс, поскольку в доступе было отказано.


Основная причина

Распространенной причиной отказа в доступе является запуск Chrome как root пользователь ( administrator) в Linux. Хотя эту проблему можно обойти, передав --no-sandboxпри создании сеанса WebDriver, такая конфигурация не поддерживается и настоятельно не рекомендуется. Вам необходимо настроить среду для запуска Chrome от имени обычного пользователя.


Дополнительное рассмотрение

Убедиться, что:

  • Selenium обновлен до текущей версии 3.141.59.
  • ChromeDriver обновлен до текущего уровня ChromeDriver v84.0.
  • Chrome обновлен до текущего уровня Chrome Version 84.0. (согласно примечаниям к выпуску ChromeDriver v84.0)
  • Если ваша базовая версия веб-клиента слишком старая, удалите ее и установите последнюю версию GA и выпущенную версию веб-клиента.
  • Очистите свой Workspace Project через IDE и Rebuild ваш проект только с необходимыми зависимостями.
  • Выполните перезагрузку системы.
  • Выполните свой @Testкак пользователь без полномочий root.
  • Всегда вызывать driver.quit() в пределах tearDown(){}для корректного закрытия и уничтожения экземпляров WebDriver и Web Client.

tl; доктор

ChromeDriver - WebDriver для Chrome

Другие вопросы по тегам