
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
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 19 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
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.