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 Passed   Allure Failed   Allure Report   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
  1. Запустите Docker Desktop и выполните:
# Соберет контейнеры MySQL, PostgreSQL, Bank Simulator
docker compose up -d  

# Для запуска приложение на MySQL СУБД
java "-Dspring.datasource.url=jdbc:mysql://localhost:3306/app" -jar artifacts/aqa-shop.jar

# Для запуска приложение на PostgreSQL СУБД
java "-Dspring.datasource.url=jdbc:postgresql://localhost:5432/app" -jar artifacts/aqa-shop.jar
  1. Запустите автотесты:
# Для MySQL:
./gradlew clean test "-Ddb.url=jdbc:mysql://localhost:3306/app" 

# Для PostgreSQL:
./gradlew clean test "-Ddb.url=jdbc:postgresql://localhost:5432/app"

# Для API тестов (если необходимо отдельно)
./gradlew clean test --tests GateSimulatorApiTest

# Просмотр Allure-отчёта:
./gradlew allureServe

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

# Найти 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