You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Playwright中如何像Protractor一样用测试套件运行指定测试用例?

Playwright 中类似 Protractor 测试套件的实现方式

在Protractor中存在测试套件(suites)的概念,配置示例如下:

"test01": {
  "suites": ["smoke"],
  "user": "abc"
},
"test02": {
  "suites": ["critical"],
  "user": "def"
}

Playwright 的替代实现方案

Playwright 没有和 Protractor 完全一致的suites配置概念,但可以通过测试标签实现近乎相同的测试分组/套件功能,轻松筛选运行特定标记的测试用例。

1. 给测试用例打critical标签

在测试代码中,你可以给单个测试或整个测试组打上@critical标签:

// 给整个测试组统一打标签
test.describe('核心功能测试集', { tag: '@critical' }, () => {
  test('支付流程验证', async ({ page }) => {
    // 测试逻辑
  });

  test('用户登录验证', async ({ page }) => {
    // 测试逻辑
  });
});

// 给单个测试用例打标签
test('数据提交关键校验', { tag: '@critical' }, async ({ page }) => {
  // 测试逻辑
});

2. 运行所有critical标记的测试

使用Playwright CLI的--grep参数,筛选带有@critical标签的测试:

# 仅运行标记为@critical的测试
npx playwright test --grep @critical

# 若要排除其他标签(比如排除smoke测试),可以用--grep-invert
npx playwright test --grep-invert @smoke

3. 进阶:配置文件预设测试分组

如果想像Protractor那样在配置文件中预设固定分组,可以在playwright.config.js里通过projects配置实现:

// playwright.config.js
module.exports = {
  projects: [
    {
      name: 'critical-suite',
      grep: /@critical/,
    },
    {
      name: 'smoke-suite',
      grep: /@smoke/,
    },
  ],
};

之后直接通过项目名称运行对应分组:

npx playwright test --project critical-suite

内容的提问来源于stack exchange,提问作者Sekhar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 11:01:07