Pull to refresh

Как визуально автоматизировать тестирование игры с помощью языка AutoIt3: превью

Reading time1 min
Views11K
В топике рассматривается возможность автоматизировать тестирование игры под Windows, которая закрыта, имеет нестандартные контролы и распознается специальными тулами как окно, на примере Сапера с помощью скриптового языка AutoIt. Также изучается интерес читаталей к теме автоматизации игр. Будет интересно узнать ваше мнение.


К прошлому своему топики я получил комментарии о большом количестве воды в статье, учитывая опыт, в этом воды будет мало. Начнем.

Среди методов визуальной автоматизации я выделяю:
1. Симуляция мыши
2. Симуляция клавиатуры
3. Хешсум графической области
4. OCR
5. Поиск изображения по маске в графической области
6. Работа с пикселями
7. Работа с памятью приложения

Описывать все сейчас не вижу смысла. Для начала я хочу увидеть интерес к теме у читателей и участников хабра.

тест-кейс:

Открытие ячейки
1. Запустить игру
2. Кликнуть на скрытое поле
3. Получить результат
4. Сравнить полученный результат с ожидаемым

Алгоритм скрипта:

Запускаю сапер, если запустился перехожу к следующей строчке, если нет, то создаю скриншот с ошибкой запуска в папке скрипта.
Сравниваю функцией pixelCheckSum сумму игровой графической области с маской-константой, если суммы не равны, то создаю скриншот с ошибкой запуска в папке скрипта.
Расчитываю случайным образом координаты x,y
Сохраняю цвет пикселя координат x,y
Кликаю мышкой по координатам x,y игрового поля
Сравниваю изменение цвета пикселя х,y со старым значением, если не изменился, то создаю скриншот с ошибкой запуска в папке скрипта.
Конец.

Скрипт не идеален, он не учитывает массу факторов, но все же он позволяет проверить основную функциональность Сапера.



Скачать Сапер win7 + скомпилированный скрипт
Скачать исходник скрипта
Tags:
Hubs:
Total votes 34: ↑30 and ↓4+26
Comments38

Articles