Skip to main content

overwriteCommand

Overview​

Use the overwriteCommand command to override existing commands of the browser or an element.

info

Also see the recipe "How to add custom commands".

Usage​

await browser.overwriteCommand(name, callback, elementScope);

Command Parameters​

NameTypeDescription
nameStringThe name of the custom command.
callbackFunctionThe function implementation of the command.
elementScopeBooleanIf the value is true, add the command to the element instead of the browser. Default: false.

Usage Examples​

// log the pause duration in ms before the pause and then return the value
await browser.overwriteCommand("pause", async function (origPauseFunction, ms) {
console.log(`Sleeping for ${ms}`);

await origPauseFunction(ms);

return ms;
});

// use the overwritten pause command
it("should use my overwrite command", async ({ browser }) => {
await browser.url("https://webdriver.io");

await browser.pause(1000); // outputs: "Sleeping for 1000"
});

References​

We'd like to give credit to the original WebdriverIO docs article, from which we drew some information while writing our version.