- BrainTools - https://www.braintools.ru -
«MCP это прорыв»,
«Новый стандарт дебага»,
«Интеграция AI в тесты нового поколения»…
Звучит круто. Но, как часто бывает, всё сложно, перегружено и на птичьем языке. Я решил подойти с другой стороны. Это не мой, это ответ GPT, на понятном языке и с небольшими правками с моей стороны. Без заумных фраз, зато с примерами, мясом и аналогиями. Запрос был простым:
Объясни по-пацански, что это вообще такое?
Как это реально помогает, а не просто выглядит модно?
Зачем это мне, если я просто хочу понять, почему упал тест?
Вот кстати лайфхак, если ты хочешь реально врубиться в сложную тему:
Попроси объяснить её “по-пацански” или “как бабуля объясняет своему сладкому пирожочку” — кому как ближе.
Так и выходит честный и внятный разбор. Такой, где ты понимаешь не только “что”, но и “зачем”.
Ну а теперь давайте посмотрим, что же это за зверь такой — MCP и почему без него ИИ дебаг — как слепой с гранатой.
👇 Поехали.
Окей, брат, ща объясню по-простому, как для своих. Надеюсь ты в теме Playwright [1], автотесты, дебаг — так что давай разберёмся, что такое Model Context Protocol (MCP) и зачем он нужен.
Представь: у тебя есть тест, он падает, и ты такой: “Ёпт, что опять не так? Почему?”
Вот тут и врывается Model Context Protocol — это такая протуха (или протокол, если по-серьёзке), которая позволяет LLM (типа GPT) лучше понять контекст упавшего теста:
какие были шаги,
какие селекторы,
какие логи,
какой был HTML,
какая ошибка [2].
Ты ж не дашь другу чинить движок, если он даже не знает, что за машина, да? Так и тут: MCP помогает дать ИИ полный расклад, чтобы он нормально помог.
Error: Timeout 30000ms exceeded.
waiting for selector "#submit-btn"
GPT такой: «Ну… может кнопка не появилась… проверь таймаут».
— Пацанский ответ, но поверхностный.
{
"selector": "#submit-btn",
"action": "click",
"htmlSnapshot": "<div><button id='submit-btn' disabled>Send</button></div>",
"logs": ["click intercepted by disabled button"],
"testTitle": "should submit the form",
"location": "tests/form.spec.ts:23"
}
GPT: “Братан, кнопка-то есть, но disabled. Надо дождаться, когда она станет активной. Проверь, может данные формы невалидны.”
Вот это уже умная помощь, а не гадание.
Это просто формат, как упаковать и передать инфу об окружении теста:
DOM
ошибки
события
шаги теста
параметры вызова
Microsoft Playwright MCP — это официальная реализация этого протокола.
Скоро будет использоваться в тулзах типа playwright-ai-auto-debug [3] — (пока только в PR [4] висит).
Используется в плагинах, чтобы ИИ шарил, что реально произошло, а не гадал на кофейной гуще.
Ты вызываешь:
await page.click('#submit-btn');
Получаешь ошибку:
TimeoutError: waiting for selector "#submit-btn"
А в MCP улетает:
{
"selector": "#submit-btn",
"action": "click",
"pageContent": "...",
"trace": "...",
"playwrightVersion": "1.43.1",
"screenshot": "base64image",
"logs": [
"selector matched 0 elements",
"DOM mutated",
"navigation happened"
]
}
ИИ теперь говорит:
👉 “Элемент был, но пропал после навигации — тебе надо подождать navigation или использовать waitForSelector заново.”
|
MCP — это… |
По-простому |
|---|---|
|
Протокол передачи инфы для LLM |
“Брат, вот тебе все улики, разбери” |
|
Помогает ИИ реально дебажить |
Не просто советы, а по факту |
|
Структурный формат |
Типа как .har, но для Playwright + тестов |
|
Основа умного авто-дебага |
Без него GPT как слепой котёнок |
📌 Подписывайтесь на мой Telegram-канал про тестирование, AI и IT в целом! [5] — там делюсь мыслями, новостями и практическими примерами из жизни!
Автор: VadimLunin
Источник [6]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/16494
URLs in this post:
[1] Playwright: https://playwright.dev/
[2] ошибка: http://www.braintools.ru/article/4192
[3] playwright-ai-auto-debug: https://github.com/lunin-vadim/playwright-ai-auto-debug
[4] PR: https://github.com/lunin-vadim/playwright-ai-auto-debug/pull/1
[5] Telegram-канал про тестирование, AI и IT в целом!: https://t.me/it_vadimqa
[6] Источник: https://habr.com/ru/articles/920882/?utm_source=habrahabr&utm_medium=rss&utm_campaign=920882
Нажмите здесь для печати.