Quantcast
Viewing all articles
Browse latest Browse all 357

Автоматическая проверка игр в интегрированной среде разработки Sikuli на устройствах с архитектурой Intel®

Введение

Sikuli — это визуальная технология и простой способ автоматизации и тестирования графических пользовательских интерфейсов с помощью снимков экрана. Проект Sikuliбыл изначально создан в группе дизайна пользовательских интерфейсов в Массачусетском технологическом институте в качестве исследовательского проекта с открытым исходным кодом. Первый выпуск Sikuli содержит Sikuli Script — визуальный API сценариев для Python, а также Sikuli IDE — интегрированную среду разработки для создания визуальных сценариев. Sikuli Script автоматизирует все, что вы видите на экране, без поддержки внутренних API. Поэтому можно управлять веб-страницами, приложениями под управлением Windows*/Linux*/Mac* OS X и даже приложениями для Android*, запущенными с помощью виртуальных компьютерных сетей (VNC).

TДля настройки сервера VNC на устройствах с Android существует несколько приложений. Я могу запустить сервер VNC в Android и использовать средство просмотра VNC на компьютере с Windows, но вместо этого я предпочитаю использовать приложение MyPhoneExplorerдля Android, а затем запустить программу Sikuli на ПК. В результате на моем рабочем столе появляется домашний экран Android.

В этой статье я поясняю, как проверять приложения на устройствах Android с помощью среды разработки Sikuli с простым и эффективным языком сценариев.

Установка среды разработки Sikuli

Прежде всего, для установки Sikuli нужно выполнить некоторые особые действия. Я опишу процесс установки в Windows.

На официальном сайте, вы найдете 32-разрядную версию Sikuli. Не беспокойтесь, если у вас 64-разрядная версия Windows (для 64-разрядных систем запускайте Sikuli-IDE-w.bat, а не Sikuli-IDE.exe), программа будет работать.

Перед установкой Sikuli необходимо установить Java Runtime Environment (JRE) и удалить все прежние версии Sikuli.

  1. Загрузите и установите Sikuli: Sikuli-X-1.0rc3 (r905)-win32.exe. После завершения установки в вашей системе должна появиться папка Sikuli X.
  2. Важно! Пока не приступайте к использованию Sikuli X, поскольку это решение содержит ошибки. Загрузите ZIP-файл Sikuli X r930, содержащий важные исправления ошибок.
  3. Откройте загруженный ZIP-файл и найдите в нем папку SIKULI-IDE.
  4. Скопируйте содержимое SIKULI-IDE в Sikuli X. Цель этого действия — замена файлов, связанных с r905 (версия с ошибками), на файлы r930с исправленными ошибками.

Запустите Android в Windows

Я использую Lenovo K900 для тестирования игр. В частности, я покажу, как удобно проверить игру Angry Birds* на этом устройстве. Подключим устройство к Windows с помощью MyPhoneExplorer.

  1. Установите MyPhoneExplorer на устройство Android и на ПК.
  2. Подключите Lenovo K900 с помощью USB [File -> Settings -> connect via USB Cable].
  3. Запустите MyPhoneExplorer в Windows.
  4. Extras -> Control Phone/Load screenshot -> установите флажок refresh automatically

Image may be NSFW.
Clik here to view.

Рисунок 1.  Lenovo K900 с программой MyPhoneExplorer.

Теперь можно управлять устройством Android с ПК.

Создание бота игры Angry Birds на устройстве Android

Запустите редактор Sikuli IDEв Windows.

Image may be NSFW.
Clik here to view.

Рисунок 2.  Sikuli IDE.

Затем откройте приложение Angry Birds.

Image may be NSFW.
Clik here to view.

Рисунок 3. Angry Birds на Lenovo K900.

Нажмите кнопку с белым треугольником, чтобы запустить игру. Команда Click()служит для нажатия на любые графические объекты. Инструкция Sleep()включает ожидание обновления сцены.

У нас получился следующий код:

click("1400666128574.png")
sleep(20)

Нажмите кнопку с белым треугольником (изображение этой кнопки — 1400666128574.png), затем ждите изменения сцены в течение 20 секунд.

При первом запуске приложения появится подсказка. Sikuli, как любой другой язык сценариев, содержит условия и циклы. Я буду использовать условие if для обработки этого события.

Image may be NSFW.
Clik here to view.

Рисунок 4. Lenovo K900: 1 уровень игры Angry Birds.

if (exists("1400672718307.png")):
    click("1400672718307.png")
    sleep(20)

Этот фрагмент кода проверяет, отображается ли кнопка на экране.

Теперь покажем, как запускать птицу. Для этого я использую команду dragDrop (img1, img2):

dragDrop("1400171376311.png", "1400253224137.png")

Вот так мы запустили птицу под определенным углом и разбомбили всех свиней. Итак, мы разработали бот, который играет в первый уровень игры Angry Birds. Как видите, все очень просто, наш сценарий не содержит никаких сложных конструкций.

click("1400666128574.png")
sleep(20)
click("1400666165817.png")
sleep(20)
click("1400666191490.png")
sleep(60)
if (exists("1400672718307.png")):
    click("1400672718307.png")
    sleep(20)
dragDrop("1400171376311.png", "1400253224137.png")
sleep(60)
click("KQY.png")

На следующем снимке экрана показано, как этот код отображается в среде разработки Sikuli IDE.

Image may be NSFW.
Clik here to view.

Рисунок 5. Код в среде разработки Sikuli.

Теперь мы можем использовать этот сценарий для проверки первого уровня игры Angry Birds. Можно проверять любые приложения столь же просто.

Надеюсь, эта публикация поможет вам проверять собственные приложения без каких-либо затруднений.

Об авторе

Виталий Калинин работает в отделе Software & Service Group корпорации Intel. Он учится в аспирантуре Нижегородского государственного университета им. Лобачевского на экономическом факультете. Его специальность — прикладная математика и информатика в экономике. Среди его интересов — мобильные технологии, разработка игр для ПК и смартфонов.

Ресурсы и статьи по теме:

 

Примечания

ИНФОРМАЦИЯ В ДАННОМ ДОКУМЕНТЕ ПРИВЕДЕНА ТОЛЬКО В ОТНОШЕНИИ ПРОДУКТОВ INTEL. ДАННЫЙ ДОКУМЕНТ НЕ ПРЕДОСТАВЛЯЕТ ЯВНОЙ ИЛИ ПОДРАЗУМЕВАЕМОЙ ЛИЦЕНЗИИ, ЛИШЕНИЯ ПРАВА ВОЗРАЖЕНИЯ ИЛИ ИНЫХ ПРАВ НА ИНТЕЛЛЕКТУАЛЬНУЮ СОБСТВЕННОСТЬ. КРОМЕ СЛУЧАЕВ, УКАЗАННЫХ В УСЛОВИЯХ И ПРАВИЛАХ ПРОДАЖИ ТАКИХ ПРОДУКТОВ, INTEL НЕ НЕСЕТ НИКАКОЙ ОТВЕТСТВЕННОСТИ И ОТКАЗЫВАЕТСЯ ОТ ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ ГАРАНТИЙ В ОТНОШЕНИИ ПРОДАЖИ И/ИЛИ ИСПОЛЬЗОВАНИЯ СВОИХ ПРОДУКТОВ, ВКЛЮЧАЯ ОТВЕТСТВЕННОСТЬ ИЛИ ГАРАНТИИ ОТНОСИТЕЛЬНО ИХ ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ, ОБЕСПЕЧЕНИЯ ПРИБЫЛИ ИЛИ НАРУШЕНИЯ КАКИХ-ЛИБО ПАТЕНТОВ, АВТОРСКИХ ПРАВ ИЛИ ИНЫХ ПРАВ НА ИНТЕЛЛЕКТУАЛЬНУЮ СОБСТВЕННОСТЬ.

КРОМЕ СЛУЧАЕВ, СОГЛАСОВАННЫХ INTEL В ПИСЬМЕННОЙ ФОРМЕ, ПРОДУКТЫ INTEL НЕ ПРЕДНАЗНАЧЕНЫ ДЛЯ ИСПОЛЬЗОВАНИЯ В СИТУАЦИЯХ, КОГДА ИХ НЕИСПРАВНОСТЬ МОЖЕТ ПРИВЕСТИ К ТРАВМАМ ИЛИ ЛЕТАЛЬНОМУ ИСХОДУ.

Корпорация Intel оставляет за собой право вносить изменения в технические характеристики и описания своих продуктов без предварительного уведомления. Проектировщики не должны полагаться на отсутствующие характеристики, а также характеристики с пометками «зарезервировано» или «не определено». Эти характеристики резервируются Intel для будущего использования, поэтому отсутствие конфликтов совместимости для них не гарантируется.

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

Продукты, описанные в данном документе, могут содержать ошибки и неточности, из-за чего реальные характеристики продуктов могут отличаться от приведенных здесь. Уже выявленные ошибки могут быть предоставлены по запросу.

Перед размещением заказа получите последние версии спецификаций в региональном офисе продаж Intel или у местного дистрибьютора.

Копии документов с порядковым номером, ссылки на которые содержатся в этом документе, а также другую литературу Intel можно получить, позвонив по телефону 1-800-548-4725 либо на сайте: http://www.intel.com/design/literature.htm

Программное обеспечение и нагрузки, использованные в тестах производительности, могли быть оптимизированы для достижения высокой производительности на микропроцессорах Intel. Тесты производительности, такие как SYSmark* и MobileMark*, проводятся на определенных компьютерных системах, компонентах, программах, операциях и функциях. Любые изменения любого из этих элементов могут привести к изменению результатов. При выборе приобретаемых продуктов следует обращаться к другой информации и тестам производительности, в том числе к тестам производительности определенного продукта в сочетании с другими продуктами.

Данный документ и описываемое в нем программное обеспечение предоставляются по лицензии и могут использоваться и распространяться только согласно условиям лицензии.

Intel и эмблема Intel являются товарными знаками корпорации Intel в США и в других странах.

Copyright © 2014 Intel Corporation.Все права защищены.

*Other names and brands may be claimed as the property of others.


Viewing all articles
Browse latest Browse all 357

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>