Skip to content

«Автотесты веб-сервиса покупки туров (payment/credit) с проверкой СУБД и эмулятором банковского API с использованием Selenide»

Notifications You must be signed in to change notification settings

levvolkov/tour-pay-gateway-tests

Repository files navigation

«Автоматизация тестирования веб-сервиса, взаимодействующего с СУБД и API Банка»

CI Status   Allure Report   Failed   Passed   Broken   Bugs in Issues


📌 О проекте

Автоматизированное тестирование веб-сервиса для покупки туров:

  • Обычная оплата по дебетовой карте
  • Кредитование по данным банковской карты

Технологии:

Java   Gradle   Selenide   JUnit5   Allure   GitHub Actions

Инструменты:

IntelliJ IDEA   Docker   DevTools   DBeaver

🛠 Техническая архитектура

graph LR
    A[Автотесты] --> B[aqa-shop.jar:8080]
    B --> C[Payment Gate]
    B --> D[Credit Gate]
    B --> E[(MySQL:3306)]
    B --> F[(PostgreSQL:5432)]
    C & D --> G[Bank Simulator:9999]
Loading

📂 Структура проекта

tour-pay-gateway-tests/
├── artifacts/aqa-shop.jar      # Тестируемый веб-сервис
├── documentation               # Документация
├── gate-simulator/             # Эмулятор банка
├── src/
│   └── test/java/              # Автотесты (UI + DB + API)
├── application.properties      # Конфигурация для подключения к СУБД и банковским сервисам
├── build.gradle                # Файл конфигурации Gradle с зависимостями для Selenide, JUnit, Allure и др.
└── docker-compose.yml          # Контейнеры MySQL + PostgreSQL + Bank Simulator

📜 Документация

🚀 Процедура запуска веб-сервиса

1. Клонируйте и откройте проект в IDEA:

git clone https://github.com/levvolkov/tour-pay-gateway-tests.git

2. Запустите Docker Desktop и выполните:

# Соберет контейнеры MySQL, PostgreSQL, Bank Simulator
docker compose up -d  
# Для запуска приложение на MySQL СУБД
./gradlew runMySQL  
# Для запуска приложение на PostgreSQL СУБД
./gradlew runPostgreSQL

🧪 Процедура запуска автотестов

1. Для запуска автотестов MySQL:

# Тесты в браузере Chrome
./gradlew clean testMySQLChrome
# Тесты в браузере Firefox
./gradlew clean testMySQLFirefox
# Тесты в браузере Safari
./gradlew clean testMySQLSafari

2. Для запуска автотестов PostgreSQL:

# Тесты в браузере Chrome
./gradlew clean testPostgreSQLChrome
# Тесты в браузере Firefox
./gradlew clean testPostgreSQLFirefox
# Тесты в браузере Safari
./gradlew clean testPostgreSQLSafari

3. Для API тестов (если необходимо отдельно):

./gradlew clean test --tests GateSimulatorApiTest

4. Для просмотра Allure-отчёта:

./gradlew allureServe

Warning

Ошибка запуска приложения: если порт занят

# Найти PID процесса, использующий порт:
lsof -i :8080

# Принудительное завершение с помощью флага -9:
kill -9 <PID>

About

«Автотесты веб-сервиса покупки туров (payment/credit) с проверкой СУБД и эмулятором банковского API с использованием Selenide»

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published