1

我能够生成 mocha awesome html 报告,一切都很好,但我想在 html 报告中添加屏幕截图,我正在拍摄 cypress 屏幕截图,但想在 html 报告中添加。有什么办法可以添加它们吗?

4

2 回答 2

0

考虑mochawesome addContext。这将为报告注入任何价值。我相当确定生成的 html 报告将显示给定路径的图像。这可能需要进一步阅读 addContext。

const { expect } = require('chai');
const addContext = require('mochawesome/addContext');

describe('Cypress tests.', function () {
  before(function () {
    // Perform Cypress things.
    // Take screenshots.
  };

  after(function () {
    const title = 'Screenshot of thing.';
    const value = 'path/to/screenshot.png';
    addContext(this, {
      title,
      value,
    };

  it('Foo should equal batz.', function () {
    // Expect some things.
  };
};
于 2019-11-08T10:30:45.900 回答
0

我使用以下代码将屏幕截图自动添加到任何(且仅)失败的测试中:

import addContext from 'mochawesome/addContext'
Cypress.on('test:after:run', (test, runnable) => {
    if (test.state === 'failed') {
        addContext({ test }, {title: 'Screenshot', value: `<path/to/screenshots/folder>/${Cypress.spec.name}/${runnable.parent.title.replace(':', '')} -- ${test.title} (failed).png`})
        addContext({ test }, {title: 'Video', value: `<path/to/videos/folder>/${Cypress.spec.name}.mp4`})
    }
});

将它放在support/index.js中,因为该文件在任何测试之前加载。

确保将<path/to/.../folder>以上内容更新到您保存屏幕截图/视频的位置。该路径是相对于生成的html报告的。

于 2021-09-15T10:21:51.333 回答