不要并行地执行 Playwright E2E 测试
为什么不要并行执行
并行执行 E2E 测试可能会让本来彼此独立的 E2E 测试文件相互影响,从而导致测试无法通过。
常见的情况是,当我们有 ABCD 四个 E2E 测试文件,单独执行 C 可以通过,但一次执行所有文件 C 就通过不了了。
如何实现
我们希望确保 Playwright 可以从前往后的顺序,一个测试执行完毕后再执行下一个测试。
注意 Playwright 配置文件里有 fullyParallel 配置项,其被推荐设置为 true。
fullyParallel 为 true 时,Playwright 会通过开启多个 worker 的方式来并行地执行测试。
明白了 fullyParallel 的实现方式后,我们也就知道,只需要将 worker 设置为 1 即可解决并行的问题。
// playwright.config.ts
import { defineConfig } from "@playwright/test";
export default defineConfig({
workers: 1,
// ...
});