Проект UI-автотестов для формы: https://practice-automation.com/form-fields/
- Язык: Python 3.10+
- Инструменты: Selenium WebDriver, PyTest
- Поиск элементов: используются селекторы ID, CSS, XPath
- Паттерны: Page Object Model, PageFactory-подход (ленивые элементы через helper), Fluent (цепочки вызовов)
- Отчёты: Allure (+ attachments: screenshot/text)
autotest/
├── pages/ # Page Objects (POM)
│ └── form_fields_page.py
├── tests/ # тесты + фикстуры pytest
│ ├── test_form_fields.py
│ └── conftest.py
├── utils/ # инфраструктура (WebDriver factory)
│ └── driver_factory.py
├── config.py # настройки (Pydantic Settings, .env)
├── .env.example # пример переменных окружения
├── pyproject.toml # зависимости/конфигурация проекта (uv)
└── README.md
В проекте используется Google Chrome for Testing (Stable).
Версия:
- Chrome: 144.0.7559.133
- Platform: Windows (win64)
Браузер загружается с официального сайта: https://googlechromelabs.github.io/chrome-for-testing/
В проекте используется uv в качестве менеджера зависимостей и виртуального окружения.
Из корня проекта выполните команду:
uv syncКоманда:
- создаст виртуальное окружение
- установит все зависимости из pyproject.toml
- зафиксирует версии в uv.lock
Укажите путь до chrome.exe в файле .env
uv run pytest --alluredir=allure-resultsПосле выполнения команды будет создана папка allure-results с результатами прогона тестов.
Для открытия HTML-отчёта выполните:
allure serve allure-resultsОтчёт автоматически откроется в браузере.
Примечание: Для работы Allure CLI требуется установленная Java (рекомендуется Temurin JDK 17).
Если вы не используете uv, проект можно запустить стандартным способом:
pip install -r requirements.txt
pytest --alluredir=allure-results
allure serve allure-resultsПредусловие:
- Открыть браузер
- Перейти по ссылке https://practice-automation.com/form-fields/
Шаги:
- Заполнить поле Name
- Заполнить поле Password
- Из списка What is your favorite drink? выбрать Milk и Coffee
- Из списка What is your favorite color? выбрать Yellow
- В поле Do you like automation? выбрать любой вариант
- Поле Email заполнить строкой формата name@example.com
- В поле Message написать количество инструментов, описанных в пункте Automation tools и написать инструмент из списка Automation tools, содержащий наибольшее количество символов
- Нажать на кнопку Submit
Ожидаемый результат:
Отображается alert с текстом: Message received!
Предусловие:
- Открыть браузер
- Перейти по ссылке https://practice-automation.com/form-fields/
Шаги:
- Поле Name оставить пустым
- Заполнить поле Password
- Из списка What is your favorite drink? выбрать Milk и Coffee
- Из списка What is your favorite color? выбрать Yellow
- В поле Do you like automation? выбрать любой вариант
- Поле Email заполнить строкой формата name@example.com
- В поле Message написать количество инструментов, описанных в пункте Automation tools и написать инструмент из списка Automation tools, содержащий наибольшее количество символов
- Нажать на кнопку Submit
Ожидаемый результат:
Форма не отправляется.
Срабатывает встроенная HTML5-валидация обязательного поля Name — браузер отображает подсказку вида “Заполните это поле”.