Skip to content

Commit 0eb5e24

Browse files
committed
fix: fix review issues, fix videos and add docs pages
1 parent bfac97e commit 0eb5e24

File tree

8 files changed

+535
-7
lines changed

8 files changed

+535
-7
lines changed

blog/mcp-release.mdx

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ date: 2025-06-16T17:00
88
import Admonition from "@theme/Admonition";
99
import Tabs from "@theme/Tabs";
1010
import TabItem from "@theme/TabItem";
11+
import SnapshotExample from "/docs/_partials/mcp-snapshot-example.mdx";
1112
import investigateVideoUrl from "/video/blog/mcp/investigate.mp4";
1213
import generateVideoUrl from "/video/blog/mcp/generate.mp4";
1314

@@ -21,15 +22,15 @@ import generateVideoUrl from "/video/blog/mcp/generate.mp4";
2122

2223
### Значительное улучшение генерации тестов
2324

24-
Представим, что мы добавили в приложение новую функциональность и теперь хотим сгенерировать тесты на неё с помощью AI-агента. Ранее, AI-агент мог лишь предположить как выглядит эта страница — селекторы скорее всего получились бы вымышленными, и тест требовал бы серьезных правок.
25+
Представим, что мы добавили в приложение новую функциональность и теперь хотим сгенерировать тесты на неё с помощью AI-агента. Ранее, AI-агент мог лишь предположить как выглядит эта страница — селекторы, скорее всего, получились бы вымышленными, и тест требовал бы серьезных правок.
2526

26-
Testplane MCP выводит этот процесс на новый уровень: AI-агент во время написания теста может открыть нужную страницу в браузере, взглянуть на её верстку, выполнять любые действия, например, нажать на кнопку или заполнить форму.
27+
Testplane MCP выводит этот процесс на новый уровень: AI-агент во время написания теста может открыть нужную страницу в браузере, посмотреть на её верстку или выполнить любые действия (например, нажать на кнопку или заполнить форму).
2728

2829
В результате AI-агент может сгенерировать тест имея полный контекст происходящего в браузере — включая селекторы, которые действительно есть на странице.
2930

3031
### Использование браузера AI-агентами
3132

32-
Testplane MCP делает возможным автоматизировать повторяющиеся процессы. Например, можно построить воркфлоу для извлечения информации из фото, после чего с помощью Testplane MCP заходить на панель управления своей организации и заполнять форму заявки с соответствующей информацией.
33+
Testplane MCP делает возможным автоматизировать повторяющиеся процессы. Например, можно построить воркфлоу для извлечения информации из фото чеков, после чего с помощью Testplane MCP заходить на панель управления своей организации и заполнять форму отчета с соответствующей информацией (наименование, количество, цена и т.д.).
3334

3435
## Установка
3536

@@ -165,13 +166,31 @@ npx @testplane/mcp@next
165166

166167
Как мы видим, AI-агент с первого раза сгенерировал тесты, которые проходят и содержат корректные селекторы.
167168

168-
## Отличия от других решений
169+
Вы можете попробовать такой промпт для генерации тестов с использованием Testplane MCP:
170+
171+
> Используй testplane mcp, чтобы открыть страницу `https://ya.ru`, выполни поиск по запросу "котики", проверь, что результаты поиска отображаются.
172+
>
173+
> Не пиши лишние комментарии в тестах, кроме сложных краевых случаев. Пиши тесты в соответствии со стилем проекта.
174+
>
175+
> Старайся использовать семантические селекторы, например, по атрибутам `data-testid` или тексту элемента вместо сложных CSS-селекторов.
176+
177+
## Особенности реализации
169178

170179
Testplane MCP — не единственная реализация возможности взаимодействия AI-агента с браузером.
171180

172181
На данный момент Testplane MCP обеспечивает следующие преимущества:
173182

