testcafe-reporter-acd-html-reporter
This is the acd-html-reporter reporter plugin for TestCafe.
About
New in 1.4:
Added correct error messages for hooks (before, after, etc).
Impoved errors text for all cases (added base TestCafe messages).
New in 1.3:
concurrency (also for Logger)
Added support ofTS Logger moved from 'testcafe-reporter-acd-html-reporter/utils/Logger' to 'testcafe-reporter-acd-html-reporter/lib/Logger'
--appendLogs.
Added argument--reportFile is applying by default
Argumentnpx acd-html-combine command
Added supportAdded argument --logWarnings. If used, warnings will be logged to console after test run.
Reporter in .html format, for seeing it, you don't need to start any server. Except reporting to file, test run info duplicates in console.
concurrency
WARN: next line is required, concurrency with the reporter doesn't work without it!
To run tests concurrently, need to run the command first: `npx acd-html-reporter` (after npm i, should be used with installed testcafe)
appendLogs
With that tag report always will be generated to one file.
Result files saved like `report_3.02_34138.json`, where 34138 - run id. Result will be formed as by npx acd-html-combine command (with combined json).
With definition --reportFile can be used to write results in one file for different runs.
acd-html-combine
Command npx acd-html-combine can combine some .json result files to 1 report file.
The command can be used in 2 ways, with a folder or with list of files delimited by ',':
1. npx acd-html-combine test-results/report_1.02/report_1.02.json,test-results/report_1.11/report_1.11.json
In that case report will be generated from the files in the list.
2. npx acd-html-combine test-results
In that case report will be generated from all .json files in the folder (except which are ended with -combined.json).
Result html file will be generated in base report folder with report-combined.json file with all files data.
If need to save combined report to a different path, use --dest (-dest) argument, e.g.:
npx acd-html-combine test-results --dest 123.html
npx acd-html-combine test-results -dest=path/to/123.html
In that case report-combined.json will be in the same folder.
baseReportDir
The report generates in base folder: {project}/test-results/report_{current date} as report.html (html + js/css/img files in case saving as folder.)
Also reporter generates json file with test run info, it places in: {report_directory}/report.json.
If you need to run some times a day, save report, because old version with same date will be rewrited.
You can change the report saving directory or save report to single file (without css, js and img files).
For extended test run information you can use Logger, implemented in the reporter.
Method Logger.warn automatically sets status of a test: 'broken'.
Logger.warn('Something is strange in this test, may be bug, that 2+2=5 isn't truth');
await t.expect(2 + 2).eql(5);
Methods Logger.cleanUp and Logger.preconditions can be used in test hooks (beforeTest, afterTest, etc). It's equivalent of Logger.step, but without step number.
Logger.step can be used with some steps as number, e.g. [1, 2, 3, 4], it will be showed in the report as Step 1-4.
Logger.step(1, 'Click the link and do something');
Logger.step([2, 3, 4], 'Doing something else');
Logger.info used for adding some information of test actions.
Logger.step(1, 'Click the link and do something');
await t.click('link');
Logger.info('Check that page opened');
await t.expect...
Install
npm install testcafe-reporter-acd-html-reporter
Usage
When you run tests from the command line, specify the reporter name by using the --reporter
option:
testcafe chrome 'path/to/test/file.js' --reporter acd-html-reporter
If you want to have screenshots in report, use -s
option:
testcafe chrome 'path/to/test/file.js' --reporter acd-html-reporter -s takeOnFails=true
If you want to save report to another folder, you can use `--reportPath` argument:
testcafe chrome 'path/to/test/file.js' --reporter acd-html-reporter --reportPath path/to/my/report
If you want to save report as single file, use `--reportFile` argument. If you don't passed argument value, it saved to base report folder as report.html and report.json:
testcafe chrome 'path/to/test/file.js' --reporter acd-html-reporter --reportFile
or you can add folder name to report (report will be saved as path/to/html/report.html and path/to/html/report.json):
testcafe chrome 'path/to/test/file.js' --reporter acd-html-reporter --reportFile path/to/html
or if the path ended with .html, report will be saved to it folder (path/to/my.html and path/to/report.json):
testcafe chrome 'path/to/test/file.js' --reporter acd-html-reporter --reportFile path/to/my.html
If you want to replace files of screenshots with base64 strings, use `--base64screens` argument (report file can have large size).
Author
Alex Chernik
Links
https://github.com/chalk/chalk https://devexpress.github.io/testcafe/documentation/extending-testcafe/reporter-plugin/helpers.html