Сценарии автоматизации не работают, когда RDP (VM) минимизирован - PullRequest
0 голосов
/ 14 ноября 2018

Я столкнулся с проблемой автоматизации выполнения моего скрипта на одной из виртуальных машин.Я автоматизировал функциональность Сохранения документа, который в идеале является Windows Designed UI.Я пытался использовать различные технологии / инструменты, такие как AutoIT, Python, Sikuli, но сценарий останавливается, если виртуальная машина свернута.Он отлично работает, если виртуальная машина открыта через RDP, и я вижу выполнение во время выполнения.Но если я минимизирую RDP, сценарий останавливается в диалоговом окне «Сохранить как», ни один из ключей отправки (Cntrl + s) или (Enter) не работает через сценарий AutoIt.Пожалуйста, помогите с некоторым решением, чтобы успешно выполнить сценарий даже в свернутом режиме.

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

Вы можете попробовать запустить tscon.exe RDP-Tcp#0 /dest:console в качестве администратора, как упоминалось здесь . Это отключит ваше соединение RDP, но должно оставить все программы с графическим интерфейсом, работающие нормально на ВМ. Я лично использовал это с autoit на ВМ, и он работал нормально. Конечно, вы не сможете контролировать ваш скрипт, так как он работает, так что это может работать, а может и не работать для вас.

0 голосов
/ 14 ноября 2018

Причина, по которой ваш скрипт завершается ошибкой при выполнении его в течение минимизированного сеанса RDP, довольно проста.Инструменты автоматизации / тестирования графического интерфейса должны иметь разблокированный активный рабочий стол - в противном случае операционная система считает, что фактически не нужно визуализировать операции графического интерфейса (что отнимает много времени), поскольку нет пользователя, который в любом случае мог бы видеть визуализированный графический интерфейс пользователя.,И программы обычно не общаются через GUI ...

Вот почему QF-Test и другие инструменты автоматизации / тестирования GUI часто имеют в своих часто задаваемых вопросах примечание, описывающее проблему такого рода.Например, FAQ 14 в случае QF-Test, см. https://www.qfs.de/qf-test-handbuch/lc/manual-en-faq.html

Как описано в FAQ 14 для Windows 10 или Windows Server 2016, и в случае RDP-соединения вам необходимо изменить реестр.Перейдите к

HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client

и добавьте новое значение

RemoteDesktop_SuppressWhenMinimized as DWORD having the value 2

. После перезапуска вы сможете минимизировать RDP-соединения.Однако отключение или закрытие соединения RDP, вероятно, все равно приведет к сбою.

...