详细报告 Cypress/Mochawesome

Dav*_*yne 5 mocha.js cypress

有没有人在使用Mochawesome作为报告引擎从 Cypress 测试中生成好的详细报告方面有很多经验?

我已经关注了 Mochawesome GIT 页面上的信息,但我得到的信息相当乏味!!

当前报告

我希望能够包含奇怪的屏幕截图和断言的输出 - 这是当前cypress.json文件......

{
 "projectId": "haw8v6",
"baseUrl": "https://obmng.dbm.guestline.net/",
"chromeWebSecurity": false,
"reporter" : "mochawesome",
 "reporterOptions" : {
"reportFilename" : "DBM Smoke-Test",
"overwrite": true,
"inline": true

}
}
Run Code Online (Sandbox Code Playgroud)

我一直在玩弄,var addContext = require('mochawesome/addContext');但几乎没有快乐。

感激地收到建议。

谢谢

根据下面的要求 - 非常基本的例子 addContext

var addContext = require('mochawesome/addContext');

describe('DBM Smoketests', function() {
it('E2E Hotel2 WorldPay System', function() {
    cy.visit('https://obmng.dbm.guestline.net/');


                    cy.url().should('include','/obmng.dbm');
                    addContext(this,'URL is correct');

 //loads hotel 2 
    cy.get('.jss189 > div > .jss69 > .jss230').click();
Run Code Online (Sandbox Code Playgroud)

小智 8

经过多次修改,我找到了一种addContext在 Cypress 中使用 Mochawesome 的方法。

请注意,每个测试只能进行一次 addContext 调用(这是 Mochawesome 的一项限制)。

describe('DBM Smoketests', function() {
  it('E2E Hotel2 WorldPay System', function() {
    cy.visit('https://obmng.dbm.guestline.net/');
    cy.url().should('include','/obmng.dbm');

    Cypress.on('test:after:run', (test) => {
      addContext({ test }, { 
        title: 'This is my context title', 
        value: 'This is my context value'
      })
    });
  });
});
Run Code Online (Sandbox Code Playgroud)

第二个参数是要附加到测试的上下文,它必须具有非空title和 avalue属性。

你在输出中得到的mochawesome.json

...
"suites": [
  {
    ...
    "tests": [
      {
        "title": "E2E Hotel2 WorldPay System",
        ...
        "context": "{\n  \"title\": \"This is my context title\",\n  \"value\": \"This is my context value\"\n}",
        "code": "...",
        ...
      }
    ],
Run Code Online (Sandbox Code Playgroud)

在 中mochawesome.html,单击您得到的测试

Additional Test Context
This is my context title:
This is my context value
Run Code Online (Sandbox Code Playgroud)

我还没有尝试过除字符串之外的值类型。

请注意,对于任何在 Cypress 中开始使用 Mochawesome 的人来说,看起来您只能通过运行 来获得 Mochawesome 报告cypress run,而不能通过 来获得cypress open- 尽管可能有一种方法可以使用 mocha 的多报告功能来解决此问题。