...
Table of Contents | ||
---|---|---|
|
What Does the AIO Tests Native Cypress Reporter Do?
With AIO Test’s Cypress reporter, AIO Tests simplifies the reporting of results from the automated Cypress tests to AIO Tests for Jira. By hooking into Cypress events, the AIO Tests Reporter reports results in the after:spec
event, after every spec run finishes. The reporter can:
...
Info |
---|
The reporter can work only with the |
How to Get Started?
AIO Tests Cypress reporter comes as an npm package and can be installed via the standard install command.
npm install cypress-aiotests-reporter
How to Report Results?
AIO Tests reporter reports results after every spec file. Once the tests in a spec file are finished, the reporter searches for mappings in the tests and uploads mapped test case results to AIO Tests.
The below section covers how to map Cypress automated cases to AIO Tests, how to setup the AIO Tests Reporter and the possible configuration values.
Mapping Automated Cypress Tests to AIO Tests
The AIO Tests Case key can be added to the ` describe ` and ` it ` function descriptions. <br> If there are multiple case keys in a single description, then the result of one test will be updated to multiple cases.
...
Code Block |
---|
describe('example to-do app', () => { beforeEach(() => { .. }) it('NVTES-TC-72, NVTES-TC-73 : displays two todo items by default', () => { cy.get('.todo-list li').should('have.length', 2) cy.get('.todo-list li').first().should('have.text', 'Pay electric bill') cy.get('.todo-list li').last().should('have.text', 'Walk the dog') }) |
Mapping Automated Cypress Cucumber Tests to AIO Tests
The AIO Tests Case key can be added to the scenario name. If there are multiple case keys in a single scenario, then the result of one scenario will be updated to multiple AIO Tests cases.
...
Code Block |
---|
Feature: Settings Tests Scenario Outline: {TCId} Validate links work When I visit Settings page Then I see all configurable options When I click on {PageToTest} Then Profile {PageToTest} page opens with options Examples: |TCId |PageToTest | |NV-TC-11 |API Token | |NV-TC-12 |Email Settings | |
Setup & Configuration
Versions before Cypress 10 Register the plugin to the Cypress plugins file as below:
...
Code Block |
---|
// cypress.config.js const { defineConfig } = require("cypress"); const { registerAIOTestsPlugin } = require('cypress-aiotests-reporter/src') module.exports = defineConfig({ e2e: { setupNodeEvents(on, config) { registerAIOTestsPlugin(on,config); // implement node event listeners here }, }, } |
Configure
The AIO Tests Reporter config needs to be set in the env property of cypress.json. Or it can be programmatically modified in your plugins/index.js.
Depending on the Jira hosting, the authentication information needs to be provided as below.
Cloud
For Jira Cloud (eg. https://yourco.atlassian.net/..), the "cloud"
property needs to be set in the env.aioTests
config for authentication.
...
Code Block |
---|
// cypress.json { "env": { "aioTests": { "enableReporting": true, "cloud": { "apiKey": "<your API KEY>" }, "jiraProjectId": "SCRUM", "cycleDetails": { "createNewCycle": true, "cycleName": "Cypress first run from plugin", "cycleKey": "NVTES-CY-2", "folder": ["Cloud","Smoke Test Nightly"], "tasks": ["SCRUM-1","SCRUM-2] }, "addNewRun": true, "addAttachmentToFailedCases": true, "createNewRunForRetries": true, "addTestBodyToComments": true } } } |
Server
For Jira Hosted or DataCenter versions, the "hosted"
property needs to be set in the env.aioTests
for authentication.
The "jiraUrl"
needs to be specified with the base URL of the hosted Jira instance.
...
Code Block |
---|
// cypress.json { "env": { "aioTests": { "enableReporting": true, "hosted" : { "jiraUrl": "https://jira.yourco.com", "jiraPAT": "PAT from Jira Tokens | JIRA_PAT as environment variable", "jiraUsername": "Jira Username. If PAT is specified, then username is not required", "jiraPassword": "Jira password, required if authentication is through username/password" }, "jiraProjectId": "SERV", "cycleDetails": { "createNewCycle": true, "cycleName": "Cypress Nightly Run ", "cycleKey": "SERV-CY-2", "folder": ["Cloud","Smoke Test Nightly"], "tasks": ["SCRUM-1","SCRUM-2] }, "addNewRun": true, "addAttachmentToFailedCases": false, "createNewRunForRetries": false, "addTestBodyToComments": true } } } |
Cypress 10 and above
For Cypress 10, the settings have moved to the cypress.config.js. Set the above aioTests configuration in the cypress.config.js as below:
Code Block |
---|
module.exports = defineConfig({ env: { "aioTests": { "enableReporting": true, "cloud": { //Replace with server authentication if using Jira Server "apiKey": "apikey for cloud" }, "jiraProjectId": "NVTES", "cycleDetails": { "createNewCycle": true, "cycleName": "Cypress first run from plugin", "cycleKey": "NVTES-CY-2", "folder": ["Cloud","Smoke Test Nightly"], "tasks": ["NVTES-1","NVTES-2] }, "addNewRun": true, "addAttachmentToFailedCases": true, "createNewRunForRetries": true, "addTestBodyToComments": true }, }, e2e: {... }} |
Configurable Values
Value | Description |
---|---|
enableReporting | Set to true to make the current run update results to AIO Tests. Default false. |
jiraProjectId | Jira Project key to update results to |
cycleDetails.createNewCycle | Set to true to create a new cycle for run being reported |
cycleDetails.cycleName | Works if createNewCycle is true, sets the cycle name of cycle getting created |
cycleDetails.cycleKey | AIO Tests cycle key that should be updated. Used if createNewCycle is false |
cycleDetails.folder | Folder hierarchy, where first item in array is parent folder and so on eg.["Parent","Child"] |
cycleDetails.tasks | List of Jira Issue Keys to attach as Tasks to created cycle, impacts only when creating new cycle |
addNewRun | Create a new run or update an existing run in the cycle |
addAttachmentToFailedCases | Set to true to attach screenshots, if available, for failed cases |
createNewRunForRetries | Set to true if each retry should create a new run |
addTestBodyToComments | Set to true test script body should be added as a comment in a failed case |
Logging
AIO Tests Reporter logs can be seen in the run logs below for successful updates.
...
Errors received while updating will appear in a similar way.
...
Queries/Suggestions?
For any queries, suggestions or issues, please feel free to reach out @ mailto:help@aiotests.com.
...