Подробная отчетность Cypress / Mochawesome - PullRequest
0 голосов
/ 16 ноября 2018

Кто-нибудь имел большой опыт создания хороших подробных отчетов из тестов Cypress, используя Mochawesome в качестве механизма отчетов?

Я следил за информацией на странице Git Mochawesome, но то, что я получаю, довольно скучно !!

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 голосов
/ 14 июня 2019

Да, подтвержденная работа!В каждом тесте можно вызвать один раз:

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 }));
}
0 голосов
/ 18 ноября 2018

После долгих взломов я нашел способ использовать Mochawesome addContext в Cypress.

Обратите внимание, что вы можете сделать только один вызов 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'
      })
    });
  });
});

Второй параметр - это контекст, который нужно присоединить к тесту, и он должен иметь непустые свойства title и value.

Что вы получаете в выводе 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, похоже, что вы можете получить только отчет Mochawesome с выполнением cypress run, а не с cypress open - хотя может быть способ обойти это с помощью функции множественного репортера mocha.

...