appium-remote-debugger 9.1.13 → 9.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [9.1.14](https://github.com/appium/appium-remote-debugger/compare/v9.1.13...v9.1.14) (2023-03-03)
2
+
3
+
4
+ ### Miscellaneous Chores
5
+
6
+ * Improve error messages on missing params ([#288](https://github.com/appium/appium-remote-debugger/issues/288)) ([a5fc3f0](https://github.com/appium/appium-remote-debugger/commit/a5fc3f0e43c62228f3098c139bd77cd372e461ae))
7
+
1
8
  ## [9.1.13](https://github.com/appium/appium-remote-debugger/compare/v9.1.12...v9.1.13) (2023-02-27)
2
9
 
3
10
 
@@ -93,10 +93,12 @@ async function execute(command, override) {
93
93
  _logger.default.debug('Trying to execute but page is not loaded.');
94
94
  await this.waitForDom();
95
95
  }
96
- (0, _utils.checkParams)({
97
- appIdKey: this.appIdKey,
98
- pageIdKey: this.pageIdKey
99
- });
96
+ if (_lodash.default.isNil(this.appIdKey)) {
97
+ throw new Error('Missing parameter: appIdKey. Is the target web application still alive?');
98
+ }
99
+ if (_lodash.default.isNil(this.pageIdKey)) {
100
+ throw new Error('Missing parameter: pageIdKey. Is the target web page still alive?');
101
+ }
100
102
  if (this.garbageCollectOnExecute) {
101
103
  await this.garbageCollect();
102
104
  }
@@ -137,4 +139,4 @@ var _default = {
137
139
  callFunction
138
140
  };
139
141
  exports.default = _default;
140
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9nZ2VyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfYmFzZURyaXZlciIsIl91dGlscyIsIl9hdG9tcyIsIl9zdXBwb3J0IiwiX2FzeW5jYm94IiwiX2xvZGFzaCIsIlJQQ19SRVNQT05TRV9USU1FT1VUX01TIiwiZXhlY3V0ZUF0b20iLCJhdG9tIiwiYXJncyIsImZyYW1lcyIsInJwY0NsaWVudCIsImlzQ29ubmVjdGVkIiwiRXJyb3IiLCJsb2ciLCJkZWJ1ZyIsIkpTT04iLCJzdHJpbmdpZnkiLCJzY3JpcHQiLCJnZXRTY3JpcHRGb3JBdG9tIiwidmFsdWUiLCJleGVjdXRlIiwiXyIsInRydW5jYXRlIiwic2ltcGxlU3RyaW5naWZ5IiwibGVuZ3RoIiwiUkVTUE9OU0VfTE9HX0xFTkdUSCIsImV4ZWN1dGVBdG9tQXN5bmMiLCJldmFsdWF0ZSIsIm1ldGhvZCIsIm9wdHMiLCJzZW5kIiwiT2JqZWN0IiwiYXNzaWduIiwiYXBwSWRLZXkiLCJwYWdlSWRLZXkiLCJyZXR1cm5CeVZhbHVlIiwicHJvbWlzZU5hbWUiLCJ1dGlsIiwidXVpZFY0IiwicmVwbGFjZSIsIm9iaiIsImV4cHJlc3Npb24iLCJwcm9taXNlT2JqZWN0SWQiLCJyZXN1bHQiLCJvYmplY3RJZCIsImFzeW5jQ2FsbEJhY2siLCJyZXMiLCJzdWJjb21tYW5kVGltZW91dCIsImdlbmVyYXRlUHJldmlldyIsInNhdmVSZXN1bHQiLCJlcnIiLCJtZXNzYWdlIiwiaW5jbHVkZXMiLCJyZXRyeVdhaXQiLCJ0aW1lb3V0IiwicmV0cmllcyIsInBhcnNlSW50IiwidGltZXIiLCJ0aW1pbmciLCJUaW1lciIsInN0YXJ0IiwicmV0cnlJbnRlcnZhbCIsImhhc1ZhbHVlIiwiZXJyb3JzIiwiVGltZW91dEVycm9yIiwiZ2V0RHVyYXRpb24iLCJhc01pbGxpU2Vjb25kcyIsInRvRml4ZWQiLCJpZ24iLCJjb252ZXJ0UmVzdWx0IiwiY29tbWFuZCIsIm92ZXJyaWRlIiwicGFnZUxvYWRpbmciLCJ3YWl0Rm9yRG9tIiwiY2hlY2tQYXJhbXMiLCJnYXJiYWdlQ29sbGVjdE9uRXhlY3V0ZSIsImdhcmJhZ2VDb2xsZWN0IiwiY2FsbEZ1bmN0aW9uIiwiZm4iLCJmdW5jdGlvbkRlY2xhcmF0aW9uIiwiYXJndW1lbnRzIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9taXhpbnMvZXhlY3V0ZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbG9nIGZyb20gJy4uL2xvZ2dlcic7XG5pbXBvcnQgeyBlcnJvcnMgfSBmcm9tICdAYXBwaXVtL2Jhc2UtZHJpdmVyJztcbmltcG9ydCB7IGNoZWNrUGFyYW1zLCBzaW1wbGVTdHJpbmdpZnksIGNvbnZlcnRSZXN1bHQsIFJFU1BPTlNFX0xPR19MRU5HVEggfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBnZXRTY3JpcHRGb3JBdG9tIH0gZnJvbSAnLi4vYXRvbXMnO1xuaW1wb3J0IHsgdXRpbCwgdGltaW5nIH0gZnJvbSAnQGFwcGl1bS9zdXBwb3J0JztcbmltcG9ydCB7IHJldHJ5SW50ZXJ2YWwgfSBmcm9tICdhc3luY2JveCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5cbi8qIEhvdyBtYW55IG1pbGxpc2Vjb25kcyB0byB3YWl0IGZvciB3ZWJraXQgdG8gcmV0dXJuIGEgcmVzcG9uc2UgYmVmb3JlIHRpbWluZyBvdXQgKi9cbmNvbnN0IFJQQ19SRVNQT05TRV9USU1FT1VUX01TID0gNTAwMDtcblxuLyoqXG4gKiBFeGVjdXRlIGEgU2VsZW5pdW0gYXRvbSBpbiBTYWZhcmlcbiAqIEBwYXJhbSB7c3RyaW5nfSBhdG9tIE5hbWUgb2YgU2VsZW5pdW0gYXRvbSAoc2VlIGF0b21zLyBkaXJlY3RvcnkpXG4gKiBAcGFyYW0ge0FycmF5PCo+fSBhcmdzIEFyZ3VtZW50cyBwYXNzZWQgdG8gdGhlIGF0b21cbiAqIEBwYXJhbSB7QXJyYXk8c3RyaW5nPn0gZnJhbWVzXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgcmVzdWx0IHJlY2VpdmVkIGZyb20gdGhlIGF0b21cbiAqL1xuYXN5bmMgZnVuY3Rpb24gZXhlY3V0ZUF0b20gKGF0b20sIGFyZ3MsIGZyYW1lcykge1xuICBpZiAoIXRoaXMucnBjQ2xpZW50LmlzQ29ubmVjdGVkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdSZW1vdGUgZGVidWdnZXIgaXMgbm90IGNvbm5lY3RlZCcpO1xuICB9XG5cbiAgbG9nLmRlYnVnKGBFeGVjdXRpbmcgYXRvbSAnJHthdG9tfScgd2l0aCAnYXJncz0ke0pTT04uc3RyaW5naWZ5KGFyZ3MpfTsgZnJhbWVzPSR7ZnJhbWVzfSdgKTtcbiAgY29uc3Qgc2NyaXB0ID0gYXdhaXQgZ2V0U2NyaXB0Rm9yQXRvbShhdG9tLCBhcmdzLCBmcmFtZXMpO1xuICBjb25zdCB2YWx1ZSA9IGF3YWl0IHRoaXMuZXhlY3V0ZShzY3JpcHQsIHRydWUpO1xuICBsb2cuZGVidWcoYFJlY2VpdmVkIHJlc3VsdCBmb3IgYXRvbSAnJHthdG9tfScgZXhlY3V0aW9uOiAke18udHJ1bmNhdGUoc2ltcGxlU3RyaW5naWZ5KHZhbHVlKSwge2xlbmd0aDogUkVTUE9OU0VfTE9HX0xFTkdUSH0pfWApO1xuICByZXR1cm4gdmFsdWU7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGV4ZWN1dGVBdG9tQXN5bmMgKGF0b20sIGFyZ3MsIGZyYW1lcykge1xuICAvLyBoZWxwZXIgdG8gc2VuZCBkaXJlY3RseSB0byB0aGUgd2ViIGluc3BlY3RvclxuICBjb25zdCBldmFsdWF0ZSA9IGFzeW5jIChtZXRob2QsIG9wdHMpID0+IGF3YWl0IHRoaXMucnBjQ2xpZW50LnNlbmQobWV0aG9kLCBPYmplY3QuYXNzaWduKHtcbiAgICBhcHBJZEtleTogdGhpcy5hcHBJZEtleSxcbiAgICBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5LFxuICAgIHJldHVybkJ5VmFsdWU6IGZhbHNlLFxuICB9LCBvcHRzKSk7XG5cbiAgLy8gZmlyc3QgY3JlYXRlIGEgUHJvbWlzZSBvbiB0aGUgcGFnZSwgc2F2aW5nIHRoZSByZXNvbHZlL3JlamVjdCBmdW5jdGlvbnNcbiAgLy8gYXMgcHJvcGVydGllc1xuICBjb25zdCBwcm9taXNlTmFtZSA9IGBhcHBpdW1Bc3luY0V4ZWN1dGVQcm9taXNlJHt1dGlsLnV1aWRWNCgpLnJlcGxhY2UoLy0vZywgJycpfWA7XG4gIGNvbnN0IHNjcmlwdCA9XG4gICAgYHZhciByZXMsIHJlajtcbiAgICB3aW5kb3cuJHtwcm9taXNlTmFtZX0gPSBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICByZXMgPSByZXNvbHZlO1xuICAgICAgcmVqID0gcmVqZWN0O1xuICAgIH0pO1xuICAgIHdpbmRvdy4ke3Byb21pc2VOYW1lfS5yZXNvbHZlID0gcmVzO1xuICAgIHdpbmRvdy4ke3Byb21pc2VOYW1lfS5yZWplY3QgPSByZWo7XG4gICAgd2luZG93LiR7cHJvbWlzZU5hbWV9O2A7XG4gIGNvbnN0IG9iaiA9IGF3YWl0IGV2YWx1YXRlKCdSdW50aW1lLmV2YWx1YXRlJywge1xuICAgIGV4cHJlc3Npb246IHNjcmlwdCxcbiAgfSk7XG4gIGNvbnN0IHByb21pc2VPYmplY3RJZCA9IG9iai5yZXN1bHQub2JqZWN0SWQ7XG5cbiAgLy8gZXhlY3V0ZSB0aGUgYXRvbSwgY2FsbGluZyBiYWNrIHRvIHRoZSByZXNvbHZlIGZ1bmN0aW9uXG4gIGNvbnN0IGFzeW5jQ2FsbEJhY2sgPVxuICAgIGBmdW5jdGlvbiAocmVzKSB7XG4gICAgICB3aW5kb3cuJHtwcm9taXNlTmFtZX0ucmVzb2x2ZShyZXMpO1xuICAgICAgd2luZG93LiR7cHJvbWlzZU5hbWV9VmFsdWUgPSByZXM7XG4gICAgfWA7XG4gIGF3YWl0IHRoaXMuZXhlY3V0ZShhd2FpdCBnZXRTY3JpcHRGb3JBdG9tKGF0b20sIGFyZ3MsIGZyYW1lcywgYXN5bmNDYWxsQmFjaykpO1xuXG4gIC8vIHdhaXQgZm9yIHRoZSBwcm9taXNlIHRvIGJlIHJlc29sdmVkXG4gIGxldCByZXM7XG4gIGNvbnN0IHN1YmNvbW1hbmRUaW1lb3V0ID0gMTAwMDsgLy8gdGltZW91dCBvbiBpbmRpdmlkdWFsIGNvbW1hbmRzXG4gIHRyeSB7XG4gICAgcmVzID0gYXdhaXQgZXZhbHVhdGUoJ1J1bnRpbWUuYXdhaXRQcm9taXNlJywge1xuICAgICAgcHJvbWlzZU9iamVjdElkLFxuICAgICAgcmV0dXJuQnlWYWx1ZTogdHJ1ZSxcbiAgICAgIGdlbmVyYXRlUHJldmlldzogdHJ1ZSxcbiAgICAgIHNhdmVSZXN1bHQ6IHRydWUsXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGlmICghZXJyLm1lc3NhZ2UuaW5jbHVkZXMoYCdSdW50aW1lLmF3YWl0UHJvbWlzZScgd2FzIG5vdCBmb3VuZGApKSB7XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfVxuICAgIC8vIGF3YWl0UHJvbWlzZSBpcyBub3QgYWx3YXlzIGF2YWlsYWJsZSwgc28gc2ltdWxhdGUgaXQgd2l0aCBwb2xsXG4gICAgY29uc3QgcmV0cnlXYWl0ID0gMTAwO1xuICAgIGNvbnN0IHRpbWVvdXQgPSAoYXJncy5sZW5ndGggPj0gMykgPyBhcmdzWzJdIDogUlBDX1JFU1BPTlNFX1RJTUVPVVRfTVM7XG4gICAgLy8gaWYgdGhlIHRpbWVvdXQgbWF0aCB0dXJucyB1cCAwIHJldHJpZXMsIG1ha2Ugc3VyZSBpdCBoYXBwZW5zIG9uY2VcbiAgICBjb25zdCByZXRyaWVzID0gcGFyc2VJbnQodGltZW91dCAvIHJldHJ5V2FpdCwgMTApIHx8IDE7XG4gICAgY29uc3QgdGltZXIgPSBuZXcgdGltaW5nLlRpbWVyKCkuc3RhcnQoKTtcbiAgICBsb2cuZGVidWcoYFdhaXRpbmcgdXAgdG8gJHt0aW1lb3V0fW1zIGZvciBhc3luYyBleGVjdXRlIHRvIGZpbmlzaGApO1xuICAgIHJlcyA9IGF3YWl0IHJldHJ5SW50ZXJ2YWwocmV0cmllcywgcmV0cnlXYWl0LCBhc3luYyAoKSA9PiB7XG4gICAgICAvLyB0aGUgYXRvbSBfd2lsbF8gcmV0dXJuLCBlaXRoZXIgYmVjYXVzZSBpdCBmaW5pc2hlZCBvciBhbiBlcnJvclxuICAgICAgLy8gaW5jbHVkaW5nIGEgdGltZW91dCBlcnJvclxuICAgICAgY29uc3QgaGFzVmFsdWUgPSBhd2FpdCBldmFsdWF0ZSgnUnVudGltZS5ldmFsdWF0ZScsIHtcbiAgICAgICAgZXhwcmVzc2lvbjogYHdpbmRvdy5oYXNPd25Qcm9wZXJ0eSgnJHtwcm9taXNlTmFtZX1WYWx1ZScpO2AsXG4gICAgICAgIHJldHVybkJ5VmFsdWU6IHRydWUsXG4gICAgICB9KTtcbiAgICAgIGlmIChoYXNWYWx1ZSkge1xuICAgICAgICAvLyB3ZSBvbmx5IHB1dCB0aGUgcHJvcGVydHkgb24gYHdpbmRvd2Agd2hlbiB0aGUgY2FsbGJhY2sgaXMgY2FsbGVkLFxuICAgICAgICAvLyBzbyBpZiBpdCBpcyB0aGVyZSwgZXZlcnl0aGluZyBpcyBkb25lXG4gICAgICAgIHJldHVybiBhd2FpdCBldmFsdWF0ZSgnUnVudGltZS5ldmFsdWF0ZScsIHtcbiAgICAgICAgICBleHByZXNzaW9uOiBgd2luZG93LiR7cHJvbWlzZU5hbWV9VmFsdWU7YCxcbiAgICAgICAgICByZXR1cm5CeVZhbHVlOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIC8vIHRocm93IGEgVGltZW91dEVycm9yLCBvciBlbHNlIGl0IG5lZWRzIHRvIGJlIGNhdWdodCBhbmQgcmUtdGhyb3duXG4gICAgICB0aHJvdyBuZXcgZXJyb3JzLlRpbWVvdXRFcnJvcihgVGltZWQgb3V0IHdhaXRpbmcgZm9yIGFzeW5jaHJvbm91cyBzY3JpcHQgYCArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgcmVzdWx0IGFmdGVyICR7dGltZXIuZ2V0RHVyYXRpb24oKS5hc01pbGxpU2Vjb25kcy50b0ZpeGVkKDApfW1zJykpO2ApO1xuICAgIH0pO1xuICB9IGZpbmFsbHkge1xuICAgIHRyeSB7XG4gICAgICAvLyB0cnkgdG8gZ2V0IHJpZCBvZiB0aGUgcHJvbWlzZVxuICAgICAgYXdhaXQgdGhpcy5leGVjdXRlQXRvbSgnZXhlY3V0ZV9zY3JpcHQnLCBbYGRlbGV0ZSB3aW5kb3cuJHtwcm9taXNlTmFtZX07YCwgW251bGwsIG51bGxdLCBzdWJjb21tYW5kVGltZW91dF0sIGZyYW1lcyk7XG4gICAgfSBjYXRjaCAoaWduKSB7fVxuICB9XG4gIHJldHVybiBjb252ZXJ0UmVzdWx0KHJlcyk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGV4ZWN1dGUgKGNvbW1hbmQsIG92ZXJyaWRlKSB7XG4gIC8vIGlmIHRoZSBwYWdlIGlzIG5vdCBsb2FkZWQgeWV0LCB3YWl0IGZvciBpdFxuICBpZiAodGhpcy5wYWdlTG9hZGluZyAmJiAhb3ZlcnJpZGUpIHtcbiAgICBsb2cuZGVidWcoJ1RyeWluZyB0byBleGVjdXRlIGJ1dCBwYWdlIGlzIG5vdCBsb2FkZWQuJyk7XG4gICAgYXdhaXQgdGhpcy53YWl0Rm9yRG9tKCk7XG4gIH1cblxuICBjaGVja1BhcmFtcyh7YXBwSWRLZXk6IHRoaXMuYXBwSWRLZXksIHBhZ2VJZEtleTogdGhpcy5wYWdlSWRLZXl9KTtcblxuICBpZiAodGhpcy5nYXJiYWdlQ29sbGVjdE9uRXhlY3V0ZSkge1xuICAgIGF3YWl0IHRoaXMuZ2FyYmFnZUNvbGxlY3QoKTtcbiAgfVxuXG4gIGxvZy5kZWJ1ZyhgU2VuZGluZyBqYXZhc2NyaXB0IGNvbW1hbmQ6ICcke18udHJ1bmNhdGUoY29tbWFuZCwge2xlbmd0aDogNTB9KX0nYCk7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMucnBjQ2xpZW50LnNlbmQoJ1J1bnRpbWUuZXZhbHVhdGUnLCB7XG4gICAgZXhwcmVzc2lvbjogY29tbWFuZCxcbiAgICByZXR1cm5CeVZhbHVlOiB0cnVlLFxuICAgIGFwcElkS2V5OiB0aGlzLmFwcElkS2V5LFxuICAgIHBhZ2VJZEtleTogdGhpcy5wYWdlSWRLZXksXG4gIH0pO1xuXG4gIHJldHVybiBjb252ZXJ0UmVzdWx0KHJlcyk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNhbGxGdW5jdGlvbiAob2JqZWN0SWQsIGZuLCBhcmdzKSB7XG4gIGNoZWNrUGFyYW1zKHthcHBJZEtleTogdGhpcy5hcHBJZEtleSwgcGFnZUlkS2V5OiB0aGlzLnBhZ2VJZEtleX0pO1xuXG4gIGlmICh0aGlzLmdhcmJhZ2VDb2xsZWN0T25FeGVjdXRlKSB7XG4gICAgYXdhaXQgdGhpcy5nYXJiYWdlQ29sbGVjdCgpO1xuICB9XG5cbiAgbG9nLmRlYnVnKCdDYWxsaW5nIGphdmFzY3JpcHQgZnVuY3Rpb24nKTtcbiAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5ycGNDbGllbnQuc2VuZCgnUnVudGltZS5jYWxsRnVuY3Rpb25PbicsIHtcbiAgICBvYmplY3RJZCxcbiAgICBmdW5jdGlvbkRlY2xhcmF0aW9uOiBmbixcbiAgICBhcmd1bWVudHM6IGFyZ3MsXG4gICAgcmV0dXJuQnlWYWx1ZTogdHJ1ZSxcbiAgICBhcHBJZEtleTogdGhpcy5hcHBJZEtleSxcbiAgICBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5LFxuICB9KTtcblxuICByZXR1cm4gY29udmVydFJlc3VsdChyZXMpO1xufVxuXG5cbmV4cG9ydCBkZWZhdWx0IHsgZXhlY3V0ZUF0b20sIGV4ZWN1dGVBdG9tQXN5bmMsIGV4ZWN1dGUsIGNhbGxGdW5jdGlvbiB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFNBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLE9BQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUlBLE1BQU1PLHVCQUF1QixHQUFHLElBQUk7QUFTcEMsZUFBZUMsV0FBV0EsQ0FBRUMsSUFBSSxFQUFFQyxJQUFJLEVBQUVDLE1BQU0sRUFBRTtFQUM5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
142
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9nZ2VyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfYmFzZURyaXZlciIsIl91dGlscyIsIl9hdG9tcyIsIl9zdXBwb3J0IiwiX2FzeW5jYm94IiwiX2xvZGFzaCIsIlJQQ19SRVNQT05TRV9USU1FT1VUX01TIiwiZXhlY3V0ZUF0b20iLCJhdG9tIiwiYXJncyIsImZyYW1lcyIsInJwY0NsaWVudCIsImlzQ29ubmVjdGVkIiwiRXJyb3IiLCJsb2ciLCJkZWJ1ZyIsIkpTT04iLCJzdHJpbmdpZnkiLCJzY3JpcHQiLCJnZXRTY3JpcHRGb3JBdG9tIiwidmFsdWUiLCJleGVjdXRlIiwiXyIsInRydW5jYXRlIiwic2ltcGxlU3RyaW5naWZ5IiwibGVuZ3RoIiwiUkVTUE9OU0VfTE9HX0xFTkdUSCIsImV4ZWN1dGVBdG9tQXN5bmMiLCJldmFsdWF0ZSIsIm1ldGhvZCIsIm9wdHMiLCJzZW5kIiwiT2JqZWN0IiwiYXNzaWduIiwiYXBwSWRLZXkiLCJwYWdlSWRLZXkiLCJyZXR1cm5CeVZhbHVlIiwicHJvbWlzZU5hbWUiLCJ1dGlsIiwidXVpZFY0IiwicmVwbGFjZSIsIm9iaiIsImV4cHJlc3Npb24iLCJwcm9taXNlT2JqZWN0SWQiLCJyZXN1bHQiLCJvYmplY3RJZCIsImFzeW5jQ2FsbEJhY2siLCJyZXMiLCJzdWJjb21tYW5kVGltZW91dCIsImdlbmVyYXRlUHJldmlldyIsInNhdmVSZXN1bHQiLCJlcnIiLCJtZXNzYWdlIiwiaW5jbHVkZXMiLCJyZXRyeVdhaXQiLCJ0aW1lb3V0IiwicmV0cmllcyIsInBhcnNlSW50IiwidGltZXIiLCJ0aW1pbmciLCJUaW1lciIsInN0YXJ0IiwicmV0cnlJbnRlcnZhbCIsImhhc1ZhbHVlIiwiZXJyb3JzIiwiVGltZW91dEVycm9yIiwiZ2V0RHVyYXRpb24iLCJhc01pbGxpU2Vjb25kcyIsInRvRml4ZWQiLCJpZ24iLCJjb252ZXJ0UmVzdWx0IiwiY29tbWFuZCIsIm92ZXJyaWRlIiwicGFnZUxvYWRpbmciLCJ3YWl0Rm9yRG9tIiwiaXNOaWwiLCJnYXJiYWdlQ29sbGVjdE9uRXhlY3V0ZSIsImdhcmJhZ2VDb2xsZWN0IiwiY2FsbEZ1bmN0aW9uIiwiZm4iLCJjaGVja1BhcmFtcyIsImZ1bmN0aW9uRGVjbGFyYXRpb24iLCJhcmd1bWVudHMiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL21peGlucy9leGVjdXRlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBsb2cgZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCB7IGVycm9ycyB9IGZyb20gJ0BhcHBpdW0vYmFzZS1kcml2ZXInO1xuaW1wb3J0IHsgY2hlY2tQYXJhbXMsIHNpbXBsZVN0cmluZ2lmeSwgY29udmVydFJlc3VsdCwgUkVTUE9OU0VfTE9HX0xFTkdUSCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IGdldFNjcmlwdEZvckF0b20gfSBmcm9tICcuLi9hdG9tcyc7XG5pbXBvcnQgeyB1dGlsLCB0aW1pbmcgfSBmcm9tICdAYXBwaXVtL3N1cHBvcnQnO1xuaW1wb3J0IHsgcmV0cnlJbnRlcnZhbCB9IGZyb20gJ2FzeW5jYm94JztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cblxuLyogSG93IG1hbnkgbWlsbGlzZWNvbmRzIHRvIHdhaXQgZm9yIHdlYmtpdCB0byByZXR1cm4gYSByZXNwb25zZSBiZWZvcmUgdGltaW5nIG91dCAqL1xuY29uc3QgUlBDX1JFU1BPTlNFX1RJTUVPVVRfTVMgPSA1MDAwO1xuXG4vKipcbiAqIEV4ZWN1dGUgYSBTZWxlbml1bSBhdG9tIGluIFNhZmFyaVxuICogQHBhcmFtIHtzdHJpbmd9IGF0b20gTmFtZSBvZiBTZWxlbml1bSBhdG9tIChzZWUgYXRvbXMvIGRpcmVjdG9yeSlcbiAqIEBwYXJhbSB7QXJyYXk8Kj59IGFyZ3MgQXJndW1lbnRzIHBhc3NlZCB0byB0aGUgYXRvbVxuICogQHBhcmFtIHtBcnJheTxzdHJpbmc+fSBmcmFtZXNcbiAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSByZXN1bHQgcmVjZWl2ZWQgZnJvbSB0aGUgYXRvbVxuICovXG5hc3luYyBmdW5jdGlvbiBleGVjdXRlQXRvbSAoYXRvbSwgYXJncywgZnJhbWVzKSB7XG4gIGlmICghdGhpcy5ycGNDbGllbnQuaXNDb25uZWN0ZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlbW90ZSBkZWJ1Z2dlciBpcyBub3QgY29ubmVjdGVkJyk7XG4gIH1cblxuICBsb2cuZGVidWcoYEV4ZWN1dGluZyBhdG9tICcke2F0b219JyB3aXRoICdhcmdzPSR7SlNPTi5zdHJpbmdpZnkoYXJncyl9OyBmcmFtZXM9JHtmcmFtZXN9J2ApO1xuICBjb25zdCBzY3JpcHQgPSBhd2FpdCBnZXRTY3JpcHRGb3JBdG9tKGF0b20sIGFyZ3MsIGZyYW1lcyk7XG4gIGNvbnN0IHZhbHVlID0gYXdhaXQgdGhpcy5leGVjdXRlKHNjcmlwdCwgdHJ1ZSk7XG4gIGxvZy5kZWJ1ZyhgUmVjZWl2ZWQgcmVzdWx0IGZvciBhdG9tICcke2F0b219JyBleGVjdXRpb246ICR7Xy50cnVuY2F0ZShzaW1wbGVTdHJpbmdpZnkodmFsdWUpLCB7bGVuZ3RoOiBSRVNQT05TRV9MT0dfTEVOR1RIfSl9YCk7XG4gIHJldHVybiB2YWx1ZTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZXhlY3V0ZUF0b21Bc3luYyAoYXRvbSwgYXJncywgZnJhbWVzKSB7XG4gIC8vIGhlbHBlciB0byBzZW5kIGRpcmVjdGx5IHRvIHRoZSB3ZWIgaW5zcGVjdG9yXG4gIGNvbnN0IGV2YWx1YXRlID0gYXN5bmMgKG1ldGhvZCwgb3B0cykgPT4gYXdhaXQgdGhpcy5ycGNDbGllbnQuc2VuZChtZXRob2QsIE9iamVjdC5hc3NpZ24oe1xuICAgIGFwcElkS2V5OiB0aGlzLmFwcElkS2V5LFxuICAgIHBhZ2VJZEtleTogdGhpcy5wYWdlSWRLZXksXG4gICAgcmV0dXJuQnlWYWx1ZTogZmFsc2UsXG4gIH0sIG9wdHMpKTtcblxuICAvLyBmaXJzdCBjcmVhdGUgYSBQcm9taXNlIG9uIHRoZSBwYWdlLCBzYXZpbmcgdGhlIHJlc29sdmUvcmVqZWN0IGZ1bmN0aW9uc1xuICAvLyBhcyBwcm9wZXJ0aWVzXG4gIGNvbnN0IHByb21pc2VOYW1lID0gYGFwcGl1bUFzeW5jRXhlY3V0ZVByb21pc2Uke3V0aWwudXVpZFY0KCkucmVwbGFjZSgvLS9nLCAnJyl9YDtcbiAgY29uc3Qgc2NyaXB0ID1cbiAgICBgdmFyIHJlcywgcmVqO1xuICAgIHdpbmRvdy4ke3Byb21pc2VOYW1lfSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgIHJlcyA9IHJlc29sdmU7XG4gICAgICByZWogPSByZWplY3Q7XG4gICAgfSk7XG4gICAgd2luZG93LiR7cHJvbWlzZU5hbWV9LnJlc29sdmUgPSByZXM7XG4gICAgd2luZG93LiR7cHJvbWlzZU5hbWV9LnJlamVjdCA9IHJlajtcbiAgICB3aW5kb3cuJHtwcm9taXNlTmFtZX07YDtcbiAgY29uc3Qgb2JqID0gYXdhaXQgZXZhbHVhdGUoJ1J1bnRpbWUuZXZhbHVhdGUnLCB7XG4gICAgZXhwcmVzc2lvbjogc2NyaXB0LFxuICB9KTtcbiAgY29uc3QgcHJvbWlzZU9iamVjdElkID0gb2JqLnJlc3VsdC5vYmplY3RJZDtcblxuICAvLyBleGVjdXRlIHRoZSBhdG9tLCBjYWxsaW5nIGJhY2sgdG8gdGhlIHJlc29sdmUgZnVuY3Rpb25cbiAgY29uc3QgYXN5bmNDYWxsQmFjayA9XG4gICAgYGZ1bmN0aW9uIChyZXMpIHtcbiAgICAgIHdpbmRvdy4ke3Byb21pc2VOYW1lfS5yZXNvbHZlKHJlcyk7XG4gICAgICB3aW5kb3cuJHtwcm9taXNlTmFtZX1WYWx1ZSA9IHJlcztcbiAgICB9YDtcbiAgYXdhaXQgdGhpcy5leGVjdXRlKGF3YWl0IGdldFNjcmlwdEZvckF0b20oYXRvbSwgYXJncywgZnJhbWVzLCBhc3luY0NhbGxCYWNrKSk7XG5cbiAgLy8gd2FpdCBmb3IgdGhlIHByb21pc2UgdG8gYmUgcmVzb2x2ZWRcbiAgbGV0IHJlcztcbiAgY29uc3Qgc3ViY29tbWFuZFRpbWVvdXQgPSAxMDAwOyAvLyB0aW1lb3V0IG9uIGluZGl2aWR1YWwgY29tbWFuZHNcbiAgdHJ5IHtcbiAgICByZXMgPSBhd2FpdCBldmFsdWF0ZSgnUnVudGltZS5hd2FpdFByb21pc2UnLCB7XG4gICAgICBwcm9taXNlT2JqZWN0SWQsXG4gICAgICByZXR1cm5CeVZhbHVlOiB0cnVlLFxuICAgICAgZ2VuZXJhdGVQcmV2aWV3OiB0cnVlLFxuICAgICAgc2F2ZVJlc3VsdDogdHJ1ZSxcbiAgICB9KTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgaWYgKCFlcnIubWVzc2FnZS5pbmNsdWRlcyhgJ1J1bnRpbWUuYXdhaXRQcm9taXNlJyB3YXMgbm90IGZvdW5kYCkpIHtcbiAgICAgIHRocm93IGVycjtcbiAgICB9XG4gICAgLy8gYXdhaXRQcm9taXNlIGlzIG5vdCBhbHdheXMgYXZhaWxhYmxlLCBzbyBzaW11bGF0ZSBpdCB3aXRoIHBvbGxcbiAgICBjb25zdCByZXRyeVdhaXQgPSAxMDA7XG4gICAgY29uc3QgdGltZW91dCA9IChhcmdzLmxlbmd0aCA+PSAzKSA/IGFyZ3NbMl0gOiBSUENfUkVTUE9OU0VfVElNRU9VVF9NUztcbiAgICAvLyBpZiB0aGUgdGltZW91dCBtYXRoIHR1cm5zIHVwIDAgcmV0cmllcywgbWFrZSBzdXJlIGl0IGhhcHBlbnMgb25jZVxuICAgIGNvbnN0IHJldHJpZXMgPSBwYXJzZUludCh0aW1lb3V0IC8gcmV0cnlXYWl0LCAxMCkgfHwgMTtcbiAgICBjb25zdCB0aW1lciA9IG5ldyB0aW1pbmcuVGltZXIoKS5zdGFydCgpO1xuICAgIGxvZy5kZWJ1ZyhgV2FpdGluZyB1cCB0byAke3RpbWVvdXR9bXMgZm9yIGFzeW5jIGV4ZWN1dGUgdG8gZmluaXNoYCk7XG4gICAgcmVzID0gYXdhaXQgcmV0cnlJbnRlcnZhbChyZXRyaWVzLCByZXRyeVdhaXQsIGFzeW5jICgpID0+IHtcbiAgICAgIC8vIHRoZSBhdG9tIF93aWxsXyByZXR1cm4sIGVpdGhlciBiZWNhdXNlIGl0IGZpbmlzaGVkIG9yIGFuIGVycm9yXG4gICAgICAvLyBpbmNsdWRpbmcgYSB0aW1lb3V0IGVycm9yXG4gICAgICBjb25zdCBoYXNWYWx1ZSA9IGF3YWl0IGV2YWx1YXRlKCdSdW50aW1lLmV2YWx1YXRlJywge1xuICAgICAgICBleHByZXNzaW9uOiBgd2luZG93Lmhhc093blByb3BlcnR5KCcke3Byb21pc2VOYW1lfVZhbHVlJyk7YCxcbiAgICAgICAgcmV0dXJuQnlWYWx1ZTogdHJ1ZSxcbiAgICAgIH0pO1xuICAgICAgaWYgKGhhc1ZhbHVlKSB7XG4gICAgICAgIC8vIHdlIG9ubHkgcHV0IHRoZSBwcm9wZXJ0eSBvbiBgd2luZG93YCB3aGVuIHRoZSBjYWxsYmFjayBpcyBjYWxsZWQsXG4gICAgICAgIC8vIHNvIGlmIGl0IGlzIHRoZXJlLCBldmVyeXRoaW5nIGlzIGRvbmVcbiAgICAgICAgcmV0dXJuIGF3YWl0IGV2YWx1YXRlKCdSdW50aW1lLmV2YWx1YXRlJywge1xuICAgICAgICAgIGV4cHJlc3Npb246IGB3aW5kb3cuJHtwcm9taXNlTmFtZX1WYWx1ZTtgLFxuICAgICAgICAgIHJldHVybkJ5VmFsdWU6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgLy8gdGhyb3cgYSBUaW1lb3V0RXJyb3IsIG9yIGVsc2UgaXQgbmVlZHMgdG8gYmUgY2F1Z2h0IGFuZCByZS10aHJvd25cbiAgICAgIHRocm93IG5ldyBlcnJvcnMuVGltZW91dEVycm9yKGBUaW1lZCBvdXQgd2FpdGluZyBmb3IgYXN5bmNocm9ub3VzIHNjcmlwdCBgICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGByZXN1bHQgYWZ0ZXIgJHt0aW1lci5nZXREdXJhdGlvbigpLmFzTWlsbGlTZWNvbmRzLnRvRml4ZWQoMCl9bXMnKSk7YCk7XG4gICAgfSk7XG4gIH0gZmluYWxseSB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIHRyeSB0byBnZXQgcmlkIG9mIHRoZSBwcm9taXNlXG4gICAgICBhd2FpdCB0aGlzLmV4ZWN1dGVBdG9tKCdleGVjdXRlX3NjcmlwdCcsIFtgZGVsZXRlIHdpbmRvdy4ke3Byb21pc2VOYW1lfTtgLCBbbnVsbCwgbnVsbF0sIHN1YmNvbW1hbmRUaW1lb3V0XSwgZnJhbWVzKTtcbiAgICB9IGNhdGNoIChpZ24pIHt9XG4gIH1cbiAgcmV0dXJuIGNvbnZlcnRSZXN1bHQocmVzKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZXhlY3V0ZSAoY29tbWFuZCwgb3ZlcnJpZGUpIHtcbiAgLy8gaWYgdGhlIHBhZ2UgaXMgbm90IGxvYWRlZCB5ZXQsIHdhaXQgZm9yIGl0XG4gIGlmICh0aGlzLnBhZ2VMb2FkaW5nICYmICFvdmVycmlkZSkge1xuICAgIGxvZy5kZWJ1ZygnVHJ5aW5nIHRvIGV4ZWN1dGUgYnV0IHBhZ2UgaXMgbm90IGxvYWRlZC4nKTtcbiAgICBhd2FpdCB0aGlzLndhaXRGb3JEb20oKTtcbiAgfVxuXG4gIGlmIChfLmlzTmlsKHRoaXMuYXBwSWRLZXkpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHBhcmFtZXRlcjogYXBwSWRLZXkuIElzIHRoZSB0YXJnZXQgd2ViIGFwcGxpY2F0aW9uIHN0aWxsIGFsaXZlPycpO1xuICB9XG4gIGlmIChfLmlzTmlsKHRoaXMucGFnZUlkS2V5KSkge1xuICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBwYXJhbWV0ZXI6IHBhZ2VJZEtleS4gSXMgdGhlIHRhcmdldCB3ZWIgcGFnZSBzdGlsbCBhbGl2ZT8nKTtcbiAgfVxuXG4gIGlmICh0aGlzLmdhcmJhZ2VDb2xsZWN0T25FeGVjdXRlKSB7XG4gICAgYXdhaXQgdGhpcy5nYXJiYWdlQ29sbGVjdCgpO1xuICB9XG5cbiAgbG9nLmRlYnVnKGBTZW5kaW5nIGphdmFzY3JpcHQgY29tbWFuZDogJyR7Xy50cnVuY2F0ZShjb21tYW5kLCB7bGVuZ3RoOiA1MH0pfSdgKTtcbiAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5ycGNDbGllbnQuc2VuZCgnUnVudGltZS5ldmFsdWF0ZScsIHtcbiAgICBleHByZXNzaW9uOiBjb21tYW5kLFxuICAgIHJldHVybkJ5VmFsdWU6IHRydWUsXG4gICAgYXBwSWRLZXk6IHRoaXMuYXBwSWRLZXksXG4gICAgcGFnZUlkS2V5OiB0aGlzLnBhZ2VJZEtleSxcbiAgfSk7XG5cbiAgcmV0dXJuIGNvbnZlcnRSZXN1bHQocmVzKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gY2FsbEZ1bmN0aW9uIChvYmplY3RJZCwgZm4sIGFyZ3MpIHtcbiAgY2hlY2tQYXJhbXMoe2FwcElkS2V5OiB0aGlzLmFwcElkS2V5LCBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5fSk7XG5cbiAgaWYgKHRoaXMuZ2FyYmFnZUNvbGxlY3RPbkV4ZWN1dGUpIHtcbiAgICBhd2FpdCB0aGlzLmdhcmJhZ2VDb2xsZWN0KCk7XG4gIH1cblxuICBsb2cuZGVidWcoJ0NhbGxpbmcgamF2YXNjcmlwdCBmdW5jdGlvbicpO1xuICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnJwY0NsaWVudC5zZW5kKCdSdW50aW1lLmNhbGxGdW5jdGlvbk9uJywge1xuICAgIG9iamVjdElkLFxuICAgIGZ1bmN0aW9uRGVjbGFyYXRpb246IGZuLFxuICAgIGFyZ3VtZW50czogYXJncyxcbiAgICByZXR1cm5CeVZhbHVlOiB0cnVlLFxuICAgIGFwcElkS2V5OiB0aGlzLmFwcElkS2V5LFxuICAgIHBhZ2VJZEtleTogdGhpcy5wYWdlSWRLZXksXG4gIH0pO1xuXG4gIHJldHVybiBjb252ZXJ0UmVzdWx0KHJlcyk7XG59XG5cblxuZXhwb3J0IGRlZmF1bHQgeyBleGVjdXRlQXRvbSwgZXhlY3V0ZUF0b21Bc3luYywgZXhlY3V0ZSwgY2FsbEZ1bmN0aW9uIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBQ0Es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
@@ -1 +1 @@
1
- {"version":3,"file":"execute.js","names":["_logger","_interopRequireDefault","require","_baseDriver","_utils","_atoms","_support","_asyncbox","_lodash","RPC_RESPONSE_TIMEOUT_MS","executeAtom","atom","args","frames","rpcClient","isConnected","Error","log","debug","JSON","stringify","script","getScriptForAtom","value","execute","_","truncate","simpleStringify","length","RESPONSE_LOG_LENGTH","executeAtomAsync","evaluate","method","opts","send","Object","assign","appIdKey","pageIdKey","returnByValue","promiseName","util","uuidV4","replace","obj","expression","promiseObjectId","result","objectId","asyncCallBack","res","subcommandTimeout","generatePreview","saveResult","err","message","includes","retryWait","timeout","retries","parseInt","timer","timing","Timer","start","retryInterval","hasValue","errors","TimeoutError","getDuration","asMilliSeconds","toFixed","ign","convertResult","command","override","pageLoading","waitForDom","checkParams","garbageCollectOnExecute","garbageCollect","callFunction","fn","functionDeclaration","arguments","_default","exports","default"],"sources":["../../../lib/mixins/execute.js"],"sourcesContent":["import log from '../logger';\nimport { errors } from '@appium/base-driver';\nimport { checkParams, simpleStringify, convertResult, RESPONSE_LOG_LENGTH } from '../utils';\nimport { getScriptForAtom } from '../atoms';\nimport { util, timing } from '@appium/support';\nimport { retryInterval } from 'asyncbox';\nimport _ from 'lodash';\n\n\n/* How many milliseconds to wait for webkit to return a response before timing out */\nconst RPC_RESPONSE_TIMEOUT_MS = 5000;\n\n/**\n * Execute a Selenium atom in Safari\n * @param {string} atom Name of Selenium atom (see atoms/ directory)\n * @param {Array<*>} args Arguments passed to the atom\n * @param {Array<string>} frames\n * @returns {string} The result received from the atom\n */\nasync function executeAtom (atom, args, frames) {\n if (!this.rpcClient.isConnected) {\n throw new Error('Remote debugger is not connected');\n }\n\n log.debug(`Executing atom '${atom}' with 'args=${JSON.stringify(args)}; frames=${frames}'`);\n const script = await getScriptForAtom(atom, args, frames);\n const value = await this.execute(script, true);\n log.debug(`Received result for atom '${atom}' execution: ${_.truncate(simpleStringify(value), {length: RESPONSE_LOG_LENGTH})}`);\n return value;\n}\n\nasync function executeAtomAsync (atom, args, frames) {\n // helper to send directly to the web inspector\n const evaluate = async (method, opts) => await this.rpcClient.send(method, Object.assign({\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n returnByValue: false,\n }, opts));\n\n // first create a Promise on the page, saving the resolve/reject functions\n // as properties\n const promiseName = `appiumAsyncExecutePromise${util.uuidV4().replace(/-/g, '')}`;\n const script =\n `var res, rej;\n window.${promiseName} = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n window.${promiseName}.resolve = res;\n window.${promiseName}.reject = rej;\n window.${promiseName};`;\n const obj = await evaluate('Runtime.evaluate', {\n expression: script,\n });\n const promiseObjectId = obj.result.objectId;\n\n // execute the atom, calling back to the resolve function\n const asyncCallBack =\n `function (res) {\n window.${promiseName}.resolve(res);\n window.${promiseName}Value = res;\n }`;\n await this.execute(await getScriptForAtom(atom, args, frames, asyncCallBack));\n\n // wait for the promise to be resolved\n let res;\n const subcommandTimeout = 1000; // timeout on individual commands\n try {\n res = await evaluate('Runtime.awaitPromise', {\n promiseObjectId,\n returnByValue: true,\n generatePreview: true,\n saveResult: true,\n });\n } catch (err) {\n if (!err.message.includes(`'Runtime.awaitPromise' was not found`)) {\n throw err;\n }\n // awaitPromise is not always available, so simulate it with poll\n const retryWait = 100;\n const timeout = (args.length >= 3) ? args[2] : RPC_RESPONSE_TIMEOUT_MS;\n // if the timeout math turns up 0 retries, make sure it happens once\n const retries = parseInt(timeout / retryWait, 10) || 1;\n const timer = new timing.Timer().start();\n log.debug(`Waiting up to ${timeout}ms for async execute to finish`);\n res = await retryInterval(retries, retryWait, async () => {\n // the atom _will_ return, either because it finished or an error\n // including a timeout error\n const hasValue = await evaluate('Runtime.evaluate', {\n expression: `window.hasOwnProperty('${promiseName}Value');`,\n returnByValue: true,\n });\n if (hasValue) {\n // we only put the property on `window` when the callback is called,\n // so if it is there, everything is done\n return await evaluate('Runtime.evaluate', {\n expression: `window.${promiseName}Value;`,\n returnByValue: true,\n });\n }\n // throw a TimeoutError, or else it needs to be caught and re-thrown\n throw new errors.TimeoutError(`Timed out waiting for asynchronous script ` +\n `result after ${timer.getDuration().asMilliSeconds.toFixed(0)}ms'));`);\n });\n } finally {\n try {\n // try to get rid of the promise\n await this.executeAtom('execute_script', [`delete window.${promiseName};`, [null, null], subcommandTimeout], frames);\n } catch (ign) {}\n }\n return convertResult(res);\n}\n\nasync function execute (command, override) {\n // if the page is not loaded yet, wait for it\n if (this.pageLoading && !override) {\n log.debug('Trying to execute but page is not loaded.');\n await this.waitForDom();\n }\n\n checkParams({appIdKey: this.appIdKey, pageIdKey: this.pageIdKey});\n\n if (this.garbageCollectOnExecute) {\n await this.garbageCollect();\n }\n\n log.debug(`Sending javascript command: '${_.truncate(command, {length: 50})}'`);\n const res = await this.rpcClient.send('Runtime.evaluate', {\n expression: command,\n returnByValue: true,\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n });\n\n return convertResult(res);\n}\n\nasync function callFunction (objectId, fn, args) {\n checkParams({appIdKey: this.appIdKey, pageIdKey: this.pageIdKey});\n\n if (this.garbageCollectOnExecute) {\n await this.garbageCollect();\n }\n\n log.debug('Calling javascript function');\n const res = await this.rpcClient.send('Runtime.callFunctionOn', {\n objectId,\n functionDeclaration: fn,\n arguments: args,\n returnByValue: true,\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n });\n\n return convertResult(res);\n}\n\n\nexport default { executeAtom, executeAtomAsync, execute, callFunction };\n"],"mappings":"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"}
1
+ {"version":3,"file":"execute.js","names":["_logger","_interopRequireDefault","require","_baseDriver","_utils","_atoms","_support","_asyncbox","_lodash","RPC_RESPONSE_TIMEOUT_MS","executeAtom","atom","args","frames","rpcClient","isConnected","Error","log","debug","JSON","stringify","script","getScriptForAtom","value","execute","_","truncate","simpleStringify","length","RESPONSE_LOG_LENGTH","executeAtomAsync","evaluate","method","opts","send","Object","assign","appIdKey","pageIdKey","returnByValue","promiseName","util","uuidV4","replace","obj","expression","promiseObjectId","result","objectId","asyncCallBack","res","subcommandTimeout","generatePreview","saveResult","err","message","includes","retryWait","timeout","retries","parseInt","timer","timing","Timer","start","retryInterval","hasValue","errors","TimeoutError","getDuration","asMilliSeconds","toFixed","ign","convertResult","command","override","pageLoading","waitForDom","isNil","garbageCollectOnExecute","garbageCollect","callFunction","fn","checkParams","functionDeclaration","arguments","_default","exports","default"],"sources":["../../../lib/mixins/execute.js"],"sourcesContent":["import log from '../logger';\nimport { errors } from '@appium/base-driver';\nimport { checkParams, simpleStringify, convertResult, RESPONSE_LOG_LENGTH } from '../utils';\nimport { getScriptForAtom } from '../atoms';\nimport { util, timing } from '@appium/support';\nimport { retryInterval } from 'asyncbox';\nimport _ from 'lodash';\n\n\n/* How many milliseconds to wait for webkit to return a response before timing out */\nconst RPC_RESPONSE_TIMEOUT_MS = 5000;\n\n/**\n * Execute a Selenium atom in Safari\n * @param {string} atom Name of Selenium atom (see atoms/ directory)\n * @param {Array<*>} args Arguments passed to the atom\n * @param {Array<string>} frames\n * @returns {string} The result received from the atom\n */\nasync function executeAtom (atom, args, frames) {\n if (!this.rpcClient.isConnected) {\n throw new Error('Remote debugger is not connected');\n }\n\n log.debug(`Executing atom '${atom}' with 'args=${JSON.stringify(args)}; frames=${frames}'`);\n const script = await getScriptForAtom(atom, args, frames);\n const value = await this.execute(script, true);\n log.debug(`Received result for atom '${atom}' execution: ${_.truncate(simpleStringify(value), {length: RESPONSE_LOG_LENGTH})}`);\n return value;\n}\n\nasync function executeAtomAsync (atom, args, frames) {\n // helper to send directly to the web inspector\n const evaluate = async (method, opts) => await this.rpcClient.send(method, Object.assign({\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n returnByValue: false,\n }, opts));\n\n // first create a Promise on the page, saving the resolve/reject functions\n // as properties\n const promiseName = `appiumAsyncExecutePromise${util.uuidV4().replace(/-/g, '')}`;\n const script =\n `var res, rej;\n window.${promiseName} = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n window.${promiseName}.resolve = res;\n window.${promiseName}.reject = rej;\n window.${promiseName};`;\n const obj = await evaluate('Runtime.evaluate', {\n expression: script,\n });\n const promiseObjectId = obj.result.objectId;\n\n // execute the atom, calling back to the resolve function\n const asyncCallBack =\n `function (res) {\n window.${promiseName}.resolve(res);\n window.${promiseName}Value = res;\n }`;\n await this.execute(await getScriptForAtom(atom, args, frames, asyncCallBack));\n\n // wait for the promise to be resolved\n let res;\n const subcommandTimeout = 1000; // timeout on individual commands\n try {\n res = await evaluate('Runtime.awaitPromise', {\n promiseObjectId,\n returnByValue: true,\n generatePreview: true,\n saveResult: true,\n });\n } catch (err) {\n if (!err.message.includes(`'Runtime.awaitPromise' was not found`)) {\n throw err;\n }\n // awaitPromise is not always available, so simulate it with poll\n const retryWait = 100;\n const timeout = (args.length >= 3) ? args[2] : RPC_RESPONSE_TIMEOUT_MS;\n // if the timeout math turns up 0 retries, make sure it happens once\n const retries = parseInt(timeout / retryWait, 10) || 1;\n const timer = new timing.Timer().start();\n log.debug(`Waiting up to ${timeout}ms for async execute to finish`);\n res = await retryInterval(retries, retryWait, async () => {\n // the atom _will_ return, either because it finished or an error\n // including a timeout error\n const hasValue = await evaluate('Runtime.evaluate', {\n expression: `window.hasOwnProperty('${promiseName}Value');`,\n returnByValue: true,\n });\n if (hasValue) {\n // we only put the property on `window` when the callback is called,\n // so if it is there, everything is done\n return await evaluate('Runtime.evaluate', {\n expression: `window.${promiseName}Value;`,\n returnByValue: true,\n });\n }\n // throw a TimeoutError, or else it needs to be caught and re-thrown\n throw new errors.TimeoutError(`Timed out waiting for asynchronous script ` +\n `result after ${timer.getDuration().asMilliSeconds.toFixed(0)}ms'));`);\n });\n } finally {\n try {\n // try to get rid of the promise\n await this.executeAtom('execute_script', [`delete window.${promiseName};`, [null, null], subcommandTimeout], frames);\n } catch (ign) {}\n }\n return convertResult(res);\n}\n\nasync function execute (command, override) {\n // if the page is not loaded yet, wait for it\n if (this.pageLoading && !override) {\n log.debug('Trying to execute but page is not loaded.');\n await this.waitForDom();\n }\n\n if (_.isNil(this.appIdKey)) {\n throw new Error('Missing parameter: appIdKey. Is the target web application still alive?');\n }\n if (_.isNil(this.pageIdKey)) {\n throw new Error('Missing parameter: pageIdKey. Is the target web page still alive?');\n }\n\n if (this.garbageCollectOnExecute) {\n await this.garbageCollect();\n }\n\n log.debug(`Sending javascript command: '${_.truncate(command, {length: 50})}'`);\n const res = await this.rpcClient.send('Runtime.evaluate', {\n expression: command,\n returnByValue: true,\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n });\n\n return convertResult(res);\n}\n\nasync function callFunction (objectId, fn, args) {\n checkParams({appIdKey: this.appIdKey, pageIdKey: this.pageIdKey});\n\n if (this.garbageCollectOnExecute) {\n await this.garbageCollect();\n }\n\n log.debug('Calling javascript function');\n const res = await this.rpcClient.send('Runtime.callFunctionOn', {\n objectId,\n functionDeclaration: fn,\n arguments: args,\n returnByValue: true,\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n });\n\n return convertResult(res);\n}\n\n\nexport default { executeAtom, executeAtomAsync, execute, callFunction };\n"],"mappings":"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"}
@@ -118,7 +118,12 @@ async function execute (command, override) {
118
118
  await this.waitForDom();
119
119
  }
120
120
 
121
- checkParams({appIdKey: this.appIdKey, pageIdKey: this.pageIdKey});
121
+ if (_.isNil(this.appIdKey)) {
122
+ throw new Error('Missing parameter: appIdKey. Is the target web application still alive?');
123
+ }
124
+ if (_.isNil(this.pageIdKey)) {
125
+ throw new Error('Missing parameter: pageIdKey. Is the target web page still alive?');
126
+ }
122
127
 
123
128
  if (this.garbageCollectOnExecute) {
124
129
  await this.garbageCollect();
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "keywords": [
5
5
  "appium"
6
6
  ],
7
- "version": "9.1.13",
7
+ "version": "9.1.14",
8
8
  "author": "Appium Contributors",
9
9
  "license": "Apache-2.0",
10
10
  "repository": {