.setValue(value)
Replaces element value, clearing existing input.
Usage
element(matcher).setValue(value)
Parameters
value
(String | Number | Boolean
): Value to replace with.
Returns
Element
: A new element to avoid mutation and allow function chaining.
Support
Platform | Supported |
---|---|
iOS | Yes |
Android | Yes |
Web | Yes |
Examples
Text input:
const { element, by, expect } = require("appdriver");
(async () => {
const $input = await element(by.label("text-input"));
const value = "Hello World!";
$input.setValue(value);
await expect($input).toHaveValue(value);
})();
Slider:
const { element, by, expect } = require("appdriver");
(async () => {
const $input = await element(by.label("slider"), { sliderRange: [ 0, 10 ]});
const value = 5;
await $input.setValue(value);
await expect($input).toHaveValue(value);
})();
Switch:
const { element, by, expect } = require("appdriver");
(async () => {
const $input = await element(by.label("switch"));
const value = true;
await $input.setValue(value);
await expect($input).toHaveValue(value);
})();
Known Issues
- iOS simulators fail to input text when the hardware keyboard is connected. Ensure
Hardware > Keyboard > Connect Hardware Keyboard
is unchecked.