Есть ли инструмент, помогающий автоматизировать интеграционные тесты для расширений Gnome Shell?
В веб-разработке обычно используются такие инструменты, как Selenium, чтобы имитировать человеческое взаимодействие с помощью программное взаимодействие с веб-браузером и подтверждение функциональности.
Есть ли что-нибудь подобное для взаимодействия сценариев в Gnome и Gnome Shell?
Я поддерживаю расширение Gnome Shell с открытым исходным кодом, где большая часть функциональности представлена в виде элементов графического интерфейса, отображаемых на панели. К сожалению, исправления ошибок, отправленные пользователями, часто содержат регрессии. Основной проблемой являются новые выпуски Gnome, которые являются частыми и часто содержат обратно несовместимые изменения, последствия которых могут быть незначительными.
В настоящее время у меня есть минимальное автоматическое тестирование, чтобы подтвердить, что процесс установки работает, но он не обнаруживает многих ошибок функций. Все реальные испытания должны выполняться вручную, что очень утомительно и требует много времени, даже несмотря на то, что характер тестов не сложен. Также сложно протестировать новую версию Gnome, поскольку для этого необходимо установить ее в масштабе всей системы, что часто нецелесообразно.
Чтобы ускорить разработку и снизить нагрузку на себя и других добровольных тестировщиков, я хотел бы написать несколько автоматических тестов в чем-то вроде Docker, которые устанавливают расширение в определенной версии Gnome, перезапускают Gnome Shell, подтверждают наличие элементов графического интерфейса, нажмите кнопку, подтвердите появление диалогового окна предпочтений и т. д.
Это возможно?