Skip to content

Автоматическое управление GUI через CV и не только

Notifications You must be signed in to change notification settings

readysloth-automatization/autogui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

autogui -- RU

autogui построена на библиотеке pyautogui, в которой имеется возможность находить изображение на экране с помощью компьютерного зрения.

Последовательность и описание тестов задаются через конфиг в формате JSON, поддерживающий добавление python кода, для увеличения гибкости тестов без изменения самой программы.

Описание конфига

Как запустить

python3 execute.py config.json config1.json ...

Особенности

Linux программы запускаются на виртуальном фреймбуфере, что позволяет использовать тесты в CI.

После прохождения тестов создается gif-анимация, содержащая, что было с программой до теста и после.

Зависимости

Для работы программы нужны следующие пакеты:

  • Общие пакеты:
    • pyautogui -- взаимодействие с интерфейсами
    • imageio -- сохранение gif'ок
    • opencv-python -- для поиска элементов на экране
  • Linux:
    • python-xlib -- для работы с виртуальными дисплеями
    • pyvirtualdisplay -- для работы с виртуальными дисплеями
    • xvfb -- для работы с виртуальными дисплеями
    • scrot -- для скриншотов

Примеры работы

Freedoom1

Freedoom, конечно, содержит не совсем тот интерфейс, который можно было бы распознать достаточно точно с помощью компьютерного зрения, но зато его конфигурационный файл демонстрирует вставку кода на python и разбиение тестов на подтесты.

feedoom1

Xcalc

Xcalc -- простой пример автоматизации интерфейса с помощью распознавания изображений

xcalc

About

Автоматическое управление GUI через CV и не только

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages