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

Playwright多项目配置:CI中按标签执行指定测试用例

问题1:配置Carlino-Portugal项目自动筛选@portugal标签用例

直接在playwright.config.ts的Carlino-Portugal项目配置块中添加grep属性,指定匹配@portugal标签即可。这样每次运行该项目时,Playwright会自动过滤出带此标签的用例,无需额外传入--grep参数。

示例配置代码:

import { defineConfig, devices } from '@playwright/test';

export default defineConfig({
  projects: [
    // 其他项目配置...
    {
      name: 'Carlino-Portugal',
      use: { ...devices['Desktop Chrome'] },
      // 添加grep规则匹配标签
      grep: /@portugal/,
    },
  ],
});

执行npx playwright test --project='Carlino-Portugal'时,就只会运行带@portugal标签的用例。如果需要排除特定标签,可搭配grepInvert属性,比如grepInvert: /@skip-portugal/。

问题2:其他可行实现策略
  • 命令行组合参数:无需修改配置,直接在GitHub Workflow的运行命令中同时指定项目和标签。比如:

    npx playwright test --project='Carlino-Portugal' --grep=@portugal
    

    适合临时调整需求,不用改动配置文件。

  • 按目录划分用例:将带@portugal标签的用例统一放到单独文件夹(如tests/portugal/),然后给项目配置testMatch指向该目录。示例:

    {
      name: 'Carlino-Portugal',
      use: { ...devices['Desktop Chrome'] },
      testMatch: 'tests/portugal/**/*.spec.ts',
    }
    

    适合用例本身按地域/业务线天然划分的场景,管理更直观。

  • 自定义测试套件匹配:在测试文件中用test.describe创建专属套件,通过grep匹配套件名实现筛选。比如测试文件中:

    test.describe('Portugal专属测试集', () => {
      test('@portugal 葡萄牙支付流程验证', async ({ page }) => {
        // 测试逻辑
      });
    });
    

    配置中可将grep设为/Portugal专属测试集/,和标签配合使用灵活性更高。

  • 环境变量动态控制:通过环境变量动态设置grep规则,方便在Workflow中根据参数切换标签。配置示例:

    {
      name: 'Carlino-Portugal',
      use: { ...devices['Desktop Chrome'] },
      grep: process.env.TEST_TAG ? new RegExp(process.env.TEST_TAG) : /@portugal/,
    }
    

    Workflow中运行命令:

    TEST_TAG=@portugal npx playwright test --project='Carlino-Portugal'
    

    适合需要动态切换不同标签的场景。

内容的提问来源于stack exchange,提问作者Juan Nicolas Osses

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 22:07:39