Enhanced nightwatchjs commands and assertions for test automation for desktop web, mobile web, native app and hybrid app.
Features
nightwatch enhancement
- A appium integrated base test for customization.
nightwatch enhancement for desktop web test
- An automatic wait for element to be visible (using
:visible
pseudo) before executing every nightwatch command or assertion (done by injecting sizzlejs). - A base command with wait-for-visible feature for further extension.
- A base assertion with wait-for-visible feature for further extension.
- An easy-to-use sizzlejs selector option.
- Sets of enhanced commands and assertions
nightwatch extension for mobile web native app test
- Option to launch appium programmatically in base test for easy debugging and test integration.
- A base command for native app test with wait-for-visible feature for further extension.
- A base assertion for native app test with wait-for-visible feature for further extension.
- Sets of enhanced commands and assertions for native app test.
Usage
In nightwatch.json
add following content
"custom_assertions_path": [
"./node_modules/testarmada-nightwatch-extra/lib/assertions",
"./node_modules/testarmada-nightwatch-extra/lib/assertions/mobile"
],
"custom_commands_path": [
"./node_modules/testarmada-nightwatch-extra/lib/commands",
"./node_modules/testarmada-nightwatch-extra/lib/commands/mobile"
]
If you're using this repo together with testarmada-magellan, your base test can inherit from the base test by
var BaseTest = require("testarmada-nightwatch-extra/lib/base-test-class");
For full example, please checkout boilerplate-nightwatch
Web test
For either desktop web or mobile web, please refer to this page.
iOS app test
For iOS app test, please refer to this page.
Important migration notice
If you're migrating from magellan-nightwatch to nightwatch-extra, please follow the steps
- Delete
./node_modules/testarmada-magellan-nightwatch
from your project. - In
package.json
dependencies:{
"testarmada-magellan-nightwatch: VERSION <---- DELETE THIS LINE
"testarmada-nightwatch-extra: "^3.0.0" <---- ADD THIS LINE
}
- Run
npm install
again under your project root folder. - Make sure your
nightwatch.json
file has the following changes
"custom_commands_path":[
"./node_modules/testarmada-magellan-nightwatch/lib/commands" <---- DELETE THIS LINE
"./node_modules/testarmada-nightwatch-extra/lib/commands" <---- ADD THIS LINE
],
"custom_assertions_path":[
"./node_modules/testarmada-magellan-nightwatch/lib/assertions" <---- DELETE THIS LINE
"./node_modules/testarmada-nightwatch-extra/lib/assertions" <---- ADD THIS LINE
]
- Change parent of your base test class (if there is)
require("testarmada-magellan-nightwatch/lib/base-test-class"); <---- DELETE THIS LINE
require("testarmada-nightwatch-extra/lib/base-test-class"); <---- ADD THIS LINE