Автоматизация игр, написанных на Unity..

game
unity
flash
Теги: #<Tag:0x00007f7b6225da20> #<Tag:0x00007f7b6225d8b8> #<Tag:0x00007f7b6225d728>

(Александр Беликов) #1

Всем привет! Подскажите пожалуйста, есть ли инструменты, позволяющие заавтоматизировать игры написанные на Unity? Слышал/читал про Unity Test Tools, но я так понял это инструмент больше для разработчиков, для написание unit тестов. А хотелось бы взаимодействовать с интерфейсом игры, как это делает Selenium для web, или Genie для Flash. Спасибо.


(Stan) #2

Юнити на любой платформе - один элемент, взаимодействовать с интерфейсом в нем можно лишь по координатам любой тулзой, селениум в вебе, аппиумом на ios/android и тд. Ответ, в принципе, очевиден - никак. С другой стороны юнит тесты там это смесь functional & unit, наиболее близкая альтернатива в вебе - angularjs и его юнит тесты, которые тестируют не столько конкретные функции, как общую логику отдельных элементов интерфейса/контроллеров и тд.


(rmerkushin) #3

Попробуйте Sikuli


(Stan) #4

Имхо интерфейс игр слишком динамичный для sikuli.


(rmerkushin) #5

Не согласен с вами по части динамичности интерфейса. В большинстве игр интерфейс статичен, динамична сама игра. Ну и я просто оставлю это тут: http://www.sikuli.org/gaming.html Инструмент конечно не панацея, но определенные проверки им можно сделать.


(Yuriy Rumyantsev) #6

всё зависит от того, где вы хотите гонять тесты. Если на ПК - Сикули Вам поможет, главное всё правильно организовать. Если же Вас интересуют моб. устройства и запуск тестов там - это вопрос другой, посмотрите в сторону ФМБТ(fMBT).


(asolntsev) #7

На конференции DevConFu был доклад Филиппа Кекса из Creative Mobile про тестирование игр на Unity.

Видео: https://www.youtube.com/watch?v=RDee1OFl6YM
Слайды: http://gamedev.ee/wp-content/uploads/Filipp-Keks-Test-Automation-GameDevDays.pdf


(Александр Беликов) #8

@asolntsev, спасибо Андрей, доклад действительно стоящий. У меня уже начали опускаться руки, а тут как второе дыханье открылось. Нашел похожий его доклад, но уже на русском языке, где он в конце говорит, что может выслать исходники реализованного фреймворка. Отправил ему письмо с просьбой прислать, но пока тишина)


(Yevhen Rudiev) #9

Я сейчас занимаюсь разработкой фреймворка для тестирования Unity3d приложений. Фреймворк называется Puppetry. Вот линка и документация.

С помощью Puppetry, вы можете находить игровые обьекты (GameObject) в юнити по их имени и расположении в иерархии проэкта, а потом над ними емулировать разные действия. Например: Click, SendKeys, DragTo и т.д… А для построения проверок, можно проверять существует ли обьект, активный ли он и брать его компоненты.
Тесты с Puppetry, лучше выполнять в Эдиторе юнити. Но если есть необходимость тестировать на девайсах, можно скомбинировать Puppetry с Appium-ом. С помощью Puppetry вы будете получать координаты обьекта, а с помощью Апиума уже кликать по этим координатам.