Skip to main content

overwriteCommand

The browser method overwriteCommand helps you to overwrite the browser's and element's native commands like pause and click.

info

You can view more information on this in the custom command section.

Usage​

browser.overwriteCommand(name, callback, { attachToElement })

Parameters​

NameTypeDetails
namestringname of the original command
callbackFunctionpass original function
options
optional
Objectoptions object
options.attachToElement
optional
Booleanextend the Element object instead of the Browser object

Example​

execute.js
// print milliseconds before pause and return its value.
await browser.overwriteCommand('pause', function (origPauseFunction, ms) {
console.log(`Sleeping for ${ms}`)
origPauseFunction(ms)
return ms
})

// overwrite an element command
await browser.overwriteCommand('click', function (origClickFunction) {
console.log('clicking')
return origClickFunction()
}, { attachToElement: true })

// usage
it('should use my overwrite command', async () => {
await browser.url('https://webdriver.io')
await browser.pause(1000) // outputs "Sleeping for 1000"
})

Welcome! How can I help?

WebdriverIO AI Copilot