Files
homework_7/README.md
T

2.4 KiB

OTUS Homework 7: Mobile Testing

Проект содержит мобильные UI-тесты приложения Wishlist на selenide-appium.

Сценарии:

  • создание/редактирование списка желаний;
  • создание/редактирование подарка;
  • изменение статуса резервирования подарка другого пользователя.

Что реализовано по требованиям

  • docker-compose поднимает wiremock и 2 Android-эмулятора (android-emulator-1, android-emulator-2) для параллельного запуска.
  • APK хранится в wiremock/__files/wishlist.apk и устанавливается через Appium capability app.
  • DI на Guice, запуск через JUnit 5 Extension, балансировка эмуляторов через BlockingQueue.
  • Подготовка тестовых данных выполняется через JDBC перед каждым тестом.
  • Логи logcat сохраняются в logcat.txt через Appium logs API (без ADB-скриптов).

Структура

  • src/main/java — инфраструктура, конфиги, page/component object.
  • src/test/java — только тестовые классы.
  • wiremock — маппинги и APK.

Тестовые аккаунты

  • user1us / user1us
  • user2us / user2us
  • user3us / user3us
  • user4us / user4us

user4us используется как владелец подарка в тесте резервирования.

Запуск

  1. Поднять окружение:
docker compose up -d
  1. Убедиться, что сервисы wiremock, android-emulator-1, android-emulator-2 имеют статус healthy:
docker compose ps
  1. Указать доступ к БД: PowerShell:
$env:DB_URL="jdbc:postgresql://sql.otus.kartushin.su:5432/wishlist"
$env:DB_USER="student"
$env:DB_PASSWORD="student"

bash:

export DB_URL="jdbc:postgresql://sql.otus.kartushin.su:5432/wishlist"
export DB_USER="student"
export DB_PASSWORD="student"
  1. Запустить тесты:
mvn test

Тесты запускаются параллельно по классам (2 потока) и распределяются по эмуляторам через очередь.