This project is an automated testing framework for the PrestaShop e-commerce platform.
It combines UI testing, API testing, and infrastructure automation in a single repository.
The framework is designed to demonstrate a complete QA automation environment, including:
- UI testing with Selenium + Pytest
- API testing with Requests
- Selenoid for remote browser execution
- Allure reports for test results
- Jenkins CI pipeline for automated test execution
├── api/ # API testing layer
│ ├── endpoints/ # API endpoints wrappers
│ ├── helpers/ # factories for test data
│ ├── models/ # builders for API objects
│ └── scenarios/ # business logic scenarios
│
├── page_objects/ # UI Page Object Model
├── steps/ # reusable UI test steps
│
├── tests/
│ ├── api/ # API tests
│ └── ui/ # UI tests
│
├── setup/ # scripts for PrestaShop initialization
│
├── selenoid/ # Selenoid configuration
│
├── docker-compose.yml # test environment
├── Jenkinsfile # CI pipeline
└── config.py # project configuration
The project supports multiple ways of running tests:
Export environment parameters:
export ADMIN_EMAIL={email} ADMIN_PASSWORD={password} \
API_KEY={key} API_URL={url}/apiRun tests:
pytest -m {test type} -v -s --executor=local --browser={browser} --headlesstest type: api or ui
browser: ch = chrome or ff = firefox
Build docker image:
docker build -t {image}:{version} .Run tests:
docker run -it --rm --network=host -e ADMIN_EMAIL={email} -e ADMIN_PASSWORD={password} -e API_KEY={key} image:version pytest -m {test type} -v -s --executor=local --browser={browser} --headlesstest type: api or ui
browser: ch = chrome or ff = firefox
Tests can run in remote browsers using Selenoid.
Run tests:
make run-all ADMIN_EMAIL={email} ADMIN_PASSWORD={password}The project includes a Jenkins pipeline that:
- clones the repository
- starts the Docker environment
- prepares PrestaShop (API setup)
- runs UI and API tests
- publishes an Allure report
Test results are stored in the allure-results directory.
Generate and view the report:
allure serveЭтот проект представляет собой автоматизированную среду тестирования для платформы электронной коммерции PrestaShop. Он объединяет тестирование UI, тестирование API и автоматизацию развёртывания инфраструктуры в одном репозитории.
Среда тестирования включает в себя:
- Тестирование пользовательского интерфейса с помощью Selenium + Pytest
- Тестирование API с помощью Requests
- Selenoid для удаленного выполнения тестов в браузере
- Allure reports для отображения результатов тестирования
- Конвейер CI Jenkins для автоматизированного выполнения тестов
├── api/ # слой тестирования API
│ ├── endpoints/ # обертки для эндпоинтов API
│ ├── helpers/ # factories для тестовых данных
│ ├── models/ # builders для объектов API
│ └── scenarios/ # сценарии бизнес-логики
│
├── page_objects/ # UI Page Object модель
├── steps/ # многократно используемые шаги тестирования пользовательского интерфейса
│
├── tests/
│ ├── api/ # API тесты
│ └── ui/ # UI тесты
│
├── setup/ # скрипты для инициализации PrestaShop
│
├── selenoid/ # конфигурация Selenoid
│
├── docker-compose.yml # тестовое окружение
├── Jenkinsfile # CI pipeline
└── config.py # конфигурационный файл проекта
Проект поддерживает несколько способов запуска тестов:
Экспорт параметров окружения:
export ADMIN_EMAIL={email} ADMIN_PASSWORD={password} \
API_KEY={key} API_URL={url}/apiRun tests:
pytest -m {test_type} -v -s --executor=local --browser={browser} --headless{test_type} - api or ui
{browser} - ch = chrome or ff = firefox
Собрать образ:
docker build -t {image}:{version} .Запустить тесты:
docker run -it --rm --network=host -e ADMIN_EMAIL={email} -e ADMIN_PASSWORD={password} -e API_KEY={key} image:version pytest -m {test_type} -v -s --executor=local --browser={browser} --headless{test_type} - api or ui
{browser} - ch = chrome or ff = firefox
Тесты можно запускать в удаленных браузерах с помощью Selenoid.
Run tests:
make run-all ADMIN_EMAIL={email} ADMIN_PASSWORD={password}Проект включает в себя конвейер Jenkins, который:
- клонирует репозиторий
- запускает среду Docker
- подготавливает PrestaShop (настройка API)
- запускает тесты пользовательского интерфейса и API
- публикует отчет Allure
Результаты тестов хранятся в каталоге allure-results.
Сгенерируйте и просмотрите отчет:
allure serve