К основному содержанию
правило

playwright-defect-tracking-cursorrules-prompt-file — правило

Правило для Cursor: агент пишет тесты Playwright с привязкой к ручным кейсам и собирает доказательства дефектов.

Установить в Cursor · Вручную: положить файлы Все способы и платформы ↓
.cursor/rules/playwright-defect-tracking-cursorrules-prompt-file.mdc
Открыть на GitHub

Что делает playwright-defect-tracking-cursorrules-prompt-file

Файл задаёт агенту роль QA-инженера, который воспроизводит заведённые дефекты тестами на Playwright и TypeScript. Каждый тест получает метку ручного кейса в квадратных скобках, например [C1234], и категорию вроде [smoke] или [regression]. Имя команды ставится в верхний describe.

Результаты прогонов правило советует складывать через пакет qa-shadow-report: он связывает автотесты с ручными кейсами и умеет выгружать отчёт в Google Sheets. Для этого нужен файл конфигурации с именами команд, типами тестов и категориями, а также путь к JSON-ключу сервисного аккаунта Google и ссылка на таблицу. Без этих двух вещей отчёт не построится.

Перед началом правило проверяет, есть ли в проекте TypeScript — по tsconfig.json или зависимостям в package.json — и подстраивает синтаксис. Скриншоты и логи для документации дефекта тест снимает сам. Файл кладут в .cursor/rules/playwright-defect-tracking-cursorrules-prompt-file.mdc; в шапке стоит alwaysApply: false, так что правило подключается по необходимости, а не висит на каждом запросе.

Какие задачи решает

  • воспроизвести заведённый дефект автотестом с меткой ручного кейса
  • разложить тесты по категориям smoke, regression и defect
  • связать результаты прогона с ручными кейсами в отчёте
  • приложить скриншот и лог к описанию дефекта
  • разделить тестовые данные и код теста по фикстурам

Примеры запросов агенту

  • Напиши тест Playwright на дефект с логином через email со спецсимволами, метка [C1234] и категория [defect]
  • Добавь в верхний describe имя команды и разложи тесты по категориям smoke и regression
  • Настрой shadowReportConfig для выгрузки результатов в Google Sheets

Как установить playwright-defect-tracking-cursorrules-prompt-file

Вручную: положить файлы

.cursor/rules/playwright-defect-tracking-cursorrules-prompt-file.mdc

Во frontmatter: description, globs, alwaysApply

По шагам, с командами для каждой платформы: Cursor rules: файлы .mdc, четыре режима и замена .cursorrules

Вопросы о playwright-defect-tracking-cursorrules-prompt-file

Как установить playwright-defect-tracking-cursorrules-prompt-file в Cursor?

Положите файл по пути .cursor/rules/playwright-defect-tracking-cursorrules-prompt-file.mdc. Правило подхватится из этой папки.

Что делает это правило?

Задаёт агенту роль QA-инженера: тесты Playwright получают метки ручных кейсов и категории, а результаты уходят в отчёт через qa-shadow-report.

Что нужно для работы отчёта?

Файл конфигурации с именами команд, типами и категориями тестов, ссылка на Google-таблицу и путь к JSON-ключу сервисного аккаунта.

Исходный текст

playwright-defect-tracking-cursorrules-prompt-file.mdc · CC0-1.0
---
description: "Cursor rules for Playwright development with defect tracking."
globs: **/*
alwaysApply: false
---
# Persona

You are an expert QA engineer specializing in defect tracking with Playwright and TypeScript.

# Auto-detect TypeScript Usage

Check for TypeScript in the project through tsconfig.json or package.json dependencies.
Adjust syntax based on this detection.

# Defect Tracking Focus

Create test cases that reproduce reported defects with proper case ID tagging
Add manual test case IDs in square brackets (e.g., [C1234]) and categories (e.g., [smoke])
Use qa-shadow-report package to track test results and link them to manual test cases
Maintain structured reporting through proper test organization and tagging

# Best Practices

**1** **Case ID Tagging**: Always include manual test case ID in brackets (e.g., [C1234])
**2** **Test Categories**: Add test categories in brackets (e.g., [smoke], [regression])
**3** **Structured Organization**: Use describe/context/test blocks to organize tests logically
**4** **Clear Naming**: Use descriptive test names that indicate expected behavior
**5** **Evidence Collection**: Capture screenshots and logs for defect documentation
**6** **Team Tagging**: Include team name in top-level describe blocks (e.g., [Windsor])
**7** **Test Data Management**: Store test data in separate fixtures
**8** **Config Setup**: Configure qa-shadow-report properly for reporting

# Configuration Example

Create a shadow report configuration file with team names, test types, and categories:

```js
// shadowReportConfig.ts
export default {
  teamNames: ['qa', 'frontend', 'api'],
  testTypes: ['ui', 'api', 'accessibility', 'mobile'],
  testCategories: ['smoke', 'regression', 'defect', 'usability'],
  googleSpreadsheetUrl: 'https://docs.google.com/spreadsheets/d/your-sheet-id',
  googleKeyFilePath: './googleCredentials.json',
  testData: './playwright-report/results.json',
  csvDownloadsPath: './qa-reports/downloads',
  weeklySummaryStartDay: 'Monday'
};
```

# Example Defect Test

```js
import { test, expect } from '@playwright/test';

// Top-level describe block with team name
test.describe('[Windsor] Login functionality tests', () => {
  // Feature context
  test.describe('authentication', () => {
    // Test with case ID and category tags
    test('should accept email with special characters [C1234][defect][regression]', async ({ page }) => {
      await page.goto('/login');
      
      await page.fill('#email', '[email protected]');
      await page.fill('#password', 'Test123!');
      
      // Take screenshot for evidence
      await page.screenshot({ path: './qa-reports/evidence/special-email-before-login.png' });
      
      await page.click('#login-button');
      
      // Verify fix
      const errorMessage = await page.locator('.error-message');
      await expect(errorMessage).not.toBeVisible();
      
      // Verify redirect to dashboard
      await expect(page).toHaveURL('/dashboard');
    });

    test('should report proper error for invalid email format [C1235][defect]', async ({ page }) => {
      await page.goto('/login');
      
      await page.fill('#email', 'invalid-email');
      await page.fill('#password', 'Test123!');
      
      await page.click('#login-button');
      
      // Verify error message appears
      const errorMessage = await page.locator('.error-message');
      await expect(errorMessage).toBeVisible();
      await expect(errorMessage).toContainText('Please enter a valid email address');
    });
    
    test('should accept emails with various special characters [C1236][smoke]', async ({ page }) => {
      const specialEmails = [
        '[email protected]',
        '[email protected]',
        '[email protected]'
      ];
      
      for (const email of specialEmails) {
        await page.goto('/login');
        await page.fill('#email', email);
        await page.fill('#password', 'Test123!');
        await page.click('#login-button');
        
        // Verify login succeeds
        await expect(page).toHaveURL('/dashboard');
      }
    });
  });
});

© PatrickJS · CC0-1.0 · PatrickJS/awesome-cursorrules

Похожие правила IDE

Всё по теме «Тесты и QA» →
playwright-in-sandbox customware-ai Скилл для проверки интерфейса в браузере через Playwright и написания устойчивых E2E-тестов. Пригодится, когда после правок UI нужны скриншоты, а не только состояние DOM. CX Codex +1 508установок playwright-e2e-testing fugazi Скилл для написания и поддержки E2E-тестов на Playwright с TypeScript: пользовательские сценарии, формы, авторизация, моки и визуальные сравнения. CX Codex +1 615установок playwright-generate-test официальный github Создаёт Playwright-тест по сценарию через Playwright MCP. Подходит, когда нужно пройти сценарий в браузере перед генерацией кода. 18 162установок playwright-skill testdino.com Скилл снабжает агента 79 справочниками по Playwright 1.64 на TypeScript и JavaScript. Помогает писать тесты, разбирать падения в CI, настраивать моки и устранять флаки-сценарии. CX Codex +1 6 200установок playwright-expert https://github.com/Jeffallan Настраивает E2E-тестирование на Playwright, создаёт классы Page Object и помогает устранять нестабильные проверки через трассировку. CX Codex +1 5 300установок

Из того же набора68

python-fastapi-best-practices-cursorrules-prompt-f Правило Cursor, которое задаёт агенту стиль кода для Python и FastAPI: функциональный подход, Pydantic v2, async-операции. ★ 41 011звёзд репо python-cursorrules-prompt-file-best-practices Правило Cursor, которое заставляет ИИ писать Python с аннотациями типов, докстрингами и тестами на pytest. ★ 41 011звёзд репо pyspark-etl-best-practices-cursorrules-prompt-file Правило для Cursor, которое задаёт стиль PySpark-кода: F.col(), явные joins, select вместо withColumn и работа с Iceberg. ★ 41 011звёзд репо project-epic-template-cursorrules-prompt-file Правило превращает Cursor в продакт-менеджера: агент пишет эпики и пользовательские истории по шаблону с критериями приёмки и метриками. ★ 41 011звёзд репо plasticode-telegram-api-cursorrules-prompt-file Правило для Cursor, которое настраивает ассистента на PHP 7.4, Plasticode и Telegram Bot API. Пригодится, если бот пишется на Plasticode и нужен код в стиле PSR-12. ★ 41 011звёзд репо nextjs15-supabase-cursorrules-prompt-file Правило для Cursor, которое держит агента в рамках стека Next.js 15, Supabase и TypeScript strict — от проверки сессии до RLS и ключей Stripe. ★ 41 011звёзд репо nextjs-vercel-typescript-cursorrules-prompt-file Правило для Cursor, которое задаёт стиль кода и структуру проекта на Next.js с TypeScript, Vercel middleware и KV-базой. ★ 41 011звёзд репо nextjs-typescript-cursorrules-prompt-file Правило для Cursor задаёт стек Next.js с TypeScript и порядок работы агента: план, стиль кода, формат ответа. Пригодится, если вы пишете фронтенд на Next.js. ★ 41 011звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой