1.0.9 • Published 3 years ago

@vishallanke/reportportalcypressjunitagent v1.0.9

Weekly downloads
-
License
ISC
Repository
github
Last release
3 years ago

WIP ReportPortal Cypress JUnit Agent

WORK-IN-PROGRESS

WIP Planned

Work In Progress Send below details to report portal -

  • Update Pending and Skipped tets cases
  • Show Attachments
  • Show cy.log or console.log

Currently, JUnit generated XML files are not compatible with report portal. Once Cypress tests gets executed, JUnit generates XML files containing test execution results. This agent will make JUnit XML files compatible to report portal and send them to report portal

  • Reference of Defects

Steps 1. Configure JUnit in Cypress

{
  "reporterEnabled": "mochawesome, mocha-junit-reporter",
  "mochawesomeReporterOptions": {
    "mochaFile": "cypress/results/results-[hash].xml",
    "overwrite": false,
    "html": true,
    "json": true,
    "timestamp": true
  },
  "mochaJunitReporterReporterOptions": {
    "mochaFile": "cypress/junitresults/junit-[hash].xml",
    "attachments": true,
    "rootSuiteTitle" : "Cypress Test",
    "testsuitesTitle" : "End to End Repo",
    "jenkinsMode" : true,
    "useFullSuiteTitle": true
  }
}
  1. Set below Environment Variables inside CI/CD
export REPORTPORTAL_APIURL="http://ec2-32-234-123.south-1.compute.amazonaws.com:8080"
export REPORTPORTAL_PROJECTNAME="DEFAULT_PERSONAL"
export REPORTPORTAL_JUNIT_APPLICATION_DIRECTORY_NAME="NameOfLaunch"
export REPORTPORTAL_JUNIT_RESULTS_DIR_PATH="../../cypress/junitresults"
export REPORTPORTAL_API_TOKEN="xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
Sr.VariableComments
1REPORTPORTAL_APIURLReport Portal API Endpoint
2REPORTPORTAL_PROJECTNAMEName of the Project
3REPORTPORTAL_JUNIT_APPLICATION_DIRECTORY_NAMEJUnit XML files will be copied inside this Directory. Name of the Launch will start with this.
4REPORTPORTAL_API_TOKENAPI Token for Report Portal.
5REPORTPORTAL_JUNIT_RESULTS_DIR_PATHLocation where Cypress JUnit files will be stored. We assume that it is inside Cypress/junitresults directory. Then, please provide value of this as ../../cypress/junitresults

How to decide value of REPORTPORTAL_JUNIT_RESULTS_DIR_PATH ?

  • Value will be ../../cypress/junitresults for below project hierarchy
- project
  - cypress
    - junitresults
      - *.xml files
  - node_modules
    - @vishallanke
      - reportportalcypressjunitagent
        - index.js
  • Consider reportportalcypressjunitagent as starting point. ../ will navigate you to node_modules. Again ../ will navigate you to cypress directory
  1. npm i @vishallanke/reportportalcypressjunitagent to install reportportalcypressjunitagent. If you are using yarn, then you can use yarn add @vishallanke/reportportalcypressjunitagentypressjunitagent

  2. Execute cypress test cases in background using run command. For example, ./node_modules/.bin/cypress run --env configFile=$TEST_ENV --headless --browser chrome

  3. Execute node ./node_modules/@vishallanke/reportportalcypressjunitagent/index.js

Alternatively, you can also create reportportal.js file on root and add require ("@vishallanke/reportportalcypressjunitagent/") in this file. In this case, you need to execute node reportportal.js command