繁体   English   中英

在单个 Playwright 测试运行中针对多个项目/url 运行

[英]Running against multiple projects/urls in single Playwright test run

几天以来,我一直在尝试解决这个问题。 找到了几个解决方法,但似乎没有按预期工作。

我的要求是针对多个 URL 运行 Playwright 测试。 单个项目 - 运行得非常好,我已经进行了一些测试。 现在我想介绍多个具有最佳配置的项目。

例如,我的 './tests/ProjectA' 针对 'https://projectA.home.com './tests/ProjectB' 运行针对具有不同凭据的 'https://projectB.home.com 等等。

我希望 A & B 在单次运行中针对每个版本运行。

我正在用项目查看这样的配置文件......

projects: [
        {
            name: 'Project A',
            testDir: './tests/ProjectA',
            use: {
                baseURL: process.env.projectA,
            },
        },
        {
            name: 'Project B',
            testDir: './tests/LTI/ProjectB',
            use: {
                baseURL: process.env.projectB
            },
        },
    ],

问题:我想检查当前工作人员在“globalSetup”级别指向哪个 testDir,以便我可以进行身份验证并相应地调出 URL。

如何在 globalSetup 级别访问项目信息? 或者我如何最好地处理这个问题? 感谢任何建议。 谢谢!!

据我了解,您想访问项目的当前 testDir,该项目在 playwright 配置中定义。

您是否尝试过使用“TestInfo 对象”的属性? 我相信它适用于像您这样的情况,您需要访问有关 object 项目的信息。

官方文档: https://playwright.dev/docs/test-advanced

这是我做的一个例子——我正在控制台记录 testInfo.project.testDir,但显然你会用它做一些其他合乎逻辑的事情。

test("that testDir is what I'm expecting it to be!", async ({ page, context }, testInfo) => {
            //console.log(testInfo.project);
            // Access project testDir
            console.log(testInfo.project.testDir);
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM