Skip to main content

不要并行地执行 Playwright E2E 测试

为什么不要并行执行

并行执行 E2E 测试可能会让本来彼此独立的 E2E 测试文件相互影响,从而导致测试无法通过。

常见的情况是,当我们有 ABCD 四个 E2E 测试文件,单独执行 C 可以通过,但一次执行所有文件 C 就通过不了了。

如何实现

我们希望确保 Playwright 可以从前往后的顺序,一个测试执行完毕后再执行下一个测试。

注意 Playwright 配置文件里有 fullyParallel 配置项,其被推荐设置为 true

fullyParalleltrue 时,Playwright 会通过开启多个 worker 的方式来并行地执行测试。

明白了 fullyParallel 的实现方式后,我们也就知道,只需要将 worker 设置为 1 即可解决并行的问题。

// playwright.config.ts
import { defineConfig } from "@playwright/test";

export default defineConfig({
workers: 1,
// ...
});