Checking whether the field is pre-populated for speed
Next, we will clear the field if it has any pre-existing text. The basic way to do this is with the clear()
method:
if (await inputField.getAttribute('value') !== '') { await inputField.clear(); }
An alternative way to clear the field can also be done by issuing a Meta-a
command to select all the text. The selected text is cleared by sending the backspace ASCII key code from the browser:
await browser.keys(['Meta', 'a']); await browser.keys(['\ue003']);
Now, we will type the text passed to the wrapper into the field from the browser:
await browser.keys(text);
Faster is not always better. If you find the speed of WebdriverIO typing text is causing issues, you can control how quickly text is typed with this alternative code:
// type text letter by letter for (let letter = 0; letter < text.length; letter++){ await pause(10); // control the typing speed await inputField...