Skip to content

vlsi/autoqa-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

autoqa-demo

autoqa heisenbug demo

Краткое описание

Проект дополняет доклад "UI-автоматизация тестирования мобильных приложений и интеграция их в CI-процесс" и демонстрирует возможную архитектуру проекта автотестов для мобильного приложения.

https://heisenbug-moscow.ru/2021/msk/talks/7ezu7wuwrkz1ryfzlzftgi/

Автор: Мирошниченко Михаил

email: hikari.no.mikem@gmail.com

LinkedIn: https://www.linkedin.com/in/miroshnichenkomichael/

Содержание проекта

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

Доработка под ваш продукт

Чтобы подготовить проект к использованию с реальынм кросс-платформенным приложением, следует:

  • Реализовать удобное переключение Android/iOS версия приложения и соответсвующих драверов. Можно через параметр в suite
  • Содать удобный способ хранения свойств приложения (имена пакетов, activity) и тестовых данных (например, пользователи)
  • Подготовить Slack канал
  • Зарегистрировать BrowserStack (или его аналог) облачный аккаунт и подключить его к проекту: https://www.browserstack.com
  • Реализовать более удобное управлени Appium сервером при локальном тестировании
  • Реализвать удобынй способ хранения информации об устройствах, на которых запускать тесты (модель, версия ОС)
  • Больше информации с логах и сообщениях Slack

Что не включено в проект

  • Конфигурация пайплайнов сборки приложения с шагами прогона тестов: пример реализации есть в докладе
  • Конфигурация GitHub Actions для сборки обраа и загрузки: пример в докладе
  • Аккаунт BrowserStack: триал-доступ можно получить бесплатно на сайте.

Известные области улучшения

  • Шаги тестов содержат повторяющиеся блоки кода для вывода текстового лога и проверки результата действия над элементом. В проекте это сделано в демонстрационных целях для презентации. В реальном проекте можно автоматизировать вывод в лог имени текущего метода и подстановки его в сообщение об ошибке.
  • В текущем варианте фреймворк выбирает, для какой платформы (Android или iOS) создавать драйвер, ориентируясь на параметр "deviceName". Если в нем присуствует слово "iphone" или "ipad", запустится iOS драйвер, в противном случае - Android. Для парктического применения можно добавить логику выбора драйвера в зависимости от продукта, а не имени устройства.

About

autoqa heisenbug demo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages