Afterburner is a meta-framework for testing web applications, web services, systems, and for end-to-end testing.
- Zero-configuration needed: just install it and start writing tests immediately against any endpoint.
- Test helper methods out-of-the-box: you have everything you need to write your entire test suite.
- Built-in proxy: no CORS or cross-domain headaches to get in the way of your testing.
- Built-in command-line endpoint: execute system commands from your test.
- Familiar test experience using QUnit.
Node.js is a prerequisite, as this is a Node application.
- Install Afterburner.
npm i -g @afterburner-js/afterburner-js
- Generate a new Afterburner test application.
afterburner new <appName>
- Navigate into the newly created folder.
cd <appName>
- Install dependencies
npm i
- Run Afterburner, specifying the hostname or IP address of your web application.
afterburner test host=<host>
- Open
tests/acceptance/hello-world.js
and start writing your tests!
In the section above, we ran Afterburner in development mode, where a local server is started along with file watching so that your tests are automatically reloaded and run again every time you save changes to your test files.
To run the test suite in a headless browser for CI, run afterburner test host=<host> ci=true
.
See afterburner-config.js
, afterburner-helper-hooks.js
, and afterburner-lifecycle.js
.
You should only ever run this application against a host you fully trust because of the proxy and the ability to execute system commands. However, this behavior can be disabled or modified. See middleware/proxy.js
and middleware/shelly.js
.
Afterburner was developed at IBM Cloud Object Storage to fill a test gap between applications and to optimize the feedback loop during test writing.