Skip to content

Автоматизированное тестирование API и UI с использованием JUnit, Rest Assured и Selenide

Notifications You must be signed in to change notification settings

suraifokkusu/javacode-test-task

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java Automated Testing Project (JavaCode Test Task)

Java Selenide Rest Assured Build

Описание проекта

Этот проект создан для автоматизированного тестирования API и UI, реализованного с использованием Java. Задание охватывает создание и выполнение тестов, чтобы продемонстрировать навыки автоматизации тестирования на реальных примерах.

Проект структурирован по двум направлениям:

  • API Тесты: Реализованы с использованием Rest Assured и JUnit.
  • UI Тесты: Написаны с помощью Selenide и JUnit, с использованием паттернов Page Object и Page Factory.

Содержание

Требования

  • Java: 22.0.1 или выше
  • Maven: 3.8.0 или выше
  • Chrome: Убедитесь, что Google Chrome установлен (используется в UI тестах) и обновлен.

Warning

Убедитесь, что версия ChromeDriver соответствует установленной версии вашего браузера Chrome (если установлен вручную), иначе UI тесты не запустятся!

Установка и запуск

  1. Склонируйте репозиторий:
    git clone https://github.com/suraifokkusu/javacode-test-task.git
  2. Перейдите в папку проекта:
    cd javacode-test-task
  3. Установите зависимости и соберите проект с помощью Maven:
    mvn clean install

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

  • src/test/java/apiTests: API тесты с использованием Rest Assured
  • src/test/java/uiTests: UI тесты с использованием Selenide и паттернов Page Object
  • src/test/java/uiTests/UiTestBase: Базовый класс для настройки Selenide

Описание тестов

API Тесты

  • UserRegistrationTest: Проверка успешной регистрации и ошибки при отсутствии пароля
  • UserListTest: Проверка, что все email пользователей заканчиваются на @reqres.in
  • DeleteUserTest: Проверка удаления пользователя и статус-код 204

UI Тесты

  • ShoppingTest: Полный тест, включающий логин, добавление товара в корзину, оформление заказа и проверку цены
  • Использование XPath в соответствии с требованиями ТЗ
  • Структура кода организована с использованием паттернов Page Object и Page Factory

Как запустить тесты

Все тесты

  1. Перейдите в папку проекта и выполните команду:
     mvn clean test
  2. Все тесты (API + UI) будут выполнены, и результаты отобразятся в консоли.

API Тесты

  1. Перейдите в папку проекта и выполните команду:
     mvn -Dtest="apiTests.*" test
  2. Все API тесты будут выполнены, и результаты отобразятся в консоли.

UI Тесты

  1. Убедитесь, что Google Chrome установлен и ChromeDriver настроен.
  2. Запустите UI тесты:
     mvn -Dtest="uiTests.*" test
  3. Тесты будут запускаться с использованием Selenide в видимом режиме.
Описание тестового задания

Задание 1: API тесты (Rest Assured)

Кейсы:

  1. Протестировать регистрацию пользователя в системе:

    • Успешная регистрация с валидными данными.
    • Регистрация с ошибкой из-за отсутствия пароля, статус-код в ответе — 400.
  2. Получить список пользователей страницы:

    • Убедиться, что email пользователей имеет окончание @reqres.in.
  3. Удалить второго пользователя:

    • Проверить, что статус-код — 204.

Задание 2: UI тесты (Selenium/Selenide)

Кейсы:

  1. Создать учетку вручную.
  2. Залогиниться на ресурс.
  3. Добавить любой товар в корзину.
  4. Перейти в корзину, сравнить цену в корзине с ценой на карточке товара.
  5. Оформить заказ, сравнить цену заказа с ценой на карточке товара.

Дополнительные требования:

  • Использовать только XPath.
  • Применить паттерны Page Object и Page Factory.
  • Залить решенное задание на GitHub и предоставить ссылку.

About

Автоматизированное тестирование API и UI с использованием JUnit, Rest Assured и Selenide

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages