有人成功使用 Cucumber 预处理器将屏幕截图包含在 mocha-junit-reporter XML 文件中吗?

问题描述 投票:0回答:2

我正在尝试生成 XML Junit 结果以包含在 Gitlab 管道结果中。

到目前为止,一切都进展顺利:我生成了每个 XML 文件,并且它们按照我想要的方式在管道中显示。

但是,一旦我尝试嵌入场景中拍摄的屏幕截图,我就无法使其工作。

我从这里开始:https://www.npmjs.com/package/mocha-junit-reporter#attachments

所以,我像这样生成了 cypress.json :

"mochaJunitReporterReporterOptions": {
        "mochaFile": "cypress/reports/junit/results-[hash].xml",
        "attachments": true
    }

因为这似乎不是自动的,所以我添加了一个

beforeEach
钩子,其中:

this.test.attachments = ['cypress/screenshots/scenario/scenario.feature/test-scr.png'];

如果我尝试在测试中设置此行,而不是在引擎盖中,则会出现错误:

无法读取未定义的属性(读取“测试”)”

在此文件夹中,该文件存在,但我不确定我是否从良好的文件夹级别开始包含它(无论如何,我尝试了几种可能性,但从未使其工作)。

我永远不会有这个新标签:

<system-out>[[ATTACHMENT|path/to/file]]</system-out>

我感觉黄瓜预处理器有一种不同的工作方式,因为我们不再在 describeit 之间编写内容,但我没有证据证明这一点。

我错过了什么?

junit cucumber cypress-cucumber-preprocessor
2个回答
0
投票

在您的规范文件中,如果您想使用

this
,请不要使用箭头函数。

箭头函数与常规函数声明不同,不会重新定义

this

更换这个

it('should pass'), () => {
    // your code
}

有了这个

it('should pass'), function () {
    // your code
}

0
投票

您好,我只是为此目的创建了这个库。 能够附加屏幕截图并将其导入 xray

https://www.npmjs.com/package/cypress-xray-junit-reporter

© www.soinside.com 2019 - 2024. All rights reserved.