如何从 Cypress 的命令行按顺序运行所有规范

问题描述 投票:0回答:1

我在下面的结构中有不同的规格文件

login.cy.js
- describe
-- it.Test Valid Login
-- it.Test Invalid Login

dashboard.cy.js
- describe.verifyDashboard
-- it.verify loggedin user
-- it.verify user data

addNewUser.cy.js
- describe.verifyURL
-- it.navigateToAddUserPage
-- it.fillAllTheDetails
-- it.SubmitForm

我已经在配置文件中设置了

experimentalRunAllSpecs: true
,并且我可以从 GUI 模式按顺序运行所有规范,但问题是,从命令行运行时它不会运行所有规范。它只执行第一个
login.cy.js
,其余规范都失败了,并且不会导航到我在
login.cy.js
中访问过的网址。然而
login.cy.js
执行并成功通过。

cypress cypress-custom-commands
1个回答
0
投票

由于您的测试是紧密耦合的(相互依赖),您可以尝试关闭 testIsolation。

请阅读此页面https://docs.cypress.io/guides/core-concepts/test-isolation以了解完整情况,其中包括有关这种测试风格的一些注意事项。

如果你想保持耦合,你可能仍然需要通过导入其他测试来构建“运行者”测试

顺序运行.cy.js

import './login.cy.js'
import './dashboard.cy.js'
import './addNewUser.cy.js'

并在命令行中指定它

npx cypress run --spec cypress/e2e/sequential-run.cy.js
© www.soinside.com 2019 - 2024. All rights reserved.