You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Компиляция проекта
mvn clean compile
# Запуск всех тестов
mvn clean test# Пропустить тесты при сборке
mvn clean install -DskipTests
# Запуск с выводом stacktrace
mvn clean test -e
# Запуск с debug информацией
mvn clean test -X
Запуск по профилям
# Users тесты
mvn clean test -Pusers
# Products тесты
mvn clean test -Pproducts
# Smoke тесты
mvn clean test -Psmoke
# Все тесты (по умолчанию)
mvn clean test -Pall-tests
Параллельное выполнение
# 1 поток (последовательное выполнение)
mvn clean test -Dthread.count=1
# 2 потока
mvn clean test -Dthread.count=2
# 4 потока
mvn clean test -Dthread.count=4
# 8 потоков (максимальная производительность)
mvn clean test -Dthread.count=8
Комбинированные запуски
# Users тесты в 2 потока
mvn clean test -Pusers -Dthread.count=2
# Products тесты в 4 потока с отчетом
mvn clean test -Pproducts -Dthread.count=4 && mvn allure:serve
# Smoke тесты в 4 потока
mvn clean test -Psmoke -Dthread.count=4
# Все тесты в 8 потоков
mvn clean test -Dthread.count=8
Запуск конкретных тестов
# Один тестовый класс
mvn test -Dtest=GetUsersListTests
# Один тестовый метод
mvn test -Dtest=GetUsersListTests#testGetUsersListSuccess
# Несколько классов
mvn test -Dtest=GetUsersListTests,LoginTests
# По паттерну
mvn test -Dtest=*LoginTests
mvn test -Dtest=Get*Tests
Конфигурация окружения
# Локальное окружение (по умолчанию)
mvn clean test -Denv=local
# CI окружение
mvn clean test -Denv=ci
# С переопределением параметров
mvn clean test \
-Denv=local \
-Dreqres.base.url=https://custom-url.com \
-Dreqres.api.key=custom_key
Allure отчеты
# Сгенерировать и открыть отчет
mvn allure:serve
# Только сгенерировать отчет
mvn allure:report
# Очистить результаты
mvn allure:clean
# Запустить тесты и сразу открыть отчет
mvn clean test&& mvn allure:serve
# Сгенерировать с историей
mvn allure:report
Bash скрипт
# Базовый запуск
./run-tests.sh
# С помощью
./run-tests.sh --help
# Все тесты с 4 потоками
./run-tests.sh --threads 4
# Users тесты
./run-tests.sh --group users
# Products тесты с отчетом
./run-tests.sh --group products --report
# Smoke тесты в 8 потоков
./run-tests.sh -g smoke -t 8
# Комбинированный запуск с отчетом
./run-tests.sh -g users -t 2 -e local -r
# CI окружение
./run-tests.sh -e ci -t 4
Docker команды
Docker Compose
# Базовый запуск
docker-compose -f docker/docker-compose.yml up
# С переменными окружения
ENV=local THREAD_COUNT=4 docker-compose -f docker/docker-compose.yml up
# Users тесты
TEST_GROUPS=users THREAD_COUNT=2 docker-compose -f docker/docker-compose.yml up
# Products тесты
TEST_GROUPS=products THREAD_COUNT=2 docker-compose -f docker/docker-compose.yml up
# Smoke тесты
TEST_GROUPS=smoke THREAD_COUNT=4 docker-compose -f docker/docker-compose.yml up
# В фоновом режиме
docker-compose -f docker/docker-compose.yml up -d
# Остановка
docker-compose -f docker/docker-compose.yml down
# Пересборка образа
docker-compose -f docker/docker-compose.yml build
# Просмотр логов
docker-compose -f docker/docker-compose.yml logs -f
Docker напрямую
# Сборка образа
docker build -t api-tests -f docker/Dockerfile .# Запуск контейнера
docker run --rm api-tests
# С пробросом volume
docker run --rm \
-v $(pwd)/target:/app/target \
-v $(pwd)/logs:/app/logs \
api-tests
# С переменными окружения
docker run --rm \
-e thread.count=4 \
-e REQRES_BASE_URL=https://reqres.in \
api-tests mvn clean test -Dthread.count=4
# Интерактивный режим
docker run -it --rm api-tests /bin/sh
GitHub Actions
Через веб-интерфейс
Перейти в Actions
Выбрать workflow:
API Tests - All
API Tests - Users
API Tests - Products
API Tests - Smoke
Нажать "Run workflow"
Выбрать параметры (thread count)
Нажать "Run workflow"
Через GitHub CLI
# Установка GitHub CLI
brew install gh # Mac# или
sudo apt install gh # Linux# Аутентификация
gh auth login
# Запуск workflow
gh workflow run "API Tests - All" --ref main
# С параметрами
gh workflow run "API Tests - All" \
--ref main \
-f thread_count=4
# Список workflows
gh workflow list
# Просмотр запусков
gh run list
# Просмотр логов последнего запуска
gh run view --log
IDE Integration
IntelliJ IDEA
# Через Run Configuration:# 1. Edit Configurations...# 2. Add New -> JUnit# 3. Test kind: All in package# 4. Package: examples# 5. VM options: -Dthread.count=4# Или Maven goal:# 1. Maven Projects -> Lifecycle -> test# 2. Right click -> Run# 3. Modify Run Configuration# 4. Command line: clean test -Dthread.count=4
VS Code
// .vscode/launch.json
{
"type": "java",
"name": "Run All Tests",
"request": "launch",
"mainClass": "",
"projectName": "api-test-framework",
"args": "clean test -Dthread.count=4"
}
# Maven с remote debugging
mvn clean test -Dmaven.surefire.debug
# На определенном порту
mvn clean test -Dmaven.surefire.debug="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"# IntelliJ IDEA Remote Debug:# 1. Run -> Edit Configurations# 2. Add New -> Remote JVM Debug# 3. Port: 5005# 4. Run в debug mode# Один тест с debug
mvn test -Dtest=GetUsersListTests#testGetUsersListSuccess -Dmaven.surefire.debug
Профилирование
# С профайлером
mvn clean test -Dthread.count=4 -Djava.util.logging.config.file=logging.properties
# Измерение времени выполненияtime mvn clean test -Dthread.count=4
# С подробной статистикой
mvn clean test -Dthread.count=4 --debug