Процесс автоматизации мобильного приложения from scratch. 2017

Всем добрейшего времени суток!

Что использовать и как правильно настроить процесс автоматизации тестирования нативного приложения на iOS и Android с самого начала разработки

Буду рад конструктивным советам, предложениям и любой другой информации

мало деталей(точнее их нет), чтобы что-то посоветовать
iOS и Android разрабатывают разные команды?
сильно ли будут отличаться версии на разных платформах?
думали про API тестирование?

можно тут почитать рассуждения на эту тему:

Есть WEB версия, есть unit тесты, немного API тестов, но в целом вопрос не закрыт (времени не хватало, другой автоматизации тоже нет пока)
На мобильные будет разрабатывать та же небольшая команда, думаем на React Native.
Версии отличаться не будут. (пока так думаем)

Похожая ситуация.
Много unit и component тестов, хорошее количество API и немного UI. API служит предустановками для UI тестов. (так выстраивается та самая пирамида тестирования и тесты стабильные)

Собственно что хотелось и что получилось:

  1. вынести отдельно локаторы и отдельно работу с разными драйверами (в моём случае это appium для мобилок и selenium для web)
  2. остальное (конфигурация, разные вспомогательные модули, сами тесты) - одно и то же для всех платформ.
  3. action для page object иногда параметризуются в зависимости от платформы, но редко

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

думал, что будет сложнее :slightly_smiling_face:

На что стоит обратить внимание на старте:

  1. Не писать велосипеды, подобрать готовые решения и подумать об их интеграции друг с другом
  2. Оценивая инструменты - думать об их простоте, расширяемости
  3. Подумать об CI \ параллельном запуске
  4. Не забывать при написании про умеренное сочетание KISS, SOLID, DRY. Автотесты - это тоже ПО.

Конкретно в моём случае использовался Python-стек: Requests, Selene, Pytest, для web - selenium, для mobile - appium, BDSM(зачёркнуто) BDD прикручивать пока не стали, но держим такую возможность в голове, прикручивая Allure

4 лайка

Благодарен за подробный ответ :slightly_smiling_face:

Здравствуйте,в статье вкрадце описано, может вы чтото более подробное публиковали.
Или у вас есть готовая подборка, большая просьба поделиться.

Поставили задачу автоматизировать UI IOS, информации мало, начал на XCUITest.
Потратил пару месяцев на развертку виртуалки и начального изучения Swift, начал дальше вникать.
Сделал пару десятков тестов и чувствую что это утопическая затея, для дальнейшей автоматизации выкаток при помощи CI нужен другой фреймворк, тоже хочу попробовать Appium.

Более подробно не писал пока.
XCUITest не использовал, и пока не понятно, почему решили, что он не подходит.
Мы выбирали Appium для универсальности, как расширение для selenium и при небольшом количестве UI тестов, но на нескольких платформах (Web, IOS, Android) выглядит неплохо, но при том, что на более низких уровнях много тестов.
Но если платформа одна и тестов хочется писать много, я не считаю это хорошим решением.
Не нравится XCUITest - попробуйте earl-grey я слышал(но сам не пробовал) хорошие отзывы.
Может проблема на в фреймворке, а способе приготовления UI-тестов?

XCUITest не хватит по любому, потому что вдальнейшем стартует Android приложение, и нужно универсальное решение. Также пока не понятно как прикручивать XCUITest к CI для автосборок и каким образом выводить отчеты.
Appium сейчас наиболе универсален, поэтому о нем и задумался, вернее решил попробовать.

Посмотрите в сторону GitHub - wix/Detox: Gray box end-to-end testing and automation framework for mobile apps
Мы сейчас пробуем, скорость исполнения аналогичных тестов примерно в 5 раз выше, чем Appium
Он умеет и IOS и Android

Добрый день. Может подскажете , какие у вас впечатления на текущий момент от detox??
Начал на нем писать , но столкнулся с тралами при вводе текста…

Сорри, за долгий ответ, есть проблемы иногда (поиск коллекции элементов, новые версии реакта и т.д.) В целом detox ещё сыроват, но развивается быстро. Есть ощущение, что через полгода, возможно, получится полностью на него перейти.