【问题标题】:How to run multiple tests in Cypress without closing browser?如何在 Cypress 中运行多个测试而不关闭浏览器?
【发布时间】:2021-09-15 11:37:09
【问题描述】:

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

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

表格是 - https://demoqa.com/automation-practice-form

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

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

npx cypress run --headed --browser chrome

从命令行,出现问题。

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

【问题讨论】:

  • 请在问题中添加您的规范文件中的代码。
  • 代码无关紧要。当我使用 cypress gui 运行测试时,测试会一一执行,并且浏览器没有关闭。
  • 我把测试用例顺序放在 cypress.json "testFiles": [ "Form.spec.js", "UploadFile.spec.js", "Check.spec.js" ] Form spec 用用户数据填写表单,uploadfile spec 在同一个表单上上传文件并点击提交,检查规范检查是文件上传后提交填写表格之前的测试用例步骤。问题是当我从命令行开始时。第一个测试用例结束后,关闭浏览器,第二个测试用例在没有浏览器的情况下启动,测试用例失败。
  • 你试过选项--no-exit
  • 是的,在第一个测试浏览器保持打开但第二个测试用例没有启动之后。

标签: javascript cypress


【解决方案1】:

我遇到了完全相同的问题,经过数小时的研究,我找到了解决此问题的解决方法。这不是一个真正的解决方案,但它解决了您和我的问题。 以下是我执行的步骤:

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

import './fillform.spec.js'
import './uploadphoto.spec.js'
import './result.spec.js'

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

"testFiles": ["main.spec.js"],

现在 cypress run 将完全像 cypress open 一样运行,并且所有规范都将运行而无需关闭浏览器:

npx cypress run --headed --browser chrome

【讨论】:

    猜你喜欢
    • 2021-06-06
    • 2015-11-03
    • 1970-01-01
    • 1970-01-01
    • 2012-06-20
    • 1970-01-01
    • 2012-08-03
    • 1970-01-01
    • 2020-08-05
    相关资源
    最近更新 更多