详细报告Cypress / Mochawesome

时间:2018-11-16 18:04:56

标签: mocha cypress

任何人都具有使用 Mochawesome 作为报告引擎从赛普拉斯测试生成好的详细报告的丰富经验吗?

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

Current Report

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

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

}
}

我一直在和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();

2 个答案:

答案 0 :(得分:2)

经过大量的研究,我找到了一种在赛普拉斯中使用Mochawesome addContext的方法。

请注意,每个测试只能进行一次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'
      })
    });
  });
});

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

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": "...",
        ...
      }
    ],

mochawesome.html中,单击测试即可获得

Additional Test Context
This is my context title:
This is my context value

除了字符串以外,我还没有尝试使用其他值类型。

注意,对于赛普拉斯开始使用Mochawesome的任何人,看起来您只能在运行cypress run而不是cypress open的情况下获得Mochawesome报告-尽管可能存在使用Mocha的多个报告程序功能解决此问题的方法。

答案 1 :(得分:0)

是已确认的工作!在每个测试中都可以像这样调用一次:

it('Should shine the test report!!!', () => {
  cy.get('li').should('have.length.greaterThan', 0);
  addTestContext('String','giphy');
  addTestContext('Link','https://giphy.com');
  addTestContext('Image','https://media.giphy.com/media/tIIdsiWAaBNYY/giphy.gif');
  addTestContext('Image','https://media.giphy.com/media/tIIdsiWAaBNYY/giphy.gif');
});

function addTestContext(title, value) {
  cy.once('test:after:run', test => addContext({ test }, { title, value }));
}