在剧作家+打字稿项目中,我们使用以下配置行:
工人:process.env.CI? 1:未定义,
undefined
值允许本地用户在具有 2*X CPU 核心的计算机上使用 X 个并行工作线程更快地执行(请参阅 https://learn.microsoft.com/en-us/azure/playwright-testing/concept-define -最佳配置)。
这很棒,我们希望保持这种灵活性,但在代码中的某些时候,我们还需要知道当前执行可以支持多少个最大工作线程。
我看到了获得像
process.env.TEST_WORKER_INDEX
这样的工人索引的方法,但是有没有办法知道我的机器最多可以容纳多少个工人? playwrightConfig.workers
当然会返回undefined
:)
默认情况下,它是逻辑 CPU 核心数量的一半 -
os.cpus().length / 2
。即使你在 playwrightConfig.workers 中设置了 undefined,你也可以从测试中获取它。
import test from "@playwright/test";
test("Example", async ({}, testInfo) => {
console.log(testInfo.config.workers);
});
您还可以通过设置核心百分比来调整执行 -
workers: "75%"
。 (同样,默认为 50%)