174183
- Очень компактные и гибкие снапшоты страниц, модели не нужно работать со скриншотами. Это значительная экономия токенов API LLM.
184+
185+
Как пример — полный исходник `https://ya.ru` занимает ~260,000 символов, а компактный снапшот — лишь ~9,000.
186+
187+
<details>
188+
<summary>Пример снапшота</summary>
189+
190+
<SnapshotExample />
191+
192+
</details>
193+
175194
- Бесшовная интеграция с экосистемой Testplane, которая в будущем будет только улучшаться. Например, каждый ответ сервера содержит код, который был запущен, чтобы модель могла встроить его в тесты.
176195

177196
Следите за новыми релизами в нашем блоге и в разделе [Release Notes на GitHub](https://github.com/gemini-testing/testplane-mcp/releases), а в случае обнаружения проблем приходите в [issue GitHub][gh-issues] или наш [чат в Telegram](https://t.me/testplane) — мы вам обязательно поможем!
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
```yaml
2+
- body:
3+
- main.body__wrapper:
4+
- div.headline:
5+
- div.headline__personal:
6+
- a.home-link2.alice.headline__personal-item.home-link2_color_quaternary[aria-label=Алиса href="https://alice.yandex.ru/?utm_source=yandex&utm_campaign=morda_header_oknyx&utm_medium=interface"]:
7+
- svg.alice__icon
8+
- div:
9+
- div:
10+
- a.home-link2.headline__personal-item.headline__personal-item_services[aria-label=Сервисы href=https://yandex.ru/all title=Сервисы role=button]:
11+
- div.headline__personal-icon:
12+
- svg
13+
- a.home-link2.headline__personal-enter.home-link2_color_black[href="https://passport.yandex.ru/auth?retpath=https%3A%2F%2Fsso.passport.yandex.ru%2Fpush%3Fretpath%3Dhttp..."] "Войти"
14+
- div:
15+
- div.usermenu-portal:
16+
- div:
17+
- a.home-link2.headline__personal-menu.headline__personal-item[aria-label="Профиль, вход не выполнен" role=button tabindex=0 href="https://passport.yandex.ru/auth?origin=morda&retpath=https%3A%2F%2Fya.ru%2F%3Fnr%3D1%26redirect_ts%3..."]:
18+
- div.headline__personal-icon:
19+
- svg
20+
- div[@hidden]:
21+
- div.alerts[role=complementary aria-label=Уведомления]:
22+
- h1.a11y-hidden[@hidden] "Уведомления"
23+
- div.alert:
24+
- a.home-link2.alert__content.home-link2_color_inherit[href="https://yandex.ru/pogoda/146?lat=44.948237&lon=34.100318&utm_content=GroupedTomorrow&utm_medium=aler..."]:
25+
- "div.alert__left-content-wrapper[aria-label=\"Завтра: дождь, грозы · +15⁠…⁠+19⁠° · слабый ветер 3⁠–⁠5 м⁠/⁠с, порывы до 11 м⁠/⁠с\"]":
26+
- span.alert__text "Завтра: дождь, грозы · +15⁠…⁠+19⁠° · слабый ветер 3⁠–⁠5 м⁠/⁠с, порывы до 11 м⁠/⁠с"
27+
- button.alert__close[aria-label=Закрыть @hidden]
28+
- div.body__content:
29+
- form.mini-suggest.i-mini-bem.mini-suggest_search_yes.mini-suggest_personal_yes.mini-suggest_request_xhr.mini-suggest_favicon_yes.mini-suggest_hide-on-scroll_yes.mini-suggest_direct_yes.mini-suggest_re-request_yes.mini-suggest_direct-disclaimer_yes.mini-suggest_autofocus_yes.mini-suggest_delete-on-hover_yes.mini-suggest_grouping_yes.mini-suggest_theme_tile.mini-suggest_prevent-empty_yes.mini-suggest_entity-suggest_yes.mini-suggest_overlay_yaru.mini-suggest_type-icon_yes.mini-suggest_redesigned-navs_yes.mini-suggest_redesign-type_block.mini-suggest_expanding_yes.mini-suggest_reasoning_yes.mini-suggest_redesign-serp_yes.search3.search3_redesign-type_block.search3_keyboard_yes.search3_voice_yes.search3_camera_yes.mini-suggest_js_inited[action=https://ya.ru/search/ role=search aria-label="Поиск в интернете"]:
30+
- div.search3__inner-wrapper:
31+
- div:
32+
- section.reasoning-section.reasoning-section_on-top_yes.reasoning-section_justify_center:
33+
- ul.reasoning-section__list:
34+
- li.reasoning-section__item.reasoning-section__item_type_rect:
35+
- a.home-link2.reasoning-section__item-link.home-link2_color_inherit[href="https://yandex.ru/finance?utm_source=subclasses_product&utm_content=fin_5&utm_campaign=morda_web&per..."]:
36+
- span.reasoning-section__item-title "Финансы"
37+
- li.reasoning-section__item.reasoning-section__item_type_rect:
38+
- a.home-link2.reasoning-section__item-link.home-link2_color_inherit[href="https://yandex.ru/products?utm_source=subclasses_product&utm_content=ecom&utm_campaign=morda_web&per..."]:
39+
- span.reasoning-section__item-title "Товары"
40+
- li.reasoning-section__item.reasoning-section__item_type_rect:
41+
- a.home-link2.reasoning-section__item-link.home-link2_color_inherit[href="https://yandex.ru/realty?utm_source=subclasses_realty&utm_content=realty&utm_campaign=morda_web&pers..."]:
42+
- span.reasoning-section__item-title "Квартиры"
43+
- div.search3__inner:
44+
- label.search3__input-wrapper-wrapper[for=text]:
45+
- div.search3__input-wrapper:
46+
- div.search3__input-outer-container:
47+
- div.search3__input-inner-container:
48+
- input.search3__input.mini-suggest__control[aria-label=Запрос name placeholder="Подробно опишите сложную задачу или вопрос" @hidden]
49+
- textarea.search3__input.mini-suggest__input#text[placeholder="Подробно опишите сложную задачу или вопрос" name=text role=combobox]
50+
- svg.search3__magnifier
51+
- div.search3__action-buttons.search3__action-buttons_submit-button-icon_yes:
52+
- div.search3__reasoning-root:
53+
- div.search3__reasoning:
54+
- div.reasoning-dropdown__root:
55+
- div.reasoning-dropdown:
56+
- button.reasoning-dropwdown__button[type=button aria-label=Подробнее title=Подробнее]:
57+
- svg.search3__reasoning-qmark
58+
- div:
59+
- button.search3__keyboard.search3__action[title=Клавиатура type=button @hidden]:
60+
- svg.search3__svg_keyboard
61+
- div.search3__voice-wrapper:
62+
- button.Button.VoiceInput.search3__voice.search3__voice_type_depot.VoiceInput_futuris[aria-label="Голосовой поиск" type=button title="Голосовой поиск"]:
63+
- span.Button-Text:
64+
- svg.VoiceInput-Icon
65+
- div:
66+
- button.search3__action.search3__camera#image-search[title="Поиск по картинке" type=button]:
67+
- svg.search3__svg_camera
68+
- button.search3__button.search3__button_icon_yes.mini-suggest__button[type=submit tabindex=-1 aria-label=Найти @hidden]:
69+
- svg
70+
- input[type=hidden name=lr value=146 @value=146 @hidden]
71+
- input[type=hidden name=msid value=1749915681851623-7074561989186018597-balancer-l7leveler-kubr-yp-vla-119-BAL @value=1749915681851623-7074561989186018597-balancer-l7leveler-kubr-yp-vla-119-BAL @hidden]
72+
- input[type=hidden name=search_source value=yaru_desktop_common @value=yaru_desktop_common @hidden]
73+
- input[type=hidden name=search_domain value=yaru @value=yaru @hidden]
74+
- aside.informers3[aria-label=Информеры]:
75+
- a.home-link2.informers3__item.informers3-weather.home-link2_color_quaternary.home-link2_hover_tertiary[aria-label="Погода в Симферополе 21°, Облачно с прояснениями" href="https://yandex.ru/pogoda/146?lat=44.948237&lon=34.100318&utm_campaign=informer&utm_content=main_info..."]:
76+
- div.informers3-weather__text "+21°"
77+
- div:
78+
- a.home-link2.informers3__pollen.informers3__item.informers3__pollen_level_yellow.informers3__pollen_animate_yes[aria-label="Низкая активность злаков" href="https://yandex.ru/pogoda/allergies?allergen=cereals&lat=44.948237&lon=34.100318&utm_campaign=informe..."]:
79+
- div.simple-tooltip.force-dark.informers-tooltip.simple-tooltip_hidden_yes.simple-tooltip_direction_right[@hidden] "Низкая активность злаков"
80+
- section.informers3__stocks:
81+
- h2.a11y-hidden "Курсы ЦБ РФ"
82+
- div.informers3__stocks-item-wrapper:
83+
- a.home-link2.informers3__stocks-item.home-link2_color_quaternary.home-link2_hover_tertiary[aria-label="USD ЦБ 79,00" href="https://ya.ru/search/?lr=146&search_source=ya_morda_stocks&text=USD+%D0%A6%D0%91&wiz=finance"]:
84+
- span "USD 79,00"
85+
- div.informers3__stocks-item-wrapper:
86+
- a.home-link2.informers3__stocks-item.home-link2_color_quaternary.home-link2_hover_tertiary[aria-label="EUR ЦБ 90,01" href="https://ya.ru/search/?lr=146&search_source=ya_morda_stocks&text=EUR+%D0%A6%D0%91&wiz=finance"]:
87+
- span "EUR 90,01"
88+
- div.informers3__stocks-item-wrapper:
89+
- a.home-link2.informers3__stocks-item.home-link2_color_quaternary.home-link2_hover_tertiary[aria-label="YDEX 3998,50" href="https://ya.ru/search/?lr=146&search_source=ya_morda_stocks&text=YDEX&wiz=finance"]:
90+
- span "YDEX 3998,50"
91+
- a.home-link2.informers3__geo.home-link2_color_quaternary.home-link2_hover_tertiary[aria-label="Ваш город определён как Симферополь" href="https://ya.ru/tune/geo?retpath=https%3A%2F%2Fya.ru%2F%3Fnr%3D1%26redirect_ts%3D1749915681.00000&nosy..."] "Симферополь"
92+
- div.main-home-banner:
93+
- div[@hidden]:
94+
- div.main-home-banner__content.banner-tgo.banner-tgo_title_m:
95+
- div.banner-tgo__content:
96+
- div.banner-tgo__title "Простой переход на Яндекс Браузер"
97+
- div.banner-tgo__subtitle:
98+
- div.banner-tgo__domain "yandex.ru"
99+
- span.home-link2.banner-tgo__mark "Реклама • 0+"
100+
- a.home-link2.banner-tgo__link[aria-label="Простой переход на Яндекс Браузер" href=https://yandex.ru/an/count/WgyejI_zOoVX2Lci0WqL00Eca4kmIQS4p0bKyOO9wCsxD-yN0juA2EWchcZT7ALIUK0NwFEvt...]
101+
- div.direct-close-block.direct-close-block_state_idle.direct-close-block_tgo:
102+
- button.direct-close-block__close-button.direct-close-block__close-button_idle[aria-label="Действия с рекламой"]:
103+
- div.direct-close-block__close-icon:
104+
- svg
105+
- div.ladybug:
106+
- span.home-link2.ladybug__item.ladybug__butterfly#butterfly:
107+
- div#butterfly-button:
108+
- div:
109+
- div.YndxBug.Bug__container1k5BDO.Bug__container_position_left35lf2v:
110+
- div.YndxBug-Icon.Bug__icon3lvpsr:
111+
- svg[@hidden]
112+
- div[@hidden]:
113+
- div.page-info[@hidden] "{\"static\":\"2025-06-11-855\",\"content\":\"big\",\"domain\":\"ru\",\"nodeVersion\":\"v22.10.0\"}"
114+
- span#requestId[@hidden] "1749915681851623-7074561989186018597-balancer-l7leveler-kubr-yp-vla-119-BAL"
115+
```

0 commit comments

Comments
 (0)