Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
testarmada-nightwatch-extra
Advanced tools
Enhanced nightwatchjs commands and assertions for test automation for desktop web, mobile web, native app and hybrid app.
:visible
pseudo) before executing every nightwatch command or assertion (done by injecting sizzlejs)../bin/owl can generate nightwatch compatible wd commands for you so that you can use nightwatch runner to run test written in wd format. All nightwatch compatible wd commands follow the same nightwatch standard and can be chained as plain nightwatch commands.
All wd commands will be transformed into nightwatch custom command files with name wd${command}.js
and capitalized first letter in wd command name in the given folder. For example wd command element
will be transformed into file wdElement.js
, and clickElement
will be transformed into wdClickElement.js
.
The command parameters will stay the same.
// wd command
.element('accessibility id', 'signin', (el) => console.log(el));
// nightwatch command
.wdElement('accessibility id', 'signin', (el) => console.log(el));
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
For desktop and mobile web test, please refer to this page.
For iOS app test, please refer to this page.
After npm install
./bin/owl can be found under ./node_modules/.bin/owl
. To use ./bin/owl latet wd is required. Please do npm install wd --save
in your repo firstly.
To create wd commands under ./lib/custom_command
./bin/owl --output ./lib/custom_command --config ${path to nightwatch.json}
If you're migrating from magellan-nightwatch to nightwatch-extra, please follow the steps
./node_modules/testarmada-magellan-nightwatch
from your project.package.json
dependencies:{
"testarmada-magellan-nightwatch: "${VERSION}", // DELETE THIS LINE
"testarmada-nightwatch-extra: "^3.0.0" // ADD THIS LINE
}
npm install
again under your project root folder.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
]
require("testarmada-magellan-nightwatch/lib/base-test-class"); // DELETE THIS LINE
require("testarmada-nightwatch-extra/lib/base-test-class"); // ADD THIS LINE
Nightwatch-Extra@4
makes appium
an option besides selenium-server
, which means you can now use nightwatchjs to test in appium either locally or with a test environment provider, such as saucelabs, for mobile web or app test.
nightwatch.json
file has the following changes"custom_commands_path":[
"./node_modules/testarmada-nightwatch-extra/lib/commands",
"./node_modules/testarmada-nightwatch-extra/lib/commands/mobile"
],
"custom_assertions_path":[
"./node_modules/testarmada-nightwatch-extra/lib/assertions",
"./node_modules/testarmada-nightwatch-extra/lib/assertions/mobile"
]
nightwatch.json
"selenium": {
"start_process": false
},
"appium": {
"start_process": true
}
Full example nightwatch.json
We've added a callback in before
. If you have a customized base test, please make sure you have the callback called in your customized baseTest.before
.
Please refer to Here as example.
after
needs to be called at the very first step in your customized baseTest.after
if you have one.
Please refer to Here as example.
To automatically handle appium server, a globals.js
is required to start appium in nightwatchjs's global before and stop appium in global after.
Please refer to the changes in nightwatch.json and globals.js for more info.
FAQs
extra useful nightwatch command and assertion
The npm package testarmada-nightwatch-extra receives a total of 14 weekly downloads. As such, testarmada-nightwatch-extra popularity was classified as not popular.
We found that testarmada-nightwatch-extra demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 10 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.