Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Android Appium Tests

Автотесты мобильного приложения Android: Appium 2, UiAutomator2, Java 17, JUnit 5, Allure.

Проект — часть портфолио по автоматизации тестирования. Веб-часть: parabank-ui-tests, API: conduit-api-tests.

Статус: каркас. Окружение поднято, драйвер и первый smoke-тест написаны. Сценарии мобильной специфики — в работе.

Стек

Слой Инструмент
Клиент Appium java-client 10.1.1
Сервер Appium 3.7.0
Драйвер uiautomator2 8.7.0
Тест-раннер JUnit 5
Отчёты Allure
Сборка Maven

Структура

src/main/java/com/mobile/
    config/MobileConfig.java      — параметры запуска и адрес сервера
    screens/SettingsScreen.java   — Screen Object
src/test/java/com/mobile/tests/
    BaseMobileTest.java           — жизненный цикл драйвера
    SmokeTests.java               — тесты

Запуск

Требуется запущенный эмулятор или устройство с включённой отладкой и поднятый Appium-сервер:

appium --address 127.0.0.1
mvn clean test

Отчёт:

mvn allure:serve

Принятые решения

Приложение под тестом вынесено в конфигурацию. appPackage и appActivity читаются из параметров запуска. В реальном проекте сюда подставляется APK из артефактов сборки, а не константа в коде:

mvn clean test -Dapp.package=... -Dapp.activity=...

Только явные ожидания. Неявное ожидание (implicitlyWait) не используется: при смешивании с явными тайминги складываются непредсказуемо, и тесты начинают мигать.

Свежая сессия на каждый тест (@BeforeEach, не @BeforeAll). Мобильное приложение хранит состояние между экранами — общая сессия делает тесты зависимыми друг от друга.

Утверждения живут в тестах, а не в Screen Object. Экран отвечает за то, что на нём есть; тест — за то, каким это должно быть.

Appium-сервер запускается на 127.0.0.1. По умолчанию он слушает на всех интерфейсах и не имеет аутентификации: любой в той же сети получает управление подключёнными устройствами.

Что дальше

  • Сценарии мобильной специфики: разрешения, поворот экрана, работа без сети, свёртывание и восстановление приложения
  • Прогон на реальном устройстве
  • Отчёт Allure со скриншотами при падении

About

Мобильные автотесты Android: Appium 2, UiAutomator2, Java 17, JUnit 5, Allure. Акцент на мобильную специфику — жесты, разрешения, поворот экрана, работа без сети

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages