允许依赖项目运行,即使第一个项目在 Playwright Nodejs 中失败

Allow dependent Projects to Run even if the First Project Fails in Playwright Nodejs

提问人:Vijay Kumar 提问时间:9/4/2023 最后编辑:Sagar DarekarVijay Kumar 更新时间:9/5/2023 访问量:105

问:

我有一个定义 3 个项目。以下是我的项目结构。playwright.config.ts

projects: [{
    name: 'Need Authentication For Usage tests',
    testDir: './tests/Billing/',
    Need Authentication For Usage tests
  },  {
    name: 'Need Authentication',
    testDir: './tests/Authentication/',
    dependencies: ['Need Authentication For Usage tests'],
  },
  {
    name: 'Non-Authentication State',
    testDir: './tests/Non-Authentication/',
    dependencies: ['Need Authentication For Usage tests'],
  },
],

我想单独运行测试脚本,一旦它被执行(测试状态是),那么我想运行我的其他项目。一旦项目完成,我才希望我的其他项目被接手。./tests/Billing/PASS/FAILNeed Authentication For Usage tests is completed

当我并行运行测试时,我遇到了这个问题。有什么方法可以做到这一点吗?

我尝试使用如上所述的项目结构,但是使用上述项目结构,如果“需要身份验证才能使用测试”中的任何测试失败,则跳过其他项目。

JavaScript 节点:.js selenium-webdriver 剧作家 测试

评论

0赞 ggorlen 9/4/2023
项目依赖项文档有帮助吗?
0赞 Vijay Kumar 9/4/2023
根据文档,如果我们对一个项目使用依赖项,它只会在第一个项目成功完成执行时运行。(即仅当所有测试都通过时。否则,其他项目将被跳过。

答:

0赞 Vishal Aggarwal 9/5/2023 #1

套房与项目

而不是项目,它们似乎更适合“测试套件”类别,需要按一定顺序执行。在需要在多个设备和浏览器上以不同的配置运行同一组套件的情况下,我会更多地使用项目。

按字母顺序对测试文件(套件)进行排序

禁用并行测试执行时,Playwright Test 将按字母顺序运行测试文件。您可以使用一些命名约定来控制测试顺序。

例:

001-Billing.spec.ts,

002-Authentication.spec.ts,

003-Non-Authentication.spec.ts

这样,套件(测试文件)将按所需的顺序运行,即使早期的套件按顺序失败,后续套件也会运行。

参考资料: https://playwright.dev/docs/test-parallel#sort-test-files-alphabetically

评论

0赞 Vijay Kumar 9/5/2023
感谢您的回复。但在这里,我的用例是拥有一个测试套件并在一个测试套件中运行不同的项目。因为我不想在将报告推送到报告门户时为每个套件生成不同的测试结果。任何其他解决方法。(串行运行测试除外。
0赞 Vishal Aggarwal 9/5/2023
没问题,我认为如果您尝试一下,我提供的解决方案将解决您的问题。