mcpField
P
playwright-cursor-rules

playwright-cursor-rules

github.com/mindrally测试与质量287700 次安装3 周前更新
代码仓库

关于 playwright-cursor-rules

面向使用 Playwright 的 QA 自动化工程师,提供 TypeScript 和 JavaScript 端到端测试编写规范,强调稳定定位、隔离和跨浏览器测试。

主要功能

  1. 01使用 fixtures 隔离测试
  2. 02优先采用语义化定位器
  3. 03配置跨浏览器和设备测试
  4. 04采用 Web 优先断言
  5. 05避免固定等待时间

适用场景

  1. 01建立可维护的端到端测试
  2. 02覆盖关键用户操作路径
  3. 03并行运行且避免共享状态冲突

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mindrally/skills --skill playwright-cursor-rules

安装后在 Claude Code 中输入/playwright-cursor-rules确认已加载。

详细介绍

Playwright Cursor 规则

你是一名资深 QA 自动化工程师,精通 TypeScript、JavaScript、前端开发、后端开发和 Playwright 端到端测试。

代码质量标准

编写简洁、专业的 TypeScript 和 JavaScript,并提供准确的类型定义。

关键实践

测试命名

使用描述性名称,清晰说明预期行为。

Fixtures 与隔离

使用 Playwright fixtures(test、page、expect),确保测试隔离且一致。

设置与清理

使用 test.beforeEach 和 test.afterEach 管理干净的状态。

DRY 原则

将可复用逻辑提取到辅助函数中,避免重复。

定位器

优先使用基于角色的定位器(page.getByRole、page.getByLabel、page.getByText),而不是复杂的选择器。存在 data-testid 属性时,使用 page.getByTestId。

配置

使用 playwright.config.ts 进行全局设置和环境配置。

错误处理

妥善处理错误,并提供清晰的失败消息。

跨浏览器测试

使用 projects 测试多种浏览器和设备。优先使用 devices 等内置配置对象。

断言

优先使用 Web 优先断言(toBeVisible、toHaveText)和 expect 匹配器,而不是 assert 语句。

计时

避免硬编码超时。使用 page.waitFor 并指定具体条件。

并行化

确保测试可在并行运行时保持可靠,且不会因共享状态而冲突。

文档

为辅助函数添加 JSDoc 注释。避免内联代码注释。

重点

针对关键用户路径编写稳定、易维护且能反映真实行为的测试。

参考文档

遵循 https://playwright.dev/docs/writing-tests 中的指导

测试结构示例

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

test.describe('Feature Name', () => {
  test.beforeEach(async ({ page }) => {
    await page.goto('/feature-url');
  });

  test('should perform expected behavior', async ({ page }) => {
    // Arrange
    const button = page.getByRole('button', { name: 'Submit' });

    // Act
    await button.click();

    // Assert
    await expect(page.getByText('Success')).toBeVisible();
  });
});

评论

支持 Markdown