selenium
4 статей
-
Ожидания в 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, тест-данные), где обычно переусложняют, и правило трёх против ранних абстракций. Плюс критерий здорового теста: он читается как сценарий пользователя, без селекторов в теле.