我正在使用 Cypress 以及 Mochawesome 记者和 cypress-image-snapshot 库。cypress-image-snapshot 库在测试失败时创建视觉回归的屏幕截图。我想看看是否有办法将这些图像注入到最终报告中。
因为我已经知道文件的路径,所以我能够将标准测试快照注入到报告中。文件名始终遵循相同的模式,因此我可以轻松构建字符串。
// cypress/support/index.js
import './commands'
const addContext = require('mochawesome/addContext')
Cypress.on('test:after:run', (test, runnable) => {
if (test.state === 'failed') {
// Build image path
const screenshotFileName = `${runnable.parent.title} -- ${test.title} (failed).png`
addContext({ test }, `assets/${Cypress.spec.name}/${screenshotFileName}`)
// TODO: Here I need to inject all the images from the snapshots/SPEC_NAME/__diff_output__ directory
...
}
})
我尝试创建一个赛普拉斯任务来访问文件系统并简单地从特定的diff_output文件夹中读取所有文件,但是 Cypress.on('test:after:run') 事件侦听器中没有可用的任务。