📑 Оглавление
3️⃣ UI кейсы
Этот проект — включает тестирование следующих сервисов:
- UI 👉 Banking Project
- Внутреннее API тестового полигона PFLB
- Автотесты к кажому из проектов лежат в соответствующих модулях
APIиUIсоответственно. - На ветке
gh_pagesдоступен Allure-отчёт: 👉 Актуальный Allure отчёт - CI workflow:
.github/workflows/runTests.yml
- Java 17+
- Maven 3.8+
- Git
- Allure CLI (для генерации отчётов)
git clone https://github.com/zen2281488/jqe_ui_api.git
cd jqe_ui_apijava -version
mvn -versionmvn clean installПеред запуском тестов необходимо передать следующие параметры в виде -D флагов для Maven:
| Параметр | Назначение |
|---|---|
DB_USER |
Пользователь БД (PostgreSQL) |
DB_PASSWORD |
Пароль пользователя БД |
API_USER |
Логин тестового API-пользователя |
API_PASSWORD |
Пароль API-пользователя |
BASE_URL |
Базовый URL для запросов к API |
Все переменные передаются через
-D, чтобы быть доступными черезSystem.getProperty(...)
cd API
mvn clean test \
-DDB_USER=postgres \
-DDB_PASSWORD=secret \
-DAPI_USER=test_user \
-DAPI_PASSWORD=super_secret \
-DBASE_URL=https://example.com/apicd UI
mvn clean test mvn clean test \
-DDB_USER=postgres \
-DDB_PASSWORD=secret \
-DAPI_USER=test_user \
-DAPI_PASSWORD=super_secret \
-DBASE_URL=https://example.com/api \
-Dallure.results.directory=target/allure-results \
-fail-at-endУстановить Allure CLI:
Ubuntu/macOs
# macOS
brew install allure# Ubuntu / Debian
sudo apt install allureWindows
-
Перейди на страницу релизов Allure: 👉 https://github.com/allure-framework/allure2/releases
-
Скачай
.zipархив с последним релизом, напримерallure-2.23.0.zip. -
Распакуй его, например в:
C:\allure -
Добавь путь к папке
binв системную переменнуюPath:
- Открой "Переменные среды"
- Найди переменную
Path→ Изменить → Добавить:C:\allure\bin
- Проверь в консоли:
allure --versionСгенерировать и открыть отчёт:
allure serve target/allure-resultsИли сохранить в директорию:
allure generate target/allure-results -o target/allure-report --clean| Параметр | Значение |
|---|---|
| Эндпоинт | POST /user |
| Предусловие | Получить токен через POST /login с username и password |
| Шаги | 1) Отправить POST /user с телом { "firstName": "Тест", "lastName": "Тестовлев", "age": 18, "sex": "MALE", "money": 12997 }2) Проверить ответ (код 201 и тело). 3) Проверить, что запись создана в таблице person. |
| Ожидаемое | 1) Код 201 2) Вернулся ID и корректные данные 3) В таблице person создана запись |
| Параметр | Значение |
|---|---|
| Эндпоинт | POST /car |
| Предусловие | Получить токен |
| Шаги | 1) Отправить POST /car с телом { "engineType": "Electric", "mark": "TestMark", "model": "TestModel", "price": 100500 }2) Проверить ответ (код 201 и тело). 3) Проверить, что запись создана в таблице car. |
| Ожидаемое | 1) Код 201 2) Вернулся ID и корректные данные 3) В таблице car создана запись |
| Параметр | Значение |
|---|---|
| Эндпоинт | POST /house |
| Предусловие | Получить токен |
| Шаги | 1) Отправить POST /house с телом { "floorCount": 4, "price": 230, "parkingPlaces": [ {...}, {...} ] }2) Проверить ответ (код 201 и тело). 3) Проверить, что запись создана в таблице house. |
| Ожидаемое | 1) Код 201 2) Вернулся ID и корректные данные 3) В таблице house создана запись |
| Параметр | Значение |
|---|---|
| Эндпоинт | POST /user/{userId}/buyCar/{carId} |
| Предусловие | Получить токен, создать пользователя и машину |
| Шаги | 1) Отправить POST /user/{userId}/buyCar/{carId}.2) Проверить ответ (код 200 и корректное тело). 3) Проверить, что money пользователя уменьшилось на стоимость машины в таблице person. |
| Ожидаемое | 1) Код 200 2) Money пользователя уменьшилось на стоимость машины 3) В таблице person обновлено поле money |
| Параметр | Значение |
|---|---|
| Эндпоинт | POST /house/{houseId}/settle/{userId} |
| Предусловие | Получить токен, создать пользователя и дом |
| Шаги | 1) Отправить POST /house/{houseId}/settle/{userId}.2) Проверить ответ (код 200 и корректное тело). 3) Проверить, что money пользователя уменьшилось на стоимость дома в таблице person. |
| Ожидаемое | 1) Код 200 2) Money пользователя уменьшилось на стоимость дома 3) В таблице person обновлено поле money |
| Параметр | Значение |
|---|---|
| Название | Авторизация клиента |
| Предусловие | Открыта страница логина |
| Шаги | Нажать Customer Login → выбрать пользователя из списка → нажать Login |
| Ожидаемое | 1) Отображается аккаунт клиента (1004, 1005, 1006) 2) Имя клиента: Harry Potter |
| Параметр | Значение |
|---|---|
| Название | Внесение и снятие депозита |
| Предусловие | Пользователь авторизован |
| Шаги | Зайти в аккаунт → Внести депозит 100 → Снять депозит 100 → Проверить баланс → Проверить транзакции |
| Ожидаемое | 1) Баланс равен 0 после операций 2) Запись транзакций соответствует: Credit 100, Debit 100 3) Транзакции сохранены в CSV |
| Параметр | Значение |
|---|---|
| Название | Открытие страницы транзакций |
| Предусловие | Пользователь авторизован |
| Шаги | Зайти в аккаунт → Нажать Transactions |
| Ожидаемое | 1) Таблица транзакций видна 2) Переход назад работает |
| Параметр | Значение |
|---|---|
| Название | Открытие модального окна депозита |
| Предусловие | Пользователь авторизован |
| Шаги | Зайти в аккаунт → Нажать Deposit |
| Ожидаемое | 1) Открылась форма депозита 2) Поле для ввода суммы отображается |
| Параметр | Значение |
|---|---|
| Название | Открытие модального окна снятия |
| Предусловие | Пользователь авторизован |
| Шаги | Зайти в аккаунт → Нажать Withdrawl |
| Ожидаемое | 1) Открылась форма снятия 2) Поле для ввода суммы отображается |
| Параметр | Значение |
|---|---|
| Название | Авторизация менеджера |
| Предусловие | Открыта страница логина |
| Шаги | Нажать Manager Login |
| Ожидаемое | 1) Отображаются кнопки Add Customer, Open Account, Customers |
| Параметр | Значение |
|---|---|
| Название | Добавление нового клиента |
| Предусловие | Менеджер авторизован |
| Шаги | Зайти в Manager Login → Add Customer → Заполнить форму → Отправить → Проверить алерт → Проверить клиента в таблице |
| Ожидаемое | 1) Появился алерт об успешном добавлении 2) Клиент сохранён в таблицу 3) Данные клиента сохранены в CSV |
| Параметр | Значение |
|---|---|
| Название | Внесение депозита (негативный кейс) |
| Предусловие | Пользователь авторизован |
| Шаги | Зайти в аккаунт → Открыть Deposit → Ввести невалидную сумму → Submit |
| Ожидаемое | 1) Баланс не изменился 2) Ошибок нет, но сумма не учтена |
| Параметр | Значение |
|---|---|
| Название | Снятие депозита (негативный кейс) |
| Предусловие | Пользователь авторизован |
| Шаги | Зайти в аккаунт → Открыть Withdrawl → Ввести невалидную сумму → Submit |
| Ожидаемое | 1) Баланс не изменился 2) Ошибок нет, но сумма не учтена |
| Параметр | Значение |
|---|---|
| Название | Выбор аккаунта |
| Предусловие | Пользователь авторизован, есть депозит |
| Шаги | Зайти в аккаунт → Сделать депозит → Выбрать другой аккаунт из списка |
| Ожидаемое | 1) Валюта изменилась 2) Баланс изменился 3) Валюта = Pound |