在我的 playwright.config 文件中,我有多个项目,它们都具有与依赖项目相同的安装项目。
有什么方法可以在运行时指示哪个父项目启动设置过程?
playwright.config
projects: [
{ name: "setup", testMatch: /.*\.setup\.ts/ },
{
name: "foo",
dependencies: ["setup"],
},
{
name: "bar",
dependencies: ["setup"],
},
]
setup test
setup("setup test", async ({ page }, testInfo) => {
console.log(testInfo.project.name); // output: "setup"
/* What I'm looking for: */
// console.log(testInfo.paretProject.name);
/* Or */
// console.log(testInfo.project.parentName)
});
(或者可能以某种方式在项目依赖属性中提供发起者名称)
您可以执行此操作来获取所有父项目:过滤掉将当前项目作为依赖项的项目。
注意:这不会过滤掉未运行的项目,例如如果运行
npx playwright test --project "foo"
,两个父项目仍将被返回。
import { test as setup } from "@playwright/test";
setup("Setup", async ({}, testInfo) => {
const parentProjects = testInfo.config.projects
.filter((project) => project.dependencies.includes(testInfo.project.name))
.map((project) => project.name);
// returns: ['foo', 'bar']
console.log(parentProjects);
});