2.4 KiB
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 capabilityapp. - 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 / user1ususer2us / user2ususer3us / user3ususer4us / user4us
user4us используется как владелец подарка в тесте резервирования.
Запуск
- Поднять окружение:
docker compose up -d
- Убедиться, что сервисы
wiremock,android-emulator-1,android-emulator-2имеют статусhealthy:
docker compose ps
- Указать доступ к БД: 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"
- Запустить тесты:
mvn test
Тесты запускаются параллельно по классам (2 потока) и распределяются по эмуляторам через очередь.