js-xray-integration
v1.0.27
Published
TT QA JS Xray integration plugin
Downloads
44
Readme
js-xray-integration Cypress Plugin
Installation
To integrate js-xray-integration
into your Cypress test project, follow these steps:
- Install the plugin using npm:
npm install js-xray-integration
Usage
1. Update e2e.js File
In your e2e.js file, add the following code:
const updateTestResult = require('js-xray-integration');
beforeEach(function onBeforeEach() {
const currentDate = new Date();
const startTime = currentDate.toISOString().replace('Z', '+01:00');
Cypress.env('testStartTime', startTime);
});
// After each test, call the updateTestResult function
afterEach(function onAfterEach() {
// Call updateTestResult function with testId, test result/state, and test start time
updateTestResult(Cypress.env('xrayId'), this.currentTest.state, Cypress.env('testStartTime'))
});
2. Add setXrayId Custom Command
In your commands.js
file, add the following custom command to set the XRAY test ID:
Cypress.Commands.add('setXrayId', (xrayId) => {
// Set the XRAY test ID in the Cypress environment
Cypress.env('xrayId', xrayId);
});
Call this command at the beginning of each test with the appropriate test ID:
// Example usage in a test
cy.setXrayId('yourTestId');
3. Configure Cypress Environment Variables
In your cypress.config.js
file - e2e json, add the following env
object containing the XRAY_TOKEN
, xrayRequestURL
, and xrayExecId
:
"env": {
"XRAY_TOKEN": "yourXRAYToken",
"xrayRequestURL": "yourXRAYRequestURL",
"xrayExecId": "yourXRAYExecId"
}
4. Run your tests
The logic in the updateTestResult
function ensures that if xrayExecId
is undefined, XRAY requests will not be executed. To report test results to XRAY test execution, provide xrayExecId
in the npm run script, or set its value in the cypress.config.js
- e2e json.