Назад | Перейти на главную страницу

Автоматическое тестирование на виртуальных машинах с использованием Hyper-V

Мне поставили задачу автоматизировать процесс тестирования нашего отдела.
Чтобы провести тестирование, мне сначала нужно установить настройку нашего приложения в хост-системе, а затем запустить другое приложение, тестер.
Приложение-тестер использует ActiveX элемент управления для управления ранее установленным приложением. Для запуска приложения-тестера мне нужен графический интерфейс, поэтому я не могу запускать тесты без головы.

Чтобы автоматизировать процесс, я подумал об использовании Hyper-V и Powershell скрипт для автоматического развертывания чистого Windows VMs, установите установку, запустите приложение-тестер и уничтожьте VM потом.

Процесс развертывания работает нормально, но теперь возникает сложная часть фактического запуска приложения-тестера без ручного взаимодействия с VM.
Сначала я думал, что могу дистанционно управлять VM через Powershell и просто запустите приложение-тестер, которое, в свою очередь, откроет свой графический интерфейс и выполнит тестирование.

К сожалению, я ошибался. Я немного погуглил, но пока не нашел ничего, что работало.

Мой вопрос теперь в том, осуществим ли мой подход и как я могу решить свою проблему?

Я бы установил автоматический вход в виртуальную машину с общим пользователем для ваших тестов и создал исполняемый файл (или скрипт), который вы бы добавили в одно из мест автозапуска Windows. C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp например.

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

Затем вы можете создать инструмент управления для создания связи между виртуальными машинами и «задачами».

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