0.1.2 • Published 7 years ago

mocha-nightmare v0.1.2

Weekly downloads
3
License
MIT
Repository
github
Last release
7 years ago

mocha-nightmare

alt tag

Caution

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.

Motivation

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.

How it works

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

Usage

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>

cmd options

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

Example

go to example/ folder run tests

./run.sh

Tests

TO BE DONE... :

TODO

at least:

  • tests
  • linting
  • mocha & webConsole are a bit out of date

Troubleshooting

DEBUG=* mocha-nightmare -u http://<tested_page_url> -r <json_configuration_file_path> -v

Running in headless environment

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
0.1.2

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago