Настроенный проект Playwright для курса JS: Playwright. На него ссылается урок про непрерывную интеграцию как на пример рабочей конфигурации.
Playwright легко запустить, но собрать из него проект, который переживёт рост, сложнее. Здесь собраны решения, до которых обычно доходят не сразу:
- e2e и интеграционные тесты разведены по
tests/e2eиtests/integration. Первые водят браузер, вторые бьют в API напрямую и браузер не поднимают. - Page Object в
models/TodoMVCPage.js: селекторы страницы собраны в одном месте, и переделка вёрстки правится там, а не в каждом тесте. - Отчёты Allure рядом со стандартным выводом, см.
make report-allure. - Два сценария CI в
.github/workflows: полный прогон и прогон только изменившихся тестов (--only-changed), который экономит время на пулреквестах.
make install
make install-browsers # браузеры качаются отдельно от зависимостей
make testОстальное:
make test-ui # интерактивный режим Playwright
make report # HTML-отчёт последнего прогона
make report-allure # отчёт AllureТесты ходят на публичный демо-стенд TodoMVC и в jsonplaceholder, поэтому своё приложение поднимать не нужно.
This repository is created and maintained by the team and the community of Hexlet, an educational project. Read more about Hexlet.
