diff --git a/lib/helper.js b/lib/helper.js index 97f31736..9cec7490 100644 --- a/lib/helper.js +++ b/lib/helper.js @@ -381,21 +381,25 @@ const extendsMixIn = wd => { * @summary Support: Web(WebView) * @param {string} eventType of the event. * @param {number} keyCode of the event. + * @param {number} key of the event. * @type utility * @returns {Promise.} */ - wd.addPromiseChainMethod('keyboardEvent', function(eventType = 'keydown', keyCode = 13) { + wd.addPromiseChainMethod('keyboardEvent', function(eventType = 'keydown', keyCode = 13, key) { // TODO // HTMLEvents eventType = eventType.toLowerCase(); const uuid = Date.now(); - const script = ` + let script = ` var _element_${uuid} = window.__macaca_current_element; var event_${uuid} = document.createEvent('UIEvents'); event_${uuid}.initUIEvent('${eventType}', true, true, window, 0); event_${uuid}.keyCode = ${keyCode}; - _element_${uuid}.dispatchEvent(event_${uuid}); `; + if (key) { + script += `event_${uuid}.key = '${key}';`; + } + script += `_element_${uuid}.dispatchEvent(event_${uuid});`; return this .execute(script) .sleep(100); diff --git a/package.json b/package.json index b4b60de2..25926753 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "macaca-wd", - "version": "2.2.1", + "version": "2.2.2", "description": "Macaca wd client", "keywords": [ "macaca",