selenium
5 статей
-
Page Object Model: архитектура UI-автотестов, чтобы не утонуть в поддержке
Локаторы и шаги прямо в тестах — бомба замедленного действия: поменяли кнопку, чинишь в 50 местах. Page Object Model: класс на страницу инкапсулирует локаторы и действия, тесты вызывают методы. Что внутри Page Object, чего там быть не должно, Component Objects, fluent/loadable, анти-паттерны и когда POM избыточен.
-
Ожидания в UI-автотестах: почему тесты флакают и как ждать правильно
№1 причина flaky-тестов — неправильные ожидания. Почему sleep() всегда проигрывает, чем коварен implicit wait, как ждать условие через explicit wait, что меняет auto-wait в Playwright/Cypress, и как переписать флакающий тест с таймера на состояние.
-
Playwright vs Cypress vs Selenium в 2026: что выбрать для E2E
Сравнение трёх главных E2E-фреймворков в 2026: Playwright (мультибраузерность, авто-ожидания, Trace Viewer, дефолт для новых проектов), Cypress (лучший DX и time-travel-дебаг) и Selenium (стандарт W3C, максимум языков и Grid). Матрица различий, кому что подходит и как не ошибиться с выбором.
-
Локаторы, которые переживут редизайн: стратегия селекторов для UI-автотестов
Чаще всего UI-автотесты падают не от багов, а от хрупких локаторов. Разбор от первого лица: приоритет селекторов (роль/лейбл → data-testid → текст → CSS → XPath в самом конце), почему XPath по позиции и автогенеренные классы — бомба замедленного действия, соглашение о data-testid с разработкой, ловушки динамического контента и i18n, кросс-тул (Playwright, Selenium, Cypress, Appium). С чек-листом хорошего локатора и списком антипаттернов.
-
Архитектура UI-автотестов: Page Object и что идёт после него
Хороший автотест-сьют меряется не количеством тестов, а стоимостью изменения. Разбор от первого лица: что такое Page Object на самом деле (прячет КАК за ЧТО), почему ассерты внутри объекта — антипаттерн, слои выше Page Object (компоненты, setup через API, тест-данные), где обычно переусложняют, и правило трёх против ранних абстракций. Плюс критерий здорового теста: он читается как сценарий пользователя, без селекторов в теле.