Cypress - 检查全局 afterEach 中的测试失败
Cypress - check test failure in global afterEach
如果测试 (it
) 失败,是否可以检查全局 afterEach
?
这样的全局 afterEach
位于 support/index.js
:
afterEach(() => {
// check if test failed and perform some actions
})
你要找的是 after:spec 并通过 plug-ins 公开。您将有权访问规范和结果。
https://docs.cypress.io/api/plugins/after-spec-api#Syntax
您可以使用 afterEach
挂钩并保留在 Cypress 上下文的范围内(其中 cy
命令可用),例如:
afterEach(function() {
if (this.currentTest.state === 'failed') {
// your code
}
});
参考:https://github.com/cypress-io/cypress/discussions/15047
或者您可以使用 test:after:run
事件并切换到 node
上下文(任何类型的节点代码都可以在 Cypress 范围之外执行,例如访问数据库或文件系统),因为示例:
Cypress.on('test:after:run', (test, runnable) => {
if (test.state === 'failed') {
// your code
}
});
参考:https://docs.cypress.io/api/events/catalog-of-events#Cypress-Events
如果测试 (it
) 失败,是否可以检查全局 afterEach
?
这样的全局 afterEach
位于 support/index.js
:
afterEach(() => {
// check if test failed and perform some actions
})
你要找的是 after:spec 并通过 plug-ins 公开。您将有权访问规范和结果。 https://docs.cypress.io/api/plugins/after-spec-api#Syntax
您可以使用 afterEach
挂钩并保留在 Cypress 上下文的范围内(其中 cy
命令可用),例如:
afterEach(function() {
if (this.currentTest.state === 'failed') {
// your code
}
});
参考:https://github.com/cypress-io/cypress/discussions/15047
或者您可以使用 test:after:run
事件并切换到 node
上下文(任何类型的节点代码都可以在 Cypress 范围之外执行,例如访问数据库或文件系统),因为示例:
Cypress.on('test:after:run', (test, runnable) => {
if (test.state === 'failed') {
// your code
}
});
参考:https://docs.cypress.io/api/events/catalog-of-events#Cypress-Events