Playwright 1.64 помогает найти тесты, которые зависят от порядка запуска
Появились перемешивание тестов с повторяемым seed, поиск элементов через within() и выбор проектов для обычного запуска. Разбираем, где это пригодится в CI.

В Playwright 1.64, вышедшем 7 октября, появился --shuffle: тесты можно запускать в случайном порядке. Если прогон упал, тот же порядок воспроизводится по seed — числу, которое Playwright выводит в отчёт. Это даёт конкретную зацепку при разборе падения, которое исчезает при одиночном запуске теста.
Например, один тест создаёт пользователя, а другой незаметно пользуется этой записью. Пока они идут в привычной последовательности, набор выглядит исправным. Перемешивание может показать, что второй сценарий не готовит собственные данные. Для такого расследования стоит сохранять seed рядом с трассировкой и логами, а затем повторять именно проблемную последовательность.
Локаторы и матрица браузеров

Ещё одно изменение — locator.within(). Уже описанную кнопку можно искать внутри конкретного диалога, а третью ячейку — отдельно в каждой строке таблицы. Это упрощает повторное использование локаторов, когда на странице несколько одинаковых кнопок или блоков.
Настройка testProject.default позволяет оставить браузерный проект в конфигурации, но исключить его из запуска без --project. Например, разработчик может быстро проверить Chromium, а CI — явно запустить все браузеры. Такой выбор стоит закрепить в команде запуска, чтобы расширенная проверка не исчезла из конвейера после обновления настроек.
Есть нюанс: default: false не отключает проект полностью. Он всё равно выполняется, если нужен как зависимость или teardown другого выбранного проекта. Поэтому перед сокращением прогона полезно посмотреть не только список браузеров, но и связи между проектами.

