Гайд по Cursor для QA
Где какая кнопка, что писать агенту, и четыре практики на тестах PomidorQA. Не обзор ярлыков.
Для кого этот текст
Для тестировщика, у которого уже есть учебный репозиторий с Playwright — свой ДЗ или PomidorQA. Не для «собери стартап одним сообщением».
Ещё не ставил Cursor
Иди по порядку: слова → установка → экран → практика 1. MCP, хуки и телефон можно не открывать сегодня.
Уже кликал агента
Прыгай в практики 2–4. Там живые задачи на логин и профиль, не ещё одна таблица ярлыков.
Cursor — это VS Code с руками внутри проекта. Не чат в соседней вкладке: агент ходит по репозиторию, правит файлы и запускает терминал.
Где Cursor сильнее / слабее
✓ Сильные стороны
- Работа прямо в репозитории, не копипаст из чата
- Tab — лучший автокомплит на рынке
- Можно менять модель: Claude, GPT, Gemini, свои
- Rules, Skills, Hooks — конвейер, не «умный чат»
- Plan mode: сначала согласовал, потом пошёл пилить
✗ Слабые стороны
- Без постановки задачи — каша в диффе
- Легко принять весь дифф и словить баг
- Лимиты на Pro кончаются, если жить в агенте
- MCP и браузер — надстройка, новичка путают
- Из России карта на сайте может не пройти
Слова, без которых дальше каша
Если в тексте встретится непонятное — вернись сюда. Ярлыки из настроек сами по себе ничего не значат.
| Слово | По-человечески |
|---|---|
| Агент | Режим, в котором Cursor сам правит файлы и может запустить команду в терминале. Ты ставишь задачу и читаешь, что он сделал. |
| Промпт | Текст, который ты пишешь в поле чата. Не заклинание — обычная задача своими словами. |
| Контекст | То, что агент видит прямо сейчас: открытые файлы, правила проекта, то что кинул через @. |
| Дифф | Список изменений: что добавили, что выкинули. Читаешь как тестировщик, не как «ну зелёненькое». |
| Спека / spec.ts | Файл с автотестом. У нас так лежат сценарии логина и профиля. |
| Локатор | Как тест находит кнопку или поле. У PomidorQA это часто data-testid, например PomidorqaLogin-submit. |
| Ассерт / expect | Проверка «должно быть так». Без неё тест просто покликал и ушёл. |
| Checkpoint | Точка отката. Агент накосячил — возвращаешь файлы к этому месту. Твои ручные правки обычно остаются. |
| MCP | Розетка к внешней штуке: браузер, GitHub, трекер. На первой неделе можно не ставить. |
| Rule / Skill / Hook | Характер навсегда / ритуал на одну работу / турникет, который не просит, а перехватывает. Подробнее — в своих разделах. |
Подписка и оплата
Сайт официальный — cursor.com. Hobby хватит потыкать. Работать — с Pro.
| Тариф | Ориентир | Для кого | Вердикт |
|---|---|---|---|
| Hobby | 0 $ | Потрогать Tab и агент | Мало лимитов |
| Pro | ~20 $/мес | Учёба и обычная работа | ✓ Для старта |
| Pro+ | ~60 $/мес | Агент каждый день | Когда упёрся |
| Ultra | ~200 $/мес | Суперинтенсив | Не с порога |
Как оплатить из России
1 Своя зарубежная карта
Есть карта иностранного банка — платишь на cursor.com напрямую. Меньше посредников, меньше сюрпризов.
2 Плати по миру
Нет зарубежной карты — виртуальная, пополнение в рублях через СБП. Выпускается за пару минут, ею платишь на официальном сайте. Реф. ссылка.
3 Маркетплейсы: Яндекс Маркет, GG и аналоги
Иногда продают подписку или доступ к уже оплаченному аккаунту. Это не официальный канал Cursor. Риск: заберут доступ, не продлят, в поддержку не постучишься. «Вечный премиум за 300 ₽» без истории продавца — лотерея.
Установка и первый вечер
Скачал, открыл папку проекта, настроил два правила. Всё. Не ставь сразу Skills, MCP и десять плагинов.
.cursor/rules/..env, ключи, SSH на сервер — в правила и в хуки, не в чат.
Экран: куда жать
Не «экосистема». Конкретные места окна, без которых практики ниже не собрать. Кадр — учебный репозиторий pomidorqa-course-tests.
codegen-demo.spec.ts.tests/e2e
2 Customize / код
3 New Agent, @ и /
4 модель (здесь High Fast)
tests/e2e и src/pages. Если вместо папок один файл — открыл не ту папку. File → Open Folder, корень репозитория./ для скилла, @ для файла. Новое окно чата — на новую задачу.@ — файл из дерева. Для практики 1 это @login-error.spec.ts, не весь репозиторий. Скрепка — картинка или лог, если кидаешь скрин ошибки.npx playwright test … — нормально. git push и ssh — стоп, если сам не просил.Две шестерёнки, их путают
Cursor Settings
Отдельное окно Cursor: модели, агент, MCP, правила. Сюда, когда речь про ИИ. Ищи «Cursor Settings» в палитре команд (Cmd+Shift+P / Ctrl+Shift+P).
Settings VS Code
Шрифт, тема, обычные расширения. К агенту почти не относится. Если полез править auto-run — ты не здесь.
Настройки агента на первый вечер
- Auto-run / автозапуск команд — выключи. Пусть спрашивает, прежде чем гонять терминал. Включишь через месяц, когда уже читаешь команду глазами.
- Индексация проекта — оставь включённой. Иначе агент плохо ищет файлы в большом репо.
- Privacy Mode — если нельзя светить код наружу. Для учебного PomidorQA обычно не критично.
- Не ставь десять MCP «как в чужом ролике». Сначала агент и @файл.
Режимы: Tab, Chat, Agent, Plan
Путать их — самая частая ошибка. Купил Cursor и живёшь в Tab — ты купил автокомплит. Работа начинается в Agent.
⇥ Tab
Печатаешь — серая подсказка. Tab принимает. Для бойлерплейта и следующей очевидной строки. Это не постановка задачи и не «я использую ИИ».
💬 Chat / Ask
«Объясни этот файл», «сравни два подхода», «где тут логин». Мозг рядом с кодом. Файлы сам не переписывает, пока не попросишь. Хорош, когда ещё не готов отдавать правки.
⚙ Agent
Руки. Ходит по репо, правит пачку файлов, запускает тесты в терминале. Твоя работа — постановка и ревью диффа, как у тестировщика. Не «напиши всё», а «сделай вот это, вот что считать готовым».
📋 Plan
Shift+Tab в поле агента. Сначала вопросы и план в markdown, потом ты жмёшь «строить». Для фичи на несколько файлов. Для опечатки в одной строке — избыточно, бери обычный Agent.
Ещё две кнопки, которые путают
Inline / Cmd+K (Ctrl+K) — выделить кусок и сказать «перепиши вот это». Узкий удар, не весь проект.
Debug mode — когда уже падает: логи, воспроизведение, гипотеза. Не вместо постановки задачи, а когда ошибка есть и ты её видишь.
Как писать задачу агенту
Плохо
«Напиши автотесты на весь проект»
«Поправь автотест»
«Почини» — и тишина
Нормально
«Тест логина: неверный пароль, вот локатор, вот что считать ошибкой»
«Добавь чек-лист на промокод в @requirements.md»
«Падает login.spec.ts, вот лог. Не трогай другие тесты»
Что происходит после Send
Практика на наших тестах
Четыре захода. Не «сделай сайт». Логин и профиль PomidorQA — то, что уже гоняете на курсе.
pomidorqa-course-tests) или папку с учебными спеками. Нужен файл вроде login-error.spec.ts / profile-flow.spec.ts и живой стенд http://localhost:3000. Нет своего репо — клонируй учебный и открой папку целиком.
Разбери чужой тест, ничего не ломай
Режим Ask. В поле нажми @ и выбери файл с негативным логином — у нас это login-error.spec.ts.
login-error.spec.ts, booking-flow.spec.ts, register.locators.ts.Вставь как есть:
Готово, если ответил своими словами: одна ошибка, без уточнения «что именно неверно», из соображений безопасности. Если начал предлагать рефакторинг — режим не Ask или промпт съехал.
Допиши проверку профиля
Режим Agent. Новый чат. Кинь @profile-flow.spec.ts (или тот файл, куда сдаёшь ДЗ на профиль).
Когда агент закончит: не Keep на всё подряд. Открой дифф. Смотри только новый тест. Есть ли not. Не переписал ли он beforeEach «для красоты».
M. В центре красное/зелёное, внизу блока Undo / Keep, здесь 4 of 20. Справа промпт «Поправь автотест» — и агент меняет getByTestId на выдуманный locator("#…"). Такой дифф не Keep. Undo или новый промпт с локатором из файла.Сначала план, потом код
В поле агента Shift+Tab — режим Plan. Задача как на уроке 9, но без «напиши всё сразу».
План ок, если назвал конкретные поля и не тащит корзину и оплату. Потом «строй». Снова читай дифф по одному файлу.
Агент накосячил — не чини десять файлов руками
Если после практики 2 или 3 в диффе каша: переписан стиль, выдуманы локаторы, тронуты чужие тесты — в таймлайне чата Restore Checkpoint на шаг до правки.
Потом новый промпт, короче:
Это и есть работа, не «я пользуюсь ИИ». На собесе спросят, почему проверяешь пустое имя, а не кто нажал Tab.
npx playwright test --project=e2e tests/e2e/profile-flow.spec.ts из папки с тестами. Команда без rm и без git push — можно Run. Красный лог, который понял, — обратно агенту. Который не понял — в Ask: «объясни эту ошибку, не правь файлы».
Практика 5 — потом, не сегодня
Когда Ask и Agent уже не пугают. Браузер в чате — не замена спеке в репо.
Посмотри живой логин глазами агента
Стенд поднят. В Agent, если уже стоит Playwright MCP:
Это разведка. Тест потом пишешь в .spec.ts сам или агентом, как в практике 2. Не путай «агент покликал» и «в репозитории есть проверяемый тест».
Модели: какую жать
В Cursor модель можно менять на задачу. Дорогая — на архитектуру и новый кусок. Дешёвая — на переименование и мелкий фикс.
Сильная
Opus / флагман
Новая фича, запутанный баг, рефакторинг на пачку файлов. Дороже. Не гоняй её на «поправь опечатку».
Рабочая
Sonnet / аналог
Обычный день: тест, правка формы, конспект, мелкий агент. С этого и живи, пока не упрёшься.
Быстрая
Haiku / flash
Переименовать, набросать список, объяснить одну функцию. Экономит лимит.
Rules — характер
Файл в .cursor/rules/ или блок в Settings → Rules. Всегда в контексте, даже в новом чате. Отвечает на вопрос: как мы тут себя ведём.
Что писать в правиле
Не роман. Короткие табу и привычки:
- на каком языке отвечать
- не коммитить и не пушить без явного «да»
- не ходить на прод руками, только через git
- не выдумывать API, которого нет в репо
- стек проекта: Next.js, Playwright, вот папки
*.spec.ts) или на весь проект (alwaysApply). Стек и «кто мы» лучше отдельным файлом — иначе агент чинит абстрактный туториал из интернета, а не твой репозиторий.
Готовые файлы — клади в .cursor/rules/:
Skills — ритуал на одну работу
Skill - как делать вот эту повторяющуюся задачу. Новичок спокойно живёт без них первую неделю. На третий повтор одними словами — выноси.
Какие скиллы имеет смысл сделать QA
Баг-репорт
bug-report
Триггер: «заведи баг», «опиши дефект». Шаги, факт, ожидание, окружение. Приоритет — только если назвали.
Скачать SKILL.mdТест-кейс
test-case
Триггер: «напиши кейс на логин». Предусловие, шаги, ожидаемый результат. Без воды «проверить что всё работает».
Скачать SKILL.mdЧек-лист по требованиям
checklist
Триггер: «чек-лист по вот этому ТЗ». Пункты проверяемые, не абстрактные. Один пункт = одно наблюдение.
Скачать SKILL.mdКак сделать свой скилл за вечер
.cursor/skills/имя-скилла/SKILL.md. Во всех репах: ~/.cursor/skills/.name латиницей через дефис и description. В description обязательно что делает и когда включать — по этим словам агент его находит.Команды — свой слэш на повтор
Надоело каждый раз писать «проверь спеку как наставник». Вынеси в файл. В чате потом /review-spec, не простыня.
.cursor/commands/review-spec.md. Имя файла = то, что наберёшь после /./review-spec. Если команда не всплыла — файл не в .cursor/commands/ или Cursor не подхватил, перезапусти окно.Hooks — турникет
Rule говорит: «пожалуйста, не пушь». Агент может забыть. Hook не просит — перехватывает событие. На старте не обязателен. Нужен, когда ошибка стоит денег или продакшена.
| Rule | Skill | Hook | |
|---|---|---|---|
| Вопрос | Как мы себя ведём всегда | Как делать вот эту работу | Что нельзя проскочить |
| Живёт | .cursor/rules |
.cursor/skills/…/SKILL.md |
.cursor/hooks.json |
| Если агент забыл | Надеемся | Не вызовет ритуал | Событие перехватят |
Когда хук уже имеет смысл
- Перед shell — не пустить
git push/sshна прод без явного ок - После правки файла — прогнать форматтер
- Перед промптом — не отправить секреты из
.env
Скачать и положить в проект
Готовый пакет: 4 правила, 3 скилла, команда /review-spec, учебный хук, mcp.json с Playwright и DevTools. Распаковал — папку .cursor в корень. Подставь стек в project-context.mdc.
Весь пакет одним архивом
Внутри README, куда что класть. Хук и MCP на старте не обязательны — можно взять только rules и skills.
Скачать cursor-starter.zip.cursor в корень своего учебного проекта. Не в src, не в домашний каталог «на всякий» — в тот репозиторий, который откроешь в Cursor.description в SKILL.md.chmod +x .cursor/hooks/block-push.sh. Режет git push и ssh. На первой неделе можно не класть.@файл — точечный контекст
Чем уже скормил — тем меньше агент выдумывает соседние модули. Как выглядит список после @ — кадр в практике 1. Браузер и трекер через MCP — следующий шаг, не вместо @.
@файл / @папка
Кидай spec, страницу, ТЗ. Не «вот весь репозиторий, разберись». Документацию и прошлые чаты тоже можно через @.
Когда мало @
Нужно кликнуть по живой странице, снять Network, открыть тикет, сверить макет. Это уже MCP — отдельный сервер с инструментами. Список для QA — ниже.
MCP для тестировщика
MCP — розетка: агент получает чужие руки (браузер, DevTools, GitHub). Не ставь десять серверов «на всякий». Два рабочих: Playwright и Chrome DevTools. Остальное — если этим уже живёшь каждый день.
.cursor/mcp.json в проекте (на все проекты — ~/.cursor/mcp.json). Документация Cursor: cursor.com/docs/context/mcp.
Сначала эти два
Playwright MCP
Microsoft · гонять браузер
Клики, формы, снапшот accessibility-дерева, генерация локатора. Агент водит страницу, не угадывает по скрину. Нужен Node.js, ставится через npx — ничего качать руками.
Не путай с тестами в репо. MCP — живой браузер в чате. Спеки пишешь отдельно.
Chrome DevTools MCP
Google · отладка
Network, Console, перф, Lighthouse. Агент смотрит, почему тормозит или почему 500, а не кликает как пользователь. Только Chrome / Chrome for Testing. Firefox и Safari тут нет.
Playwright водит. DevTools копает. На одну и ту же вкладку оба сразу — путаница, бери по задаче.
Положи как .cursor/mcp.json в корень проекта. Первый запуск npx скачает пакет — нужна сеть.
Дальше — по работе, не «коллекция»
| MCP | Зачем тестировщику | Куда |
|---|---|---|
| GitHub официальный |
Issue, PR, логи Actions, поиск по коду. Разбор падающего CI без копипаста из вкладки. |
github-mcp-server Хост: api.githubcopilot.com/mcp · нужен PAT |
| Context7 доки |
Актуальная документация Playwright / фреймворка. Меньше выдуманных API вроде «так было в 2022». |
context7.com ·
GitHub npx @upstash/context7-mcp или https://mcp.context7.com/mcp |
| Figma макет |
Сверить UI с макетом: отступы, токены, компоненты. Не «на глаз по скрину». |
Доки Figma Рекомендуют remote: https://mcp.figma.com/mcp |
| Sentry прод |
Живой баг с прода: стек, релиз, сколько раз упало. От него уже писать репро и тест. | mcp.sentry.dev · GitHub |
| Atlassian / Jira тикеты |
Достать тикет, критерии приёмки, связать с багом. Отдельного «только Jira» официально нет — один сервер на Jira + Confluence. |
atlassian-mcp-server https://mcp.atlassian.com/v1/mcp/authv2 |
mcp.json с секретом. Для GitHub лучше read-only токен, если агенту не надо открывать PR за тебя.
Как не сойти с ума
- Неделя 1: без MCP. Агент + @файл + один скилл
- Неделя 2: Playwright MCP — «открой логин, заполни неверный пароль, скажи что на экране»
- Когда ловишь 4xx/тормоза — Chrome DevTools MCP
- GitHub / Jira / Figma / Sentry — только если это уже твой стек, не «потому что в гайде написано»
Как пользоваться, если ты из QA
Не надо сначала «выучить программирование». Надо научиться ставить задачу и читать результат. Автотесты агент пишет спокойно.
Что можно поручить агенту уже на этой неделе
Ручная работа
Чек-лист по куску ТЗ. Баг-репорт по скрину и шагам. Сравнить два требования и найти дыру. Набросать вопросы к аналитику.
Автотесты
Один сценарий: логин / пустая корзина / неверный промокод. Ты даёшь локатор и ожидаемый результат. Он пишет Playwright. Ты смотришь, что именно проверяется.
Телефон: агент с дивана
Это не редактор в кармане. С телефона ставишь задачу, смотришь, как агент работает, ревьюишь дифф и мержишь PR. Код пишется в облаке или на твоём компе, который остался включённым.
iPhone / iPad
Приложение Cursor в App Store. Нужны iOS 26 / iPadOS 26 или новее. Интерфейс пока только на английском. В материковом Китае в сторе нет.
Android
Нативного приложения нет. Открой в Chrome cursor.com/agents и поставь как PWA: меню → «Установить приложение». Тот же бэкенд, что у iOS и десктопа.
Как настроить
.cursor/rules, skills), агент на мобиле подхватывает так же. Настраивать их — на десктопе или на сайте. С телефона только выбираешь MCP на конкретный запуск.Два режима: облако и свой комп
Cloud Agent
Крутится на машине Cursor. Комп можно закрыть. Долго стартует: поднимает окружение, ставит зависимости — так и задумано, не баг телефона. Удобно: «посмотри падающий CI», «набросай правку, я вечером ревьюну».
Remote Control
Агент уже пашет на твоём десктопе — дальше рулишь с телефона. Нужен Cursor 3.9.8+, окно Agents (не старая боковая панель). Settings → Agents → включить Remote Control. В чате агента: /remote-control и следующее сообщение. Комп не должен уснуть: инструменты бегут на нём. В Settings → Agents есть «Keep this computer awake».
Частые ошибки
То, на чём спотыкаются даже после месяца в редакторе.
- «Напиши автотесты на весь проект» без сценария и локатора
- Принимать весь дифф, не читая — и не знать, где Restore Checkpoint
- Кормить секретами, продом и чужими персональными данными
- Купить Ultra и так и не открыть Agent
- Один скилл «будь сеньором» вместо ритуала на одну работу
- Путать Rule (характер), Skill (ритуал) и Hook (турникет)
- Ждать, что Cursor выберет, кем тебе работать
- Открыть один файл вместо папки проекта — агент слепой
Чек-лист на вечер
Не десять вкладок с туториалами. Сначала экран и одна практика.
Сегодня
- Скачать Cursor, открыть папку учебного репозитория, не один файл
- Найти панель агента, переключатель режима, кнопку @
- Auto-run выключить
- Практика 1: Ask на
login-error.spec.ts - Практика 2: один негатив в профиле, дифф прочитать руками
Эта неделя
- Практика 3: Plan на три теста профиля, код только после «строй»
- Хотя бы раз Restore Checkpoint, чтобы знать где кнопка
- Скачать пакет правил и скиллов, дописать стек в project-context
- Положить
/review-specв.cursor/commands/, прогнать на своей спеке
Потом, не сегодня
- Hooks — когда правило уже есть, но агент его обходит
- MCP: сначала Playwright, потом DevTools. GitHub/Jira — если уже ими живёшь
- Дорогая модель — на запутанный кусок, не по умолчанию на всё
- Телефон — когда уже умеешь ставить задачу с ноута. Сначала GitHub на cursor.com, потом приложение