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

playwright-api-testing-cursorrules-prompt-file — правило для Cursor

Настраивает Cursor для генерации API-тестов на Playwright с плагином pw-api-plugin. Помогает проверять статус-коды и валидировать схемы данных с Zod.

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

Что делает playwright-api-testing-cursorrules-prompt-file

Правило инструктирует ассистента в Cursor писать изолированные тесты API для веб-приложений. Перед началом работы агент проверяет наличие tsconfig.json или расширений .ts, выбирая синтаксис TypeScript или JavaScript.

Тестирование строится вокруг пакета pw-api-plugin. Тесты группируются по отдельным эндпоинтам через блоки test.describe. Ассистент проверяет коды ответов и валидирует структуру данных через схемы zod, включая негативные сценарии со статусом 401.

Без установленного пакета pw-api-plugin в зависимостях проекта сгенерированные тесты запускаться не будут. В конфигурацию playwright.config.ts также потребуется добавить плагин через вызов apiConfig().

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

  • написать интеграционные тесты для API на Playwright
  • проверить схему ответа эндпоинта с помощью библиотеки Zod
  • покрыть тестами сценарии ошибок со статусом 401
  • сгруппировать запросы к эндпоинтам внутри блоков test.describe

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

  • Напиши API-тест для эндпоинта /api/users с валидацией ответа через Zod
  • Добавь негативный тест на статус 401 при неверном заголовке Authorization
  • Сгенерируй тестовый набор для GET /api/users с использованием pw-api-plugin

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

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

.cursor/rules/playwright-api-testing-cursorrules-prompt-file.mdc

Во frontmatter: description, globs, alwaysApply

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

Вопросы о playwright-api-testing-cursorrules-prompt-file

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

Создайте файл .cursor/rules/playwright-api-testing-cursorrules-prompt-file.mdc в корне проекта и добавьте в него содержимое правила.

Что делает playwright-api-testing-cursorrules-prompt-file?

Правило указывает ИИ-ассистенту генерировать API-тесты на Playwright с использованием библиотеки pw-api-plugin. Оно заставляет модель определять TypeScript, изолировать состояние тестов и валидировать тело ответов.

Какие пакеты нужны для запуска тестов?

Нужно установить pw-api-plugin командой npm install pw-api-plugin --save-dev и добавить apiConfig() в playwright.config.ts. Для проверки структуры данных дополнительно используется zod.

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

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

You are an expert QA engineer with deep knowledge of Playwright and TypeScript, tasked with creating API tests for web applications.

# Auto-detect TypeScript Usage

Before creating tests, check if the project uses TypeScript by looking for:
- tsconfig.json file or .ts file extensions
- Adjust file extensions (.ts/.js) and syntax accordingly

# API Testing Focus

Use the pw-api-plugin package (https://github.com/sclavijosuero/pw-api-plugin) to make and validate API requests
Focus on testing critical API endpoints, ensuring correct status codes, response data, and schema compliance
Create isolated, deterministic tests that don't rely on existing server state

# Best Practices

**1** **Descriptive Names**: Use test names that clearly describe the API functionality being tested
**2** **Request Organization**: Group API tests by endpoint using test.describe blocks
**3** **Response Validation**: Validate both status codes and response body content
**4** **Error Handling**: Test both successful scenarios and error conditions
**5** **Schema Validation**: Validate response structure against expected schemas

# PW-API-Plugin Setup
```bash
npm install pw-api-plugin --save-dev
```

Configure in your Playwright config:
```ts
// playwright.config.ts
import { defineConfig } from '@playwright/test';
import { apiConfig } from 'pw-api-plugin';

export default defineConfig({
  use: { baseURL: 'https://api.example.com' },
  plugins: [apiConfig()]
});
```

# Example API Test
```js
import { test, expect } from '@playwright/test';
import { api } from 'pw-api-plugin';
import { z } from 'zod';

// Define schema using Zod (optional)
const userSchema = z.object({
  id: z.number(),
  name: z.string(),
  email: z.string().email(),
  role: z.string()
});

test.describe('Users API', () => {
  test('should return user list with valid response', async () => {
    const response = await api.get('/api/users');
    
    expect(response.status()).toBe(200);
    const data = await response.json();
    expect(data).toBeInstanceOf(Array);
    expect(data[0]).toHaveProperty('id');
    expect(data[0]).toHaveProperty('name');
  });

  test('should return 401 for unauthorized access', async () => {
    const response = await api.get('/api/users', {
      headers: { Authorization: 'invalid-token' },
      failOnStatusCode: false,
    });
    
    expect(response.status()).toBe(401);
    const data = await response.json();
    expect(data).toHaveProperty('error', 'Unauthorized');
  });

  test('should create a new user with valid data', async () => {
    const newUser = { name: 'Test User', email: '[email protected]' };
    
    const response = await api.post('/api/users', { data: newUser });
    
    expect(response.status()).toBe(201);
    const data = await response.json();
    
    // Optional schema validation
    const result = userSchema.safeParse(data);
    expect(result.success).toBeTruthy();
  });
});
```

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

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

Все правила IDE по теме «Тесты и QA» →
spec-driven-workflow-v1 официальный github Правило ведёт разработку от формулировки требований к проектированию, реализации и проверке. Пригодится, когда нужно фиксировать решения и ход работы в отдельных файлах. ★ 40 451звёзд репо quarkus официальный github Задаёт стандарты разработки на Quarkus для GitHub Copilot при работе с Java и сборщиками. Направляет генерацию сервисов, конфигураций и тестов. ★ 40 451звёзд репо qa-engineering-best-practices официальный github Правило для GitHub Copilot с набором инструкций по тестированию: пирамида тестов, именование, ассерты, баг-репорты. Пригодится, когда Copilot пишет тесты в вашем проекте. ★ 40 451звёзд репо powershell-pester-6 официальный github Задаёт стандарты написания тестов на Pester v6 для PowerShell. Помогает генерировать надёжные спецификации в файлах *.Tests.ps1 без устаревших конструкций v5. ★ 40 451звёзд репо power-platform-mcp-development официальный github Правило задаёт требования к кастомным коннекторам Power Platform с MCP для Microsoft Copilot Studio. Оно пригодится при проектировании схем, авторизации и тестов. ★ 40 451звёзд репо playwright-typescript официальный github Правило задаёт Copilot стиль написания тестов Playwright: ролевые локаторы, автоожидание, единая структура файлов. Пригодится, если тесты пишет агент, а не человек. ★ 40 451звёзд репо

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

postgresql Правило для Cursor, которое задаёт агенту стиль работы с PostgreSQL: параметризованные запросы, TIMESTAMPTZ, индексы по внешним ключам. Пригодится, когда агент пишет SQL и миграции в вашем проекте. ★ 41 024звёзд репо playwright-integration-testing-cursorrules-prompt-file Настраивает Cursor на создание интеграционных тестов Playwright с моками через page.route. Помогает проверять сквозные сценарии и реакцию интерфейса на ответы API. ★ 41 024звёзд репо playwright-e2e-testing-cursorrules-prompt-file Правило превращает Cursor в QA-инженера: по описанию фичи он пишет файл тестов Playwright на 3–5 сценариев. Пригодится, когда нужны E2E-проверки ключевых потоков. ★ 41 024звёзд репо playwright-defect-tracking-cursorrules-prompt-file Правило для Cursor: агент пишет тесты Playwright с привязкой к ручным кейсам и собирает доказательства дефектов. ★ 41 024звёзд репо playwright-accessibility-testing-cursorrules-prompt-file Правило направляет Cursor при создании Playwright-тестов доступности. Оно пригодится для проверки пользовательских сценариев по WCAG 2.1 AA. ★ 41 024звёзд репо plasticode-telegram-api-cursorrules-prompt-file Правило для Cursor, которое настраивает ассистента на PHP 7.4, Plasticode и Telegram Bot API. Пригодится, если бот пишется на Plasticode и нужен код в стиле PSR-12. ★ 41 024звёзд репо pandas-scikit-learn-guide-cursorrules-prompt-file Настраивает Cursor для анализа данных на Python. Требует векторизацию в pandas, проверку пропусков, оформление графиков и соблюдение структуры блокнотов. ★ 41 024звёзд репо optimize-rell-blockchain-code-cursorrules-prompt-f Правило задаёт Cursor стиль работы с кодом Rell для блокчейн-приложений Chromia: сначала план, затем подтверждение и реализация. ★ 41 024звёзд репо

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

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