У нас есть некоторые автоматизированные функциональные тесты, требующие определенного разрешения экрана.
Что в настоящее время происходит, так это то, что сценарий автоматически подключается к тестовому серверу (под управлением Windows Server 2008 R2 Standard 64 бит, если это имеет значение) через удаленный рабочий стол, используя определенные настройки, которые нам нужны, из файла настроек .rdp.
Затем тесты, которые запускаются автоматически в запланированное время на машине, похоже, используют эти настройки, и все работает хорошо. (Кажется, Windows использует настройки дисплея из последнего успешного сеанса удаленного подключения?)
Теперь мы хотим перенести расписание тестирования в автоматическое определение сборки TFS 2018.
Таким образом, тестовый агент TFS устанавливается на сервер и запускается через сборку TFS. Но мы не получаем правильных результатов из-за неправильных настроек дисплея.
Даже если я вручную подключусь к серверу, используя rdp с правильными настройками отображения, а затем запущу сборку TFS, это не сработает.
Каким-то образом агент TFS работает в сеансе, который не имеет (наследует?) правильных параметров отображения из последнего соединения rdp.
Учетная запись пользователя одинакова во всех случаях.
Как я могу это исправить? Как заставить агент TFS использовать определенные параметры отображения?
Из Документы Майкрософт об автоматизированном тестировании в TFS/Azure DevOps:
Before running UI tests you mat need to adjust the screen resolution so that apps render correctly. For this, a screen resolution utility task is available from Marketplace. Use this task in your pipeline to set the test screen resolution to a value that is supported by the agent machine. By default, this utility sets the resolution to the optimal value supported by the agent machine.
If you encounter failures using the screen resolution task, ensure that the agent is configured to run with auto-logon enabled and that all remote desktop sessions are safely disconnected using the
tscon
command.
Поэтому загрузите задачу по ссылке выше и добавьте задачу в свой конвейер перед задачей тестирования пользовательского интерфейса.
@Scrontch Агент установлен как служба?
@ Shayki Abramczyk: Да, он был установлен как служба. Удалил и переустановил как интерактивный. Но все еще говорит ##[warning]The current user session is not a console session. It may not be possible to change the screen resolution. Please ensure that agent is running with autologon and disconnect any remote desktop sessions.
Я не знаю, что означает автологин, и пока не нашел ничего полезного. Сеансы RDP отключены. Я потерялся, так как не понимаю, как агент входит в систему. Теперь кажется, что я полностью теряю агента, когда отключаю сеанс rdp.
Кажется, это правильный путь. Я установил и настроил задачу разрешения экрана. Однако это не удается. Итак, я раньше пробовал использовать %windir%\System32\tscon.exe 0 /dest:console в качестве пакетной команды. Это тоже не удается. Также не знаю, как настроить автоматический вход в агент.