webdriverio-automation
Version:
WebdriverIO-Automation android ios project
37 lines (28 loc) • 971 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = elementSendKeys;
var _utils = require("../utils");
var _path = _interopRequireDefault(require("path"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
async function elementSendKeys({
elementId,
text
}) {
const elementHandle = this.elementStore.get(elementId);
if (!elementHandle) {
throw (0, _utils.getStaleElementError)(elementId);
}
await elementHandle.focus();
const page = this.getPageHandle();
const tagName = await (await elementHandle.getProperty('tagName')).jsonValue();
const type = await (await elementHandle.getProperty('type')).jsonValue();
if (tagName === 'INPUT' && type === 'file') {
const paths = (text || '').split('\n').map(p => _path.default.resolve(p));
await elementHandle.uploadFile(...paths);
} else {
await page.keyboard.type(text);
}
return null;
}