К обсуждениям

Playwright закончил тесты, но не выходит с channel: chrome: A/B-матрица процесса

Редакция VOne Технологии

Как проверить зависший выход Playwright после успешных тестов: сравнить bundled Chromium и branded Chrome, одного и двух workers, фиксируя время завершения без принудительного убийства процессов в каждой попытке.

Отделите успешные тесты от выхода runner

Сначала подтвердите, что последний тест и репортёр завершили работу, а проблема начинается после финальной строки результата. Запишите код завершения, если он появился, и время ожидания до ручной остановки. Не называйте это таймаутом теста, если assertions уже закончились; не называйте успехом, если процесс всё ещё удерживает CI job. Выберите один короткий тест без серверов, загрузок и пользовательских fixtures. Так матрица будет измерять жизненный цикл browser/runner, а не закрытие базы, dev server или стороннего клиента. Секреты окружения и имена внутренних проектов из лога удалите.

Соберите матрицу channel и workers

Документация Playwright различает поставляемый проектом Chromium и branded Google Chrome, выбираемый через channel: chrome. CLI отдельно позволяет задавать число workers, включая один. Запустите одинаковый тест в четырёх ячейках: Chromium с одним worker, Chromium с двумя, Chrome с одним и Chrome с двумя. Между запусками возвращайте исходную конфигурацию и не обновляйте браузер. Для каждой ячейки отмечайте версию, последнюю строку, время до выхода и факт оставшегося процесса. Один прогон — наблюдение, поэтому повторите только зависшую и контрольную ячейки один раз.

Интерпретируйте границу без назначения причины

Если обе ячейки Chrome зависают, а обе Chromium завершаются, доказана зависимость от выбранного канала в этой среде, но не виновность самого Chrome. Если проблема появляется только с двумя workers, проверяйте teardown, общие fixtures и ресурсы параллельного запуска. Если зависают все четыре, канал не объясняет симптом: вернитесь к минимальному тесту и репортёру. Если результат плавает, добавьте временную шкалу, но не запускайте сотни циклов на рабочем CI. Различие branded browser и bundled browser документировано; конкретный дефект и его компонент должен определить проект по воспроизводимому пакету.

Передайте разработчикам минимальный пакет

Укажите версии Playwright, браузеров и ОС, четыре результата матрицы, число повторов и минимальную конфигурацию projects. Приложите список имён процессов после завершения без аргументов командной строки, если они содержат пути или токены. Не отправляйте trace рабочего теста, пока не проверите cookies, URL и данные страниц; лучше воспроизвести на пустой локальной странице. Критерий остановки — необходимость принудительно завершать общие браузерные процессы или менять корпоративный Chrome. Issue подтверждает наблюдение одного runner; статья не обещает исправление и не переносит его на другие каналы.

Материал подготовлен редакцией VOne с применением ИИ для матрицы 2×2; различия браузерных каналов и workers проверены по Playwright, issue не используется как доказательство причины.

Источники и проверка

Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.

Ответы

0 опубликовано
Ответов пока нет. Вы можете начать обсуждение.

Ваш ответ

Добавьте свой опыт или уточнение по теме.

Вы публикуете как Аноним Аватар отличает разговоры, но не раскрывает личные данные.

Ответ появится сразу. Не публикуйте личные данные, ключи и приватные ссылки.