addCommand

The browser method addCommand helps you to write your own set of commands. You can write your command in a synchronous way or in an asynchronous way.

info

You can find more information on adding custom commands in the custom command guide.

Usage#
browser.addCommand(name, callback, elementScope)
Parameters#
NameTypeDetails
nameStringname of the custom command
callbackFunctionfunction to be called
elementScope
optional
Booleanextend the Element object instead of the Browser object
Example#
execute.js
browser.addCommand('getUrlAndTitle', function (customParam) {
// `this` refers to the `browser` scope
return {
url: this.getUrl(),
title: this.getTitle(),
customParam: customParam
}
})
//usage
it('should use my add command', () => {
browser.url('https://webdriver.io')
const result = browser.getUrlAndTitle('foobar')
assert.strictEqual(result.url, 'https://webdriver.io')
assert.strictEqual(result.title, 'WebdriverIO · Next-gen browser and mobile automation test framework for Node.js')
assert.strictEqual(result.customParam, 'foobar')
})