我不知道 zephyr 需要什么信息,但是您可以使用很多钩子/事件。
例如(在规范顶部或 /support/index.js 中)
Cypress.on('test:after:run', (test, runnable) => {
console.log('test,runnable', test, runnable)
const details = {
projectKey: Cypress.env('zephyr-project-key'),
testName: test.invocationDetails.relativeFile,
status: test.status,
error: runnable.err.message,
retries: runnable.retries.length,
duration: test.wallClockDuration,
startTime: test.wallClockStartedAt
}
cy.request('POST', 'api/end/point', { body: details })
// or native fetch('POST',...) if a particular hook complains about using cy.request
})
还有
on('after:run', (results) => {
/* ... */
})
on('after:spec', (spec, results) => {
/* ... */
})
on('after:screenshot', (details) => {
/* ... */
})
或者(技术上在测试中)
afterEach(() => {
const test = cy.state('test')
const runnable = cy.state('runnable')
/* ... */
})