UNPKG

jest-atm-reporter-functional

Version:

npm module for jest to upload test execution result in atm for functional testing

78 lines (59 loc) 2.82 kB
## Jest-Atm-Reporter-Functional: This is a plugin for uploading test execution results in real time (during execution - per `test` block) for JEST tests to Adaptavist Test Management tool (Kanoah). One `describe` block is mapped to multiple ATM test (`Test case ID` for which can be set using reporter method). Each `test` block in `describe` will be considered as unique test. ## Install: ``` npm install jest-atm-reporter-functional npm install dotenv ``` ### Environment Variables: Set following environment variables on your machine: ``` BASE_URL = baseurl (e.g. --> jira.abcdef.com) JIRA_USERNAME = username JIRA_PASSWORD = password PROJECT_KEY = XYZ TEST_CYCLE_ID = OPQ ``` ### Note: In case you want to create new `TEST_CYCLE_ID` for every run then remove entry for `TEST_CYCLE_ID` from environment variable and use the npm module `GENERATE-ATM-TEST-CYCLE`(https://www.npmjs.com/package/generate-atm-test-cycle) to generate test cycle at runtime programatically. ## Usage: Set following in package.json for using the jest-atm-reporter-functionnal: ``` "jest": { "setupFilesAfterEnv": [ "./node_modules/jest-atm-reporter-functional/src/setup.js" ], "reporters": [ "jest-atm-reporter-functional" ] }, ``` ### How to set value `Test case ID` and `Test Environment` from test file. Snippet from a sample JEST test below - ``` beforeAll(async () => { reporter.setEnvironment('<TestEnvironment>'); }); test('test functionality', async () => { reporter.setTestCaseID('<TestCaseID>'); }); ``` ### How to get screenshot of failure or final verification step. This screenshot will be auto uploaded to ATM TC. Snippet from a sample jest-puppeteer test below - ``` afterEach(async () => { let name = '<UniqueFileName.jpeg>'; await page.screenshot({ path: name, fullPage: true}); reporter.setScreenshotName(name); }); ``` Note: `reporter` is global. ### Features: * Creates new test environment in Kanoah(ATM) in case the provided test environment is missing in ATM * Supports appropriate result upload for both type of JEST test execution - `Sequential` and `Parallel` * Allows addition of metadata information - `Test Environment` and `Test case ID` per `describe` and `test` block * Uploads test execution results to Kanoah (ATM) with following information - * __Pass / Fail__ test in real time (per JEST `test` block execution) * Uploads the __actual time taken__ for the test to execute * Uploads __failure reason__ with *Fail* tests * Uploads __failure__ or __final verification__ screenshot with test * Each test result upload displays respective environment information as set using the `reporter` method - `setEnvironment` (eg. values - `<applicationName>_desktop_en` or `chrome`)