Как я могу автоматически протестировать функциональность приложений 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