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

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

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

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

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

Ответы

Ответ 1

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

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

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

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"

чтобы написать что-то в текстовое поле.

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

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

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

Ответ 2

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

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

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

Ответ 3

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

Ответ 4

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

Ответ 5

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

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

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

Ответ 6

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