@Levitanus

Тестовый стенд в облаке с установкой проприеритарной софтины с GUI, куда копать?

Дано
  • Есть GUI приложение с закрытыми исходниками и открытым API с несколько «неточной» документацией. (далее - ПО)
  • Есть open-source python-библиотека, которая нетривиально (в смысле установки) интегрируется в это приложение, и потом по веб-морде с ним общается)
  • ПО имеет очень ограниченное управление из командной строки (или терминала), и, в основном, единственное, что можно сделать — запустить там проект
  • Мы сейчас думаем, как нам завести в библиотеку тесты, и самым адекватным вариантом мне видится — собрать какой-нибудь контейнер, в котором будет уже запущенное ПО, со всеми открытыми окнами, проектом и т.п. Ну и потом при очередном тесте надо будет просто подрубиться и тестировать методом черного ящика.
  • Хорошо бы все это тестировать заодно и мульти-платформенно (win/mac/lin)

Проблема в том, что я толком не представляю, куда копать. Пробую пока завести в докере, но идет туго, к тому же, параллельно там возникают проблемы не только с GUI, но и с аудио (т.к. без него ПО не работает). Конечно, чисто запустить было бы, наверное, быстрее через виртуальную машину, но я не очень в курсе, возможно ли где-то найти сервис (желательно с интеграцией в github), на котором можно было бы крутить виртуалки и вытаскивать еще из них результаты тестов?
В общем, буду очень признателен, если сообщество укажет на литературу по теме.
  • Вопрос задан
  • 98 просмотров
Пригласить эксперта
Ответы на вопрос 3
saboteur_kiev
@saboteur_kiev
software engineer
Так вы вопрос сформулируйте, что именно не получается.
Если вопрос в автоматической установке приложения - ну любое приложение это в конечном счете просто файлики и, может быть, немного реестра.
Можно взять чистую виртуалку, включить регмон/файлмон и отследить что и куда поставит инсталлятор. Затем руками можно будет уже ставить без инсталлятора.

Докер для виндовс приложений конечно можно, но докер всеже больше рассчитан на линуксовую область. В случае облака, проще сделать образ для виртуалки, с которого клонировать и запускать тестовую машину. Но это зависит от того, что вам нужно.
А в первую очередь, все-таки конкретнее сформулировать желаемое
Ответ написан
@vitaly_il1
DevOps Consulting
Начните с "алгоритма" для ручной инсталляции и прогона тестов, а потом думайте как автоматизировать каждый шаг. Алгоритм обычно делится на две части: одноразовая инсталляция (можно сделать вручную и приготовить образ машины), и то что делаем при каждом запуске.
В качестве инструмента для оркестрации я использую Jenkins.
Ответ написан
@Levitanus Автор вопроса
Судя по всему, надо покурить xvfb, чтобы запустить GUI без реального экрана и без обязательной привязки к VNC
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы