在Cypress.io中的JUnit报告中测试失败后如何附加屏幕截图

时间:2019-10-20 19:55:34

标签: junit cypress

我试图在失败的测试后生成带有屏幕截图的Cypress.io测试报告,但是我无法将屏幕附加到最终xml。屏幕快照是在cypress目录中创建的,但未附加到最终的.xml。

我尝试了不同的设置组合,但似乎没有任何效果。此外,在测试运行期间没有错误,连接到报告生成或附件。我也尝试使用Chrome和Electron运行它,但是结果是相同的。 我正在使用赛普拉斯版本:3.4.1

cypress.json:

{
  "baseUrl": "https://www.google.com/",
  "reporter": "junit",
  "reporterOptions": {
    "mochaFile": "tests/test-output-[hash].xml",
    "toConsole": true,
    "attachments": true
    },
    "video": false
}

sampleTests.spec.js:

describe('My First Test', function() {
  it('Does not do much!', function() {
    cy.visit('/');
    expect(true).to.equal(true)
  })

  it('Does not do much too!', function() {
    cy.visit('/');
    expect(true).to.equal(false)
  })
})

实际结果:屏幕快照是在目录cypress\screenshots中创建的,但未附加到.xml报告中

预期结果:屏幕截图已附加到报告中。

我想念什么?

1 个答案:

答案 0 :(得分:1)

在测试块内部或测试的afterEach()中,您需要定义附件的路径。

this.test.attachments = ['/absolut/path/to/file.png'];

https://www.npmjs.com/package/mocha-junit-reporter#attachments