GithubHelp home page GithubHelp logo

autoqa-demo's Introduction

autoqa-demo

autoqa heisenbug demo

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

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

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

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

email: [email protected]

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. Для парктического применения можно добавить логику выбора драйвера в зависимости от продукта, а не имени устройства.

autoqa-demo's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.