This is very early days concept :| You shouldn't expect too much out otf it. Created for a specific purpose which is far more important then the tool itself.
Because javascript UI tests should be run in the browser :]
This is a different idea of running UI tests:
instead of using API that allows you to manipulate the browser like nightwatch, selenium or nightmare it lets you run your tests directly in the browser.
It's very simple :] mocha-nightmare does the following things:
- launches nightmare (headless or headfull)
- sets up mocha test environment
- opens tested webpage
- injects you js files to the tested webpage context
- runs tests
- returns test results in xunit XML format
You might want to install it globally
npm i mocha-nightmare -g
prepare json configuration file
{
"testResources": [
"<path_to_js_file_you_want_be_injected_to_the_browser>"
]
}
run tests
mocha-nightmare -u http://<tested_page_url> -r <json_configuration_file_path>
check output (example printout)
<testsuite name="Mocha Tests" tests="1" failures="0" errors="0" skipped="0" timestamp="Tue, 22 Nov 2016 13:14:01 GMT" time="0.035">
<testcase classname="example test suite" name="example test" time="0"/>
</testsuite>
mocha-nightmare --help
Usage: index [options]
Options:
-h, --help output usage information
-u, --url <path> tested page url
-w, --warmup <n> a warmup timeout to be waited before launching tests [ms]
-l, --lifespan <n> a lifespan timeout after which test app will be terminated (if tests freeze) [ms]
-r, --resources <path> path to configuration json file
-h, --headfull displays electron UI
-e, --endless do not terminate electron UI afere all tests have been run
-v, --verbose print verbose info
go to example/
folder
run tests
./run.sh
TO BE DONE... :
at least:
- tests
- linting
- mocha & webConsole are a bit out of date
DEBUG=* mocha-nightmare -u http://<tested_page_url> -r <json_configuration_file_path> -v
this applies to ubunut server 16.04 only
- install missing libs
sudo apt install libxss1
- install xvfb
sudo apt install xvfb
- use xvfb-run to run
xvfb-run mocha-nightmare -u http://<tested_page_url> -r <json_configuration_file_path> -v