如何在不关闭浏览器的情况下在 Cypress 中运行多个测试?

use*_*734 3 javascript cypress

我有 3 个规格文件,用于使用 cypress 测试表单填写和照片上传。

  1. 规格文件:填写表格
  2. 规格文件:上传照片
  3. 规格文件:检查结果

形式是 - https://demoqa.com/automation-practice-form

问题是,当填写表单测试通过时,浏览器关闭,另外 2 个测试失败,因为我没有在每个测试用例中调用 open url。

如果我在 GUI 中运行测试,一切都很好。第一次测试后浏览器没有关闭,但是当我运行时

npx cypress run --headed --browser chrome

从命令行,出现问题。

我想从命令行运行测试,以便在所有测试完成之前浏览器不会关闭。

Wae*_*ael 5

我遇到了完全相同的问题,经过几个小时的研究,我找到了解决此问题的解决方法。这不是真正的修复,但它解决了你我的问题。这是我所做的步骤:

创建第四个规范文件,将其命名为 main.spec.ts,在该文件中导入您拥有的 3 个规范文件:

import './fillform.spec.js'
import './uploadphoto.spec.js'
import './result.spec.js'
Run Code Online (Sandbox Code Playgroud)

在 cypress.json 文件中,添加以下条目以允许仅运行主规范文件:

"testFiles": ["main.spec.js"],
Run Code Online (Sandbox Code Playgroud)

现在 cypress run 的工作方式与 cypress open 完全相同,并且所有规范都将运行,而无需关闭浏览器:

npx cypress run --headed --browser chrome
Run Code Online (Sandbox Code Playgroud)