Почему Edge/Selenium выдает ошибку при отключении от виртуальной машины Windows 10, на которой размещен узел?

Я изо всех сил пытаюсь создать масштабируемое решение для поддержки тестирования Selenium Edge. Во-первых, Edge не может работать как служба Windows. Во-вторых, одновременно на машине может быть запущен только один тестовый экземпляр Edge. И теперь, в-третьих, при использовании виртуальной машины с Windows 10 для размещения узла и Edge тесты не выполняются, когда сеанс удаленного рабочего стола отключается.

Вот ошибка, которая возникает, когда подключение к удаленному рабочему столу с виртуальной машиной Windows 10 отключено (но пользователь все еще вошел в виртуальную машину):

Сообщение о результате: метод инициализации SeleniumTests.LeftNavigationTests.Init вызвал исключение. System.InvalidOperationException: System.InvalidOperationException: операция размера окна не выполнена, так как окно в данный момент недоступно.

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

Кто-нибудь видел эту проблему раньше и нашел способ ее преодолеть? Любая помощь будет принята с благодарностью!

Системная информация:

  • Виртуальная машина Windows 10: версия 10.0.15063, сборка 15063
  • Microsoft Edge 40.15063.674.0
  • Microsoft EdgeHTML 15.15063
  • Веб-драйвер Microsoft: 15063
  • Селен: 3.12.0
  • Узел Selenium запускается в окне консоли на виртуальной машине Windows 10.

1 ответ

Похоже, это то, как Edge в настоящее время разработан. Браузер больше не работает таким же образом, когда рабочий стол неактивен. Очень похоже на приложения, входящие в активную память в жизненном цикле.

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

Create a batch file with this code called DisconnectRDP and run as administrator:
for /f "skip=1 tokens=3" %%s in ('query user %USERNAME%') do (
  %windir%\System32\tscon.exe %%s /dest:console
)
Create a desktop shortcut to this file. To do this, right-click the batch file and select Send to | Desktop (create shortcut).
In the shortcut properties, click Advanced and select Run as administrator.

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

  1. Откройте реестр (выполните локальный поиск Windows для regedit)
  2. Перейдите в следующую папку в реестре: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
  3. Установите AutoAdminLogon на 1
  4. Установите DefaultDomainName, если требуется
  5. Установите DefaultUserName
  6. Создайте DefaultPassword и установите соответствующим образом

Другая проблема заключается в том, что Edge поддерживает только один сеанс Selenium за раз. Это затрудняет масштабирование тестирования.

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