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