如何在Playwright中并行运行单个测试文件的Firefox浏览器测试
实现单个测试文件多Firefox实例并行执行
要让单个测试文件同时在3个Firefox浏览器实例中完整运行,有两种直接的实现方式:
方法一:命令行快速实现
直接通过命令行参数指定重复执行次数和worker数量,同时锁定目标测试文件:
npx playwright test ./your-test-file.spec.ts --headed --project=firefox --workers 3 --repeat-each 3
--workers 3:启动3个并行执行的worker进程--repeat-each 3:让目标测试文件的所有测试用例重复执行3次,每个轮次分配给一个独立的Firefox实例- 必须显式指定测试文件路径,避免影响其他测试文件
方法二:配置文件持久化设置
如果需要长期保留这个配置,可以修改项目根目录的playwright.config.ts:
- 针对Firefox项目调整worker和重复执行参数:
import { defineConfig, devices } from '@playwright/test'; export default defineConfig({ projects: [ { name: 'firefox', use: { ...devices['Desktop Firefox'] }, workers: 3, // 启动3个并行worker repeatEach: 3, // 每个测试文件重复执行3次 }, ], });
- 若只想让单个测试文件生效,可在目标测试文件顶部添加局部配置:
import { test } from '@playwright/test'; test.describe.configure({ repeatEach: 3 }); // 你的测试用例代码 test('example test', async ({ page }) => { // ...测试逻辑 });
- 执行命令时只需指定项目和文件:
npx playwright test ./your-test-file.spec.ts --headed --project=firefox
注意事项
- 确保测试用例是无状态的,避免多个实例共享同一资源(如测试账号、本地文件)导致冲突
- 若测试文件内的用例本身依赖串行执行,不影响整体重复轮次的并行运行
内容的提问来源于stack exchange,提问作者Sandy
相关产品推荐
相关产品推荐

