Skip to content

Setting Up the Environment (RU)

Gleb Golovin edited this page Apr 2, 2018 · 1 revision

Настройка машин для выполнения тестов

При непрерывной интеграции для выполнения ui-тестов как правило выделяется отдельная реальная или виртуальная машина. Для правильной работы необходимо соблюдать несколько формальностей.

Активный рабочий стол

В системе требуется так называемый активный рабочий стол. Он существует на вашем компьютере во время работы или при RDP подключении. Причём окно этого подключения нельзя сворачивать. Для автоматического создания активного рабочего стола используйте Autologon.

Поддержка активного рабочего стола

Активный рабочий стол необходимо поддерживать активным. Для этого настройте электропитание на машине (из-под пользователя, на которого настроен Autologon). Отмените отключение дисплея и сон. Если используете RDP-подключение, по его завершению перезагрузите машину. Это восстановит активный рабочий стол. Чтобы подсматривать за выполнением тестов, используйте System Center App Controller или VNC.

Агент билд-сервера

Агент вашего билд-сервера обязательно должен работать как процесс, а не как служба. Это ограничение связано с тем, что в Windows служба не имеет прав запускать пользовательский интерфейс приложения.

Такой запуск удобнее всего реализовать с использованием Task Scheduler. Задачу необходимо запускать с права администратора. Триггер настраивается на вход пользователя в систему (того самого, на которого настроен Autologon). Дальнейшую настройка чуть подробнее для TeamCity и Jenkins.

TeamCity

Действие - это старт программы <build agent path>\bin\agent.bat с одним аргументом start.

Jenkins

Действие - это старт программы java.exe (или javaw.exe, что избавит от окна консоли) с аргументами -jar <path to slave.jar> -jnlpUrl <url to slave-agent.jnlp on your jenkins> -secret <slave secret key>.