Модуль 2 · Автоматизация · урок 6 из 13
Браузер в руках агента
Пока агент видит только код, он гадает, как страница выглядит и ведёт себя на самом деле. С браузером он может открыть локальный стенд, пройти сценарий, посмотреть консоль и убедиться, что исправление работает. Для ручного тестировщика это новый инструмент исследования, для автоматизатора — способ быстрее писать и отлаживать тесты. Разберём оба варианта и их границы.
Два способа дать агенту браузер
Встроенный браузер в ChatGPT desktop app
В режиме Codex десктопного приложения ChatGPT есть встроенный браузер: общий для вас и агента вид сайта или локального приложения прямо в чате (Browser). Что в нём полезно для QA:
- открыть локальный маршрут с запущенного дев-сервера и смотреть страницу рядом с диффом;
- попросить агента воспроизвести баг вёрстки и проверить результат своей работы на странице — к браузеру можно обратиться явно через
@Browser; - режим аннотаций: выделить элемент или область и оставить комментарий, который агент учтёт в следующем шаге;
- режим разработчика (Developer mode) с полным доступом по CDP: консоль, сетевые запросы, DOM и стили, профилирование JavaScript.
Ограничения тоже из документации: у браузера отдельный профиль, ваши обычные вкладки и сессии он не видит; загрузку файлов автоматизировать нельзя; режим разработчика включается в настройках и требует явного одобрения для каждого сайта, администратор может его запретить.
Playwright MCP в CLI и IDE
В Codex CLI браузер подключается как MCP-сервер — настройки MCP общие у CLI, IDE-расширения и десктопа. Команда из README проекта:
codex mcp add playwright -- npx "@playwright/mcp@latest"Или вручную в конфиге:
[mcp_servers.playwright]
command = "npx"
args = ["@playwright/mcp@latest", "--isolated"]Флаг --isolated держит профиль браузера в памяти и не сохраняет его на диск — каждый запуск начинается с чистого состояния. Проверить, что сервер подключился, можно командой /mcp.
Playwright MCP работает через дерево доступности (accessibility tree), а не по пикселям: инструмент browser_snapshot отдаёт агенту структурированный снимок страницы с ролями и подписями (playwright-mcp). Это быстро и точно для логики, но визуальные проблемы — наложения, обрезанный текст, неверный цвет — по такому снимку не видны. Для них просите скриншот и сверку с макетом.
Если цель — именно писать тесты, а не исследовать, README предлагает кодинг-агентам посмотреть на связку Playwright CLI и навыков (playwright-cli): она экономнее расходует контекст. MCP, по словам README, оправдан для длинных исследовательских сценариев с сохранением состояния браузера.
Исследовательское тестирование с агентом
Агент хорошо проходит сценарии по чартеру — короткой миссии исследовательской сессии. Пример для формы заявки:
Используй браузер. Стенд: http://localhost:8001.
Миссия: исследовать форму заявки на /contacts с точки зрения пользователя,
который ошибается при вводе.
- Попробуй: пустые поля, телефон в разных форматах, очень длинное имя,
эмодзи, двойной клик по «Отправить», возврат назад после отправки.
- Повтори ключевые шаги в мобильном размере окна.
- После каждого шага смотри консоль и сетевые запросы.
Ничего не исправляй. Отчёт: таблица «шаг — ожидал — увидел — доказательство»,
отдельно — что показалось странным, но не является явной ошибкой.
Не отправляй больше двух заявок.Что получается хорошо: перебор вариантов ввода, ошибки в консоли, неожиданные ответы сервера, тексты ошибок. Что хуже: оценка «удобно ли это человеку» и визуальные мелочи. Этот отчёт — сырьё для вас, а не готовый вывод. Странное из второго списка проверяйте сами.
Ещё один сценарий — проверка исправления. После правки агент открывает страницу и проходит шаги из баг-репорта. Это не замена автотесту, но отсекает «починил, не проверив».
Безопасность: браузер — не граница
Здесь важно не обмануться настройками.
Playwright MCP — не граница безопасности. Так прямо написано в README проекта. Флаг --allowed-origins, который ограничивает адреса для браузера, по тому же источнику тоже не является границей безопасности. Это удобство, а не защита.
Песочница Codex браузер не покрывает. Песочница и сетевой прокси Codex действуют на команды оболочки. Трафик MCP-серверов, браузера и Computer Use прокси не фильтрует (Approvals & security). Если в песочнице сеть выключена, агент с Playwright MCP всё равно ходит куда угодно.
Содержимое страницы — недоверенные данные. Документация встроенного браузера прямо просит считать текст на странице недоверенным контекстом: инструкции на ней могут быть вводящими в заблуждение или вредоносными. Это классическая промпт-инъекция (prompt injection): страница «просит» агента сделать что-то, чего вы не просили.
Практические правила курса:
- Агент с браузером ходит только на локальный стенд и тестовые окружения, не на прод и не в админки с боевыми данными.
- Никаких реальных учётных записей. Тестовые аккаунты — из сидов проекта.
- Профиль браузера изолированный (
--isolatedили отдельный профиль встроенного браузера). - Режим разработчика во встроенном браузере — только для своих тестовых сайтов.
- Если агент пошёл на неожиданный адрес или начал делать то, о чём вы не просили, — остановите сессию и разберитесь.
Мобильные приложения
Браузер помогает с мобильной вёрсткой сайта: агент может открыть страницу в узком окне, а в Playwright MCP есть эмуляция устройств (точные флаги — в README). Для нативных приложений он бесполезен. Там агент полезнее в тест-дизайне, юнит-тестах, разборе логов и крэш-репортов — об этом в уроке «Воспроизведение багов и баг-репорты».
Попробуйте сами
10–15 мин на рабочем месте- Подключите Playwright MCP с
--isolated, проверьте его через/mcpи попросите агента открыть главную страницу локального стенда и перечислить ошибки в консоли. - Проведите 10-минутную исследовательскую сессию по чартеру из урока на одной форме вашего проекта. Проверьте вручную два пункта из отчёта.
- Запишите в AGENTS.md правило, на какие адреса агенту можно ходить с браузером.
Коротко
- Встроенный браузер десктопа — для превью, аннотаций и проверки исправлений; Playwright MCP — для CLI и IDE.
- Снимок по дереву доступности хорош для логики; визуальные проблемы требуют скриншотов.
- Для написания тестов README Playwright MCP предлагает рассмотреть Playwright CLI с навыками.
- Playwright MCP и
--allowed-origins— не граница безопасности; прокси песочницы не фильтрует браузер и MCP. - Только тестовые окружения, тестовые аккаунты и изолированный профиль; текст страниц — недоверенные данные.