node package manager
Stop wasting time. Easily manage code sharing in your team. Create a free org »



Build Status

Package that provides real e2e tests.


$ sudo apt-get install xvfb # just to run hidden tests
$ npm install -g nightwatch
$ npm install -g real-test

Quick Start

$ real-test -c /home/user/documents/configs/example.json

to see more options:

$ real-test -h


  • Real test E2E
  • Easy to write tests
  • Componentized


  • If action url does not have a value attribute, the app will use url attribute in json
  • You can set global variables, these variables will change in tests files (example: {"action": "pause", "value": "!!timeout"})
  "name": "CONFIG_A",
    "default": "",
    "prefix": "",
    "sufix": ""
    "search": "real-test github lucasvmiguel"
    "path": "/home/user/documents/tests"        "path where the app will read the tests"


  • Header: some information to test(needs be the first action)
  • IMPORTANT: you can't write action header with 'only' and 'notOnly' at same time
    "action": "header",
    "type": "helper",            "JUST FOR PARCIAL TEST"
    "only": "CONFIG_NAME_A",     "USE IT"
    "notOnly": "CONFIG_NAME_B"   "OR USE IT"
  • Import: import json inside test
  • IMPORTANT: You need set header type helper to import a file
    "action": "import",
    "value": "Login"
  • Assert: compare something
    "action": "assert",
    "type": "urlContains|urlEquals|elemExists|elemNotExists|text",
    "value": "notebook",
    "timeout": 10000
  • Cookie: write or assert
    "action": "cookie",
    "type": "write",
    "value": "b2b"
  • Click: click on selector
    "action": "click",
    "required": true,
    "selector": "#nav-search > form > div.nav-right > div > input"
  • Desktop: change to view desktop
    "action": "desktop"
  • Phone: change to view phone
    "action": "phone"
  • Tablet: change to view tablet
    "action": "tablet"
  • Log: log into console
    "action": "log",
    "value": "message"
  • Pause: Pause the test for X milliseconds
    "action": "pause",
    "value": 5000
  • Write: Write text
    "action": "write",
    "timeout": 5000,
    "value": "message",
    "selector": "#nav-search > form > div.nav-right > div > input",
    "require": true
  • Url: Access url
    "action": "url",
    "value": ""

All actions are in actions folder