Playwright + WSL

В статье хорошо разобран кейс, когда e2e на Playwright проходят в headless, но в headed-режиме всё ломается на WSL. Есть стандартное поведение, когда мы запускаем из WSL playwright, а вот браузер уже матчим через Windows.

В настройках получится что-то такое: ... "--executable-path", "/mnt/c/Program Files/Google/Chrome/Application/chrome.exe" ...

Но я хочу разобрать именно про кейс, когда запуск браузера происходит не из под-винды, а из WSL. На стороне винды поднимается XWindow, который принимает и отрисовывает GUI-приложение, запущенное внутри WSL, а в самой WSL настраивается DISPLAY, чтобы браузер мог подключиться к этому X-серверу.

В примере используется Windows 11 22H2, WSL 2.2.4.0, Ubuntu 24.04 LTS и Playwright 1.45.3.

Это может быть полезно, если вы смотрите в сторону запуска Playwright MCP для агентов: для части e2e-сценариев нужен не только “безголовый” прогон, но и полноценный browser/UI runtime. Статья как раз про этот приземлённый слой инфраструктуры

Полезные ссылки по теме: Playwright MCP сама статья Challenges I Faced When Displaying Playwright's Browser on WSL WSLg — встроенная поддержка GUI-приложений в WSL VcXsrv — XServer для Windows, который в статье используется как рабочий обходной путь