在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
相关产品推荐
相关产品推荐

