Мне поставили задачу автоматизировать процесс тестирования нашего отдела.
Чтобы провести тестирование, мне сначала нужно установить настройку нашего приложения в хост-системе, а затем запустить другое приложение, тестер.
Приложение-тестер использует ActiveX
элемент управления для управления ранее установленным приложением. Для запуска приложения-тестера мне нужен графический интерфейс, поэтому я не могу запускать тесты без головы.
Чтобы автоматизировать процесс, я подумал об использовании Hyper-V
и Powershell
скрипт для автоматического развертывания чистого Windows VMs
, установите установку, запустите приложение-тестер и уничтожьте VM
потом.
Процесс развертывания работает нормально, но теперь возникает сложная часть фактического запуска приложения-тестера без ручного взаимодействия с VM
.
Сначала я думал, что могу дистанционно управлять VM
через Powershell
и просто запустите приложение-тестер, которое, в свою очередь, откроет свой графический интерфейс и выполнит тестирование.
К сожалению, я ошибался. Я немного погуглил, но пока не нашел ничего, что работало.
Мой вопрос теперь в том, осуществим ли мой подход и как я могу решить свою проблему?
Я бы установил автоматический вход в виртуальную машину с общим пользователем для ваших тестов и создал исполняемый файл (или скрипт), который вы бы добавили в одно из мест автозапуска Windows. C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
например.
Эта небольшая программа свяжется с веб-службой, передав имя виртуальной машины в качестве параметра в запросе, а затем веб-служба выведет список задач или команду для запуска на вашей виртуальной машине.
Затем вы можете создать инструмент управления для создания связи между виртуальными машинами и «задачами».
Если вы не хотите создавать веб-сервис, вы можете просто поместить текстовые файлы или сценарии PowerShell в общую папку (например, имя файла будет именем виртуальной машины), и вам просто нужно запустить / прочитать соответствующий файл, когда виртуальная машина начинается.