Почему 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.
Если у вас возникают проблемы с блокировкой рабочего стола, попробуйте изменить следующие параметры в реестре.
- Откройте реестр (выполните локальный поиск Windows для regedit)
- Перейдите в следующую папку в реестре: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
- Установите AutoAdminLogon на 1
- Установите DefaultDomainName, если требуется
- Установите DefaultUserName
- Создайте DefaultPassword и установите соответствующим образом
Другая проблема заключается в том, что Edge поддерживает только один сеанс Selenium за раз. Это затрудняет масштабирование тестирования.