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

Playwright能否同时并行运行部分用例、串行运行部分用例?

Playwright 实现部分测试串行、部分并行的配置方案

Playwright完全支持你描述的场景——让修改后端配置的冲突测试串行执行,其余默认配置测试并行运行,核心是利用测试分组的串行模式来隔离冲突用例。

具体配置步骤

  1. 标记冲突测试为串行分组
    将那两个修改配送配置的测试放到同一个describe块中,通过test.describe.configure({ mode: 'serial' })标记该分组为串行执行。这个分组内的测试会严格按顺序运行,前一个测试完成后才会启动下一个,彻底避免配置冲突。

示例代码:

// 串行分组:处理配送配置相关的冲突测试
test.describe.configure({ mode: 'serial' });
test.describe('配送功能配置测试', () => {
  let originalDeliverySetting;

  // 测试前保存原始配置,测试后恢复
  test.beforeAll(async () => {
    originalDeliverySetting = await getBackendDeliveryConfig();
  });

  test.afterAll(async () => {
    await setBackendDeliveryConfig(originalDeliverySetting);
  });

  test('禁用配送功能验证下单流程', async ({ page }) => {
    await setBackendDeliveryConfig({ enabled: false });
    // 执行禁用配送后的下单流程测试逻辑
  });

  test('启用配送功能验证下单流程', async ({ page }) => {
    await setBackendDeliveryConfig({ enabled: true });
    // 执行启用配送后的下单流程测试逻辑
  });
});

// 其余默认配置测试:默认多worker并行执行
test.describe('常规业务流程测试', () => {
  test('商品列表加载验证', async ({ page }) => {
    // 测试逻辑
  });

  test('用户登录流程验证', async ({ page }) => {
    // 测试逻辑
  });
});
  1. 配置全局并行worker数量
    在playwright.config.js中设置workers参数,指定并行运行的worker数量(根据你的机器性能或CI资源调整)。串行分组的测试会占用一个worker,其余测试会分配到剩余worker并行执行。

示例配置:

module.exports = {
  testDir: './tests',
  workers: 3, // 允许同时运行3个worker,串行分组占1个,剩下2个跑并行测试
  use: {
    baseURL: 'https://your-test-endpoint.com',
  },
};

关键注意事项

  • 串行分组内的测试会在同一个worker进程中按顺序执行,不会和其他并行测试抢占资源或干扰配置
  • 务必在串行分组的beforeAll和afterAll中处理配置的保存与恢复,避免影响其他测试用例的运行环境

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 05:12:08