-
Notifications
You must be signed in to change notification settings - Fork 3
docs: write a blog post about testplane mcp #75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
shadowusr
merged 5 commits into
master
from
users/shadowusr/users/shadowusr/TESTPLANE-530.mcp-blog-post
Jun 19, 2025
Merged
Changes from all commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
ff693b5
docs: write a blog post about testplane mcp
shadowusr bfac97e
docs: fix tg broken link
shadowusr 0eb5e24
fix: fix review issues, fix videos and add docs pages
shadowusr 160b265
fix: fix formatting
shadowusr 7bd595c
fix: fix formatting
shadowusr File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,199 @@ | ||
| --- | ||
| title: Testplane MCP | ||
| slug: mcp-release | ||
| hide_table_of_contents: false | ||
| date: 2025-06-16T17:00 | ||
| --- | ||
|
|
||
| import Admonition from "@theme/Admonition"; | ||
| import Tabs from "@theme/Tabs"; | ||
| import TabItem from "@theme/TabItem"; | ||
| import SnapshotExample from "/docs/_partials/mcp-snapshot-example.mdx"; | ||
| import investigateVideoUrl from "/video/blog/mcp/investigate.mp4"; | ||
| import generateVideoUrl from "/video/blog/mcp/generate.mp4"; | ||
|
|
||
| Рады представить Testplane MCP — проект, который позволяет AI-агентам быть в контексте происходящего в браузере, совершать действия и генерировать тесты с учетом реального состояния страницы. | ||
|
|
||
|  | ||
|
|
||
| {/* truncate */} | ||
|
|
||
| ## Какие возможности открывает Testplane MCP? | ||
|
|
||
| ### Значительное улучшение генерации тестов | ||
|
|
||
| Представим, что мы добавили в приложение новую функциональность и теперь хотим сгенерировать тесты на неё с помощью AI-агента. Ранее, AI-агент мог лишь предположить как выглядит эта страница — селекторы, скорее всего, получились бы вымышленными, и тест требовал бы серьезных правок. | ||
|
|
||
| Testplane MCP выводит этот процесс на новый уровень: AI-агент во время написания теста может открыть нужную страницу в браузере, посмотреть на её верстку или выполнить любые действия (например, нажать на кнопку или заполнить форму). | ||
|
|
||
| В результате AI-агент может сгенерировать тест имея полный контекст происходящего в браузере — включая селекторы, которые действительно есть на странице. | ||
|
|
||
| ### Использование браузера AI-агентами | ||
|
|
||
| Testplane MCP делает возможным автоматизировать повторяющиеся процессы. Например, можно построить воркфлоу для извлечения информации из фото чеков, после чего с помощью Testplane MCP заходить на панель управления своей организации и заполнять форму отчета с соответствующей информацией (наименование, количество, цена и т.д.). | ||
|
|
||
| ## Установка | ||
|
|
||
| Необходимо запустить сервер из пакета `@testplane/mcp`. Для bleeding-edge сборок используйте тег `@next`, для стабильных — `@latest`: | ||
|
|
||
| ```shell | ||
| npx @testplane/mcp@next | ||
| ``` | ||
|
|
||
| Установка зависит от среды, в которой будет использоваться Testplane MCP. | ||
|
|
||
| <Tabs> | ||
| <TabItem value="cursor" label="Cursor"> | ||
| Откройте настройки Cursor (кнопка в правом верхнем углу IDE), в секции `MCP` нажмите на кнопку `Add new global MCP server`, добавьте в конфиг Testplane MCP как в примере ниже. | ||
|
|
||
| ```json | ||
| { | ||
| "mcpServers": { | ||
| "testplane-mcp": { | ||
| "command": "npx", | ||
| "args": ["@testplane/mcp@next"] | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
| </TabItem> | ||
|
|
||
| <TabItem value="cline" label="VS Code + Cline"> | ||
| 1. Установите [расширение Cline](https://marketplace.visualstudio.com/items?itemName=saoudrizwan.claude-dev). | ||
| 2. На вкладке расширения необходимо перейти на вкладу "MCP" и нажать "Configure MCP Servers". | ||
|  | ||
| 3. Добавьте в конфиг Testplane MCP как в примере ниже. | ||
| ```json | ||
| { | ||
| "mcpServers": { | ||
| "testplane-mcp": { | ||
| "command": "npx", | ||
| "args": ["@testplane/mcp@next"] | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
| </TabItem> | ||
|
|
||
| <TabItem value="copilot" label="VS Code + Copilot"> | ||
| Откройте настройки VS Code, введите в поиск `MCP`, нажмите на `Edit in settings.json`, добавьте в конфиг Testplane MCP как в примере ниже. | ||
|
|
||
| ```json | ||
| { | ||
| "mcp": { | ||
| "inputs": [], | ||
| "servers": { | ||
| "testplane-mcp": { | ||
| "command": "npx", | ||
| "args": ["@testplane/mcp@next"] | ||
| } | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
| </TabItem> | ||
|
|
||
| <TabItem value="claude" label="Claude Desktop"> | ||
| Откройте настройки [как показано в оф. документации](https://modelcontextprotocol.io/quickstart/user), добавьте в конфиг Testplane MCP как в примере ниже. | ||
|
|
||
| ```json | ||
| { | ||
| "mcpServers": { | ||
| "testplane-mcp": { | ||
| "command": "npx", | ||
| "args": ["@testplane/mcp@next"] | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
| </TabItem> | ||
|
|
||
| <TabItem value="windsurf" label="Windsurf"> | ||
| Откройте настройки [как показано в оф. документации](https://docs.windsurf.com/windsurf/cascade/mcp), добавьте в конфиг Testplane MCP как в примере ниже. | ||
|
|
||
| ```json | ||
| { | ||
| "mcpServers": { | ||
| "testplane-mcp": { | ||
| "command": "npx", | ||
| "args": ["@testplane/mcp@next"] | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
| </TabItem> | ||
|
|
||
| <TabItem value="jetbrains" label="Jetbrains"> | ||
| Откройте настройки [как показано в оф. документации](https://www.jetbrains.com/help/ai-assistant/configure-an-mcp-server.html), добавьте в конфиг Testplane MCP как в примере ниже. | ||
|
|
||
| ```json | ||
| { | ||
| "mcpServers": { | ||
| "testplane-mcp": { | ||
| "command": "npx", | ||
| "args": ["@testplane/mcp@next"] | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
| </TabItem> | ||
|
|
||
| </Tabs> | ||
|
|
||
| После установки AI-агент сможет использовать Testplane MCP, можно прямо указать на это в промпте: "Используй testplane mcp, чтобы открыть страницу ...". | ||
|
|
||
| ## Использование | ||
|
|
||
| Рассмотрим кейс разработки интернет-магазина книг. Представим, что у нас появилась новая фича — отображение оценок книг и мы хотим сгенерировать тесты на эту фичу. | ||
|
|
||
| Сначала попросим AI-агента проанализировать страницу и составить план тестирования. | ||
|
|
||
| <video src={investigateVideoUrl} width="100%" controls="controls"> | ||
| Тег video не поддерживается вашим браузером. | ||
| <a href="video/blog/mcp/investigate.mp4">Скачайте видео</a>. | ||
| </video> | ||
|
|
||
| <br /> | ||
|
|
||
| Теперь попробуем сгенерировать тесты и запустить их. | ||
|
|
||
| <video src={generateVideoUrl} width="100%" controls="controls"> | ||
| Тег video не поддерживается вашим браузером. | ||
| <a href="video/blog/mcp/generate.mp4">Скачайте видео</a>. | ||
shadowusr marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| </video> | ||
|
|
||
| <br /> | ||
|
|
||
| Как мы видим, AI-агент с первого раза сгенерировал тесты, которые проходят и содержат корректные селекторы. | ||
|
|
||
| Вы можете попробовать такой промпт для генерации тестов с использованием Testplane MCP: | ||
|
|
||
| > Используй testplane mcp, чтобы открыть страницу `https://ya.ru`, выполни поиск по запросу "котики", проверь, что результаты поиска отображаются. | ||
| > | ||
| > Не пиши лишние комментарии в тестах, кроме сложных краевых случаев. Пиши тесты в соответствии со стилем проекта. | ||
| > | ||
| > Старайся использовать семантические селекторы, например, по атрибутам `data-testid` или тексту элемента вместо сложных CSS-селекторов. | ||
|
|
||
| ## Особенности реализации | ||
|
|
||
| Testplane MCP — не единственная реализация возможности взаимодействия AI-агента с браузером. | ||
|
|
||
| На данный момент Testplane MCP обеспечивает следующие преимущества: | ||
|
|
||
| - Очень компактные и гибкие снапшоты страниц, модели не нужно работать со скриншотами. Это значительная экономия токенов API LLM. | ||
shadowusr marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| Как пример — полный исходник `https://ya.ru` занимает ~260,000 символов, а компактный снапшот — лишь ~9,000. | ||
|
|
||
| <details> | ||
|
|
||
| <summary>Пример снапшота</summary> | ||
|
|
||
| <SnapshotExample /> | ||
|
|
||
| </details> | ||
|
|
||
| - Бесшовная интеграция с экосистемой Testplane, которая в будущем будет только улучшаться. Например, каждый ответ сервера содержит код, который был запущен, чтобы модель могла встроить его в тесты. | ||
|
|
||
| Следите за новыми релизами в нашем блоге и в разделе [Release Notes на GitHub](https://github.com/gemini-testing/testplane-mcp/releases), а в случае обнаружения проблем приходите в [issue GitHub][gh-issues] или наш [чат в Telegram](https://t.me/testplane) — мы вам обязательно поможем! | ||
|
|
||
| [gh-issues]: https://github.com/gemini-testing/testplane-mcp/issues | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.