我正在努力弄清楚为什么我的测试在使用
npx playwright test
批量运行时总是失败,但当我单独隔离每个测试时工作正常。我想这可能与我的装置有关?我只是不确定要寻找什么来调试问题。
令人烦恼的是,我知道测试有效,但我不想一一运行它们。这使得整个过程极其缓慢!
我有类似的问题,我解决的方法是,查看测试失败的语句。在失败的语句之前添加一些额外的导航语句,以便并行运行时不会出错。例如,有一个名为“名称”的字段,然后先单击“名称”文本,然后单击进入该字段,然后输入详细信息。
await _clickNameFieldText.ClickAsync(); //Click on the "Name" text
await _clickNameField.ClickAsync();//Click into that text field
await _clickNameField.FillAsync("test"); //If fails in this statement then add the above two statements.
一种可能性是您的测试相互影响。
例如,假设您有 CRUD 测试(创建、读取、更新、删除)。 如果您在每个测试中使用相同的项目名称,您的读取测试可能会尝试读取删除测试刚刚删除的项目! 或者您的创建测试将无法验证它创建的项目,因为更新测试修改了它。
使用 Playwright,您必须非常小心,确保每个测试都可以在不影响任何其他测试的情况下运行,否则以串行模式运行文件。