Cypress.stop
停止当前机器上正在运行的Cypress应用。这在测试失败或其他预设条件下停止测试执行时非常有用。
tip
语法
Cypress.stop()
示例
测试失败时停止测试
为确保在任何测试文件失败后立即停止测试,请将以下代码片段添加到您的support/index.js
文件中:
afterEach(function () {
if (this.currentTest.state === 'failed') {
Cypress.stop()
return
}
})
满足条件时中止测试
beforeEach(() => {
if (env !== 'expected-condition') {
cy.log('停止测试 - 环境未正确设置')
Cypress.stop()
return
}
})
注意事项
调用Cypress.stop()
会停止剩余测试的执行,但同一代码块(如beforeEach
或afterEach
)中Cypress.stop()
之后的代码仍会运行。为防止在Cypress.stop()
后执行额外逻辑,请在其后立即添加return
语句:
if (someCondition) {
Cypress.stop()
return // 阻止此代码块中后续代码的执行
}
cypress run
与cypress open
的行为差异
在cypress run
期间调用Cypress.stop()
会跳过当前测试文件中剩余的测试。如果正在录制到Cypress Cloud,所有截图、视频和测试回放仍将成功上传。
在cypress open
期间调用Cypress.stop()