Как я могу автоматически протестировать функциональность приложений iOS и Android?

Я должен регулярно проверять наличие и функционирование сайта проката фильмов. Я написал программу Windows, которая может автоматизировать веб-браузер в соответствии со сценарием, поэтому эта задача в основном решена. Теперь мне нужно автоматизировать мобильную версию этого веб-приложения: родное приложение для iOS и собственное приложение для Android.

Эти приложения закрыты, поэтому их нельзя каким-либо образом изменить. Я думаю, что тестовое приложение должно быть развернуто на тестовых устройствах (iPhone, iPad, Galaxy Tab, Galaxy S II), но я должен иметь возможность дистанционного управления им. Я хочу сказать, что я хотел бы создать соединение между тестовыми устройствами и ПК, загрузить тестовые сценарии с ПК на устройства, запустить их и загрузить результаты тестирования на ПК. Тест-скрипт должен запустить приложение для тестирования, управлять его графическим интерфейсом (заполнять поля редактирования, кнопки и т. Д.) И как-то следовать его отклику, например, анализируя графический интерфейс (наличие некоторых элементов GUI, их подпись и т. Д.), , Анализ скриншотов и / или проверка IP-пакетов.

Я написал много подобных тестовых программ для Windows: я использовал ShellExecute, PostMessage, FindWindow, библиотеку WinPcap и т. Д., Поэтому я знаю, как такая программа должна работать. Но так как я никогда не писал приложения для мобильных ОС, я даже не знаю, есть ли подобные API и библиотеки для iOS и Android.

Я хотел бы знать, с чего начать, я имею в виду, какие SDK и инструменты разработчика могут использоваться для написания такого приложения. Я также заинтересован в коммерческих решениях. Я бы очень признателен за любую помощь.

Solutions Collecting From Web of "Как я могу автоматически протестировать функциональность приложений iOS и Android?"

Мне нравится « Calabash-iOS / Calabash-Android » от LessPainful . Это лучшее для меня.

  • свободно
  • Доступно на iPhone и Android
  • Запись и воспроизведение
  • Тест на родном и симуляторе

У них нет GUI IDE. Они основаны на Ruby решениях, и очень легко написать сценарий сценария, например:

Then I swipe left And I wait until I don't see "Please swipe left" And take picture 

Также это может быть

 Then I touch the "login" button 

Нажмите кнопку, или

 Then I fill in "placeholder" with "text to write" 

Написать что-то в текстовое поле.

И сценарий может быть использован Calabash-iOS и Calabash-Android. Эта функция удобна для разработчиков, которые делают iPhoneApp и Android App.

Я думал, что MonkeyTalk хорош, но на самом деле нестабилен, по крайней мере, в моей среде.
Иногда MonkeyIDE разбился, поэтому нам нужно отладить MonkeyTalk …

Я надеюсь, это поможет вам.

MonkeyTalk выглядит многообещающим. Особенности сайта Gorilla Logic:

  • Бесплатный и открытый источник
  • Автоматическое тестирование приложений iOS, Android, HTML5 и Adobe Flex
  • Кросс-платформенная запись и воспроизведение
  • Тестируйте родные, веб-или гибридные приложения, на iOS-симуляторах, эмуляторах Android или реальных устройствах (без джейлбрейка)
  • Все, от простых «тестов дыма» до сложных наборов тестов, управляемых данными

Трассировка пакетов: iOS , Android , Android

Selenium предлагает драйверы для мобильных устройств и эмуляторов. Это проект Google. У них хорошая документация. Он имеет IDE для быстрого прототипирования наборов тестов и поддержки многих языков, таких как ruby, PHP, c # и т. Д.

Если скриптинг является вашим предпочтительным решением на Android, вы можете легко импортировать и запускать скрипты после установки Scripting Layer для Android . Просто загрузите последний файл apk, импортируйте скрипт и запустите его. Это недоступно в iOS, но половина вашей проблемы может быть решена с этим.

Мы, на testmunk, написали руководство о том, как начать работу с мобильной автоматизацией. Руководство направляет android, а также спецификацию iOS и перечисляет все необходимые инструменты. Он основан на структуре open source calabash.

Статья находится здесь: http://blog.testmunk.com/tutorial-for-automated-mobile-app-testing-calabash/. В этой статье вы также найдете ссылки на несколько примеров приложений.

Надеюсь, это поможет.

Я знаю, что это старый пост, но каждый, кто читает в 2016 году, первым выбором для автоматизации должен быть Appium (работает как на IOS / Android). Все инструменты, упомянутые выше, должны быть созданы с помощью приложения. Appium требует любой сборки с кодом приложения. Он чрезвычайно популярен среди различных языков программирования (PHP / JAVA / RUBY / PYTHON). [Ссылка]: appium.io и [Ссылка]: https://github.com/appium/appium