
Security News
Package Maintainers Call for Improvements to GitHub’s New npm Security Plan
Maintainers back GitHub’s npm security overhaul but raise concerns about CI/CD workflows, enterprise support, and token management.
derby-webdriverio
Advanced tools
Webdriver.io for Derby.js
npm i --save derby-webdriverio
In your derby app index file:
# app/index.coffee
app = require('derby').createApp 'foobar', __filename
window.app = app if window? # app must be accessible from the client
app.use require('derby-webdriverio/renderReady')
Create wdio.conf.js
in project's root folder:
// wdio.conf.js
exports.config = require('derby-webdriverio')({
// Specify multiple browsers to run.
// If it's 1 then will be created a single 'remote' instance.
// If it's >=2 then 'multiremote' will be created; the whole group will be
// called with the specified name; and each browser in this group will
// have a singular form of that name + number, i.e. 'student0', 'student1', ...
// http://webdriver.io/guide/usage/multiremote.html
browsers: {
browser: 1,
prof: 1,
students: 10
},
// selenium settings to use for each browser specified above
desiredCapabilities: {
browserName: 'chrome'
},
// base url which will be used for .url() methods
baseUrl: 'http://localhost:3003',
// timeout to wait until test fails
waitforTimeout: 30000,
// path to save screenshots (by default it's /test/screenshots/, don't forget
// to add it to your .gitignore)
screenshotPath: __dirname + '/test/screenshots/',
// files with tests
specs: [
'./test/e2e/**/*.js',
'./test/e2e/**/*.coffee'
],
// files to ignore
exclude: [
'./test/e2e/**/_*.js',
'./test/e2e/**/_*.coffee'
]
})
To run your tests:
./node_modules/.bin/wdio
If you want to run it as npm test
you can add the following script to your package.json
:
"scripts": {
"test": "wdio",
},
.*AndWait()
These methods accept the same arguments as the original methods. They do the same action and wait for derby page to fully load after that.
.urlAndWait()
.clickAndWait()
.submitFormAndWait()
All racer get-
and set-
methods are available.
Couple of examples:
.modelGet()
browser
.modelGet '_session.userId'
.then (userId) ->
@urlAndWait '/profile/' + userId
.modelSet()
it 'check title', ->
newTitle = 'New Title'
prevTitle = yield browser.modelSet '_page.title', newTitle
browser.getTitle()
.then (title) ->
title.should.not.equal prevTitle
title.should.equal newTitle
.modelAdd
, .modelPop
, etc..historyPush(path)
Do app.history.push
on the client and wait for the page to fully load.
browser
.historyPush '/profile'
.getTitle()
.should.eventually.equal 'My Profile'
.historyRefresh()
Refresh the page using app.history.refresh
on the client.
A bunch of useful shorthand methods to test things.
All of them accept the arguments which will be passed to X()
function.
shouldExist()
browser
# Note that the arguments passed here are `X()` function arguments
.shouldExist 'form.main button *= Submit'
.shouldExist '*= Welcome to my Website'
shouldNotExist()
shouldBeVisible()
shouldNotBeVisible()
shouldExecute
Accepts the same arguments as .execute()
and checks that its return value
equals true
FAQs
Webdriver.io for Derby.js
The npm package derby-webdriverio receives a total of 42 weekly downloads. As such, derby-webdriverio popularity was classified as not popular.
We found that derby-webdriverio demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 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.
Security News
Maintainers back GitHub’s npm security overhaul but raise concerns about CI/CD workflows, enterprise support, and token management.
Product
Socket Firewall is a free tool that blocks malicious packages at install time, giving developers proactive protection against rising supply chain attacks.
Research
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.