API после выполнения
Событие after:run срабатывает после завершения выполнения. При запуске Cypress через cypress open, событие будет срабатывать при закрытии проекта.
При запуске через cypress run, событие будет срабатывать каждый раз, когда cypress run выполняется. В результате, если вы запускаете свои тесты в параллельном режиме, событие будет срабатывать один раз для каждой машины, на которой cypress run вызывается.
Синтаксис
⚠️ Этот код является частью файла плагинов и, следовательно, выполняется в среде Node.js. Вы не можете вызвать
Cypressилиcyкоманды в этом файле, но у вас есть прямой доступ к файловой системе и остальной операционной системе.
⚠️ При запуске через
cypress open, событиеafter:runсрабатывает только в том случае, если флаг experimentalInteractiveRunEvents включен.
on('after:run', (results) => {
/* ... */
})
результаты (Объект)
Результаты выполнения, включая общее количество успешных/неуспешных тестов и т.д., конфигурацию проекта и подробности о браузере и системе. Он идентичен объекту результатов, возвращаемому API модуля.
Результаты предоставляются только при запуске через cypress run. При запуске через cypress open, результаты будут undefined.
Использование
Вы можете вернуть промис из обработчика события after:run и он будет ожидан перед тем, как Cypress продолжит выполнение ваших тестов.
Вывод количества успешных тестов запуска
module.exports = (on, config) => {
on('after:run', (results) => {
// results will look something like this when run via `cypress run`:
// {
// totalDuration: 81,
// totalSuites: 0,
// totalTests: 1,
// totalFailed: 0,
// totalPassed: 1,
// totalPending: 0,
// totalSkipped: 0,
// browserName: 'electron',
// browserVersion: '59.0.3071.115',
// osName: 'darwin',
// osVersion: '16.7.0',
// cypressVersion: '3.1.0',
// config: {
// projectId: '1qv3w7',
// baseUrl: 'http://example.com',
// viewportWidth: 1000,
// viewportHeight: 660,
// // ... more properties...
// }
// // ... more properties...
// }
// }
if (results) {
// results will be undefined in interactive mode
console.log(results.totalPassed, 'out of', results.totalTests, 'passed')
}
})
}
См. также
© 2017 Cypress.io
Licensed under the MIT License.
https://docs.cypress.io/api/plugins/after-run-api