@luminati-io/webdriverio8
Version:
Next-gen browser and mobile automation test framework for Node.js
45 lines (44 loc) • 2.35 kB
JavaScript
const VALID_TYPES = ['string', 'number'];
/**
*
* Add a value to an input or textarea element found by given selector.
*
* :::info
*
* If you like to use special characters, e.g. to copy and paste a value from one input to another, use the
* [`keys`](/docs/api/browser/keys) command.
*
* :::
*
* <example>
:addValue.js
it('should demonstrate the addValue command', async () => {
let input = await $('.input')
await input.addValue('test')
await input.addValue(123)
value = await input.getValue()
assert(value === 'test123') // true
})
* </example>
*
* @alias element.addValue
* @param {string | number} value value to be added
*
*/
export function addValue(value) {
/**
* The JSONWireProtocol allowed array values and use of special characters when adding a value to an input.
* With the W3C protocol this was not possible anymore. This is a type check to ensure users are aware of
* this transition.
*/
if (!VALID_TYPES.includes(typeof value)) {
throw new Error('The setValue/addValue command only take string or number values. ' +
'If you like to use special characters, use the "keys" command.');
}
if (this.isW3C) {
return this.elementSendKeys(this.elementId, value.toString());
}
// @ts-expect-error command is not typed as JWP command
return this.elementSendKeys(this.elementId, [value.toString()]);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkVmFsdWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvZWxlbWVudC9hZGRWYWx1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFdBQVcsR0FBRyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQTtBQUV4Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQkc7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUVwQixLQUFzQjtJQUV0Qjs7OztPQUlHO0lBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQ1gsbUVBQW1FO1lBQ25FLGdFQUFnRSxDQUNuRSxDQUFBO0lBQ0wsQ0FBQztJQUVELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7SUFDakUsQ0FBQztJQUVELHVEQUF1RDtJQUN2RCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFDbkUsQ0FBQyJ9