@appium/base-driver 10.2.1 → 10.2.2

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.
@@ -1,89 +1,53 @@
1
- export const COMMAND_URLS_CONFLICTS: {
2
- commandNames: string[];
3
- jsonwpConverter: (url: any) => any;
4
- w3cConverter: (url: any) => any;
5
- }[];
6
- export default ProtocolConverter;
7
- export type ProxyFunction = (url: string, method: string, body?: import("@appium/types").HTTPBody) => Promise<[import("@appium/types").ProxyResponse, import("@appium/types").HTTPBody]>;
8
- declare class ProtocolConverter {
9
- /**
10
- *
11
- * @param {ProxyFunction} proxyFunc
12
- * @param {import('@appium/types').AppiumLogger | null} [log=null]
13
- */
14
- constructor(proxyFunc: ProxyFunction, log?: import("@appium/types").AppiumLogger | null);
1
+ import type { AppiumLogger, HTTPBody, ProxyResponse } from '@appium/types';
2
+ export type ProxyFunction = (url: string, method: string, body?: HTTPBody) => Promise<[ProxyResponse, HTTPBody]>;
3
+ export declare const COMMAND_URLS_CONFLICTS: readonly [{
4
+ readonly commandNames: readonly ["execute", "executeAsync"];
5
+ readonly jsonwpConverter: (url: string) => string;
6
+ readonly w3cConverter: (url: string) => string;
7
+ }, {
8
+ readonly commandNames: readonly ["getElementScreenshot"];
9
+ readonly jsonwpConverter: (url: string) => string;
10
+ readonly w3cConverter: (url: string) => string;
11
+ }, {
12
+ readonly commandNames: readonly ["getWindowHandles", "getWindowHandle"];
13
+ readonly jsonwpConverter: (url: string) => string;
14
+ readonly w3cConverter: (url: string) => string;
15
+ }, {
16
+ readonly commandNames: readonly ["getProperty"];
17
+ readonly jsonwpConverter: (w3cUrl: string) => string;
18
+ readonly w3cConverter: (jsonwpUrl: string) => string;
19
+ }];
20
+ export declare class ProtocolConverter {
15
21
  proxyFunc: ProxyFunction;
16
- _downstreamProtocol: any;
17
- _log: import("@appium/types").AppiumLogger | null;
18
- get log(): import("@appium/types").AppiumLogger;
19
- set downstreamProtocol(value: any);
20
- get downstreamProtocol(): any;
21
- /**
22
- * W3C /timeouts can take as many as 3 timeout types at once, MJSONWP /timeouts only takes one
23
- * at a time. So if we're using W3C and proxying to MJSONWP and there's more than one timeout type
24
- * provided in the request, we need to do 3 proxies and combine the result
25
- *
26
- * @param {Object} body Request body
27
- * @return {Object[]} Array of W3C + MJSONWP compatible timeout objects
28
- */
29
- getTimeoutRequestObjects(body: any): any[];
30
- /**
31
- * Proxy an array of timeout objects and merge the result
32
- * @param {string} url Endpoint url
33
- * @param {string} method Endpoint method
34
- * @param {import('@appium/types').HTTPBody} body Request body
35
- * @returns {Promise<[import('@appium/types').ProxyResponse, import('@appium/types').HTTPBody]>}
36
- */
37
- proxySetTimeouts(url: string, method: string, body: import("@appium/types").HTTPBody): Promise<[import("@appium/types").ProxyResponse, import("@appium/types").HTTPBody]>;
38
- /**
39
- *
40
- * @param {string} url
41
- * @param {string} method
42
- * @param {import('@appium/types').HTTPBody} body
43
- * @returns {Promise<[import('@appium/types').ProxyResponse, import('@appium/types').HTTPBody]>}
44
- */
45
- proxySetWindow(url: string, method: string, body: import("@appium/types").HTTPBody): Promise<[import("@appium/types").ProxyResponse, import("@appium/types").HTTPBody]>;
22
+ private _downstreamProtocol;
23
+ private readonly _log;
46
24
  /**
47
- *
48
- * @param {string} url
49
- * @param {string} method
50
- * @param {import('@appium/types').HTTPBody} body
51
- * @returns {Promise<[import('@appium/types').ProxyResponse, import('@appium/types').HTTPBody]>}
25
+ * @param proxyFunc - Function to perform the actual proxy request
26
+ * @param log - Logger instance, or null to use the default
52
27
  */
53
- proxySetValue(url: string, method: string, body: import("@appium/types").HTTPBody): Promise<[import("@appium/types").ProxyResponse, import("@appium/types").HTTPBody]>;
28
+ constructor(proxyFunc: ProxyFunction, log?: AppiumLogger | null);
29
+ get log(): AppiumLogger;
30
+ set downstreamProtocol(value: string | null | undefined);
31
+ get downstreamProtocol(): string | null | undefined;
54
32
  /**
55
- *
56
- * @param {string} url
57
- * @param {string} method
58
- * @param {import('@appium/types').HTTPBody} body
59
- * @returns {Promise<[import('@appium/types').ProxyResponse, import('@appium/types').HTTPBody]>}
33
+ * Handle "crossing" endpoints for the case when upstream and downstream
34
+ * drivers operate different protocols.
60
35
  */
61
- proxySetFrame(url: string, method: string, body: import("@appium/types").HTTPBody): Promise<[import("@appium/types").ProxyResponse, import("@appium/types").HTTPBody]>;
36
+ convertAndProxy(commandName: string, url: string, method: string, body?: HTTPBody): Promise<[ProxyResponse, HTTPBody]>;
62
37
  /**
63
- *
64
- * @param {string} url
65
- * @param {string} method
66
- * @param {import('@appium/types').HTTPBody} body
67
- * @returns {Promise<[import('@appium/types').ProxyResponse, import('@appium/types').HTTPBody]>}
68
- */
69
- proxyPerformActions(url: string, method: string, body: import("@appium/types").HTTPBody): Promise<[import("@appium/types").ProxyResponse, import("@appium/types").HTTPBody]>;
70
- /**
71
- *
72
- * @param {string} url
73
- * @param {string} method
74
- * @returns {Promise<[import('@appium/types').ProxyResponse, import('@appium/types').HTTPBody]>}
38
+ * W3C /timeouts can take as many as 3 timeout types at once, MJSONWP /timeouts only takes one
39
+ * at a time. So if we're using W3C and proxying to MJSONWP and there's more than one timeout type
40
+ * provided in the request, we need to do 3 proxies and combine the result.
75
41
  */
76
- proxyReleaseActions(url: string, method: string): Promise<[import("@appium/types").ProxyResponse, import("@appium/types").HTTPBody]>;
42
+ private getTimeoutRequestObjects;
77
43
  /**
78
- * Handle "crossing" endpoints for the case
79
- * when upstream and downstream drivers operate different protocols
80
- *
81
- * @param {string} commandName
82
- * @param {string} url
83
- * @param {string} method
84
- * @param {import('@appium/types').HTTPBody} [body]
85
- * @returns {Promise<[import('@appium/types').ProxyResponse, import('@appium/types').HTTPBody]>}
44
+ * Proxy an array of timeout objects and merge the result.
86
45
  */
87
- convertAndProxy(commandName: string, url: string, method: string, body?: import("@appium/types").HTTPBody): Promise<[import("@appium/types").ProxyResponse, import("@appium/types").HTTPBody]>;
46
+ private proxySetTimeouts;
47
+ private proxySetWindow;
48
+ private proxySetValue;
49
+ private proxySetFrame;
50
+ private proxyPerformActions;
51
+ private proxyReleaseActions;
88
52
  }
89
53
  //# sourceMappingURL=protocol-converter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol-converter.d.ts","sourceRoot":"","sources":["../../../lib/jsonwp-proxy/protocol-converter.js"],"names":[],"mappings":"AAKA;;;;IAmCE;;4BAmRW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,eAAe,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC,OAAO,eAAe,EAAE,aAAa,EAAE,OAAO,eAAe,EAAE,QAAQ,CAAC,CAAC;AA/QzK;IACE;;;;OAIG;IACH,uBAHW,aAAa,QACb,OAAO,eAAe,EAAE,YAAY,GAAG,IAAI,EAMrD;IAHC,yBAA0B;IAC1B,yBAA+B;IAC/B,kDAAe;IAGjB,gDAEC;IAED,mCAEC;IAED,8BAEC;IAED;;;;;;;OAOG;IACH,qCAFY,KAAQ,CA4BnB;IAED;;;;;;OAMG;IACH,sBALW,MAAM,UACN,MAAM,QACN,OAAO,eAAe,EAAE,QAAQ,GAC9B,OAAO,CAAC,CAAC,OAAO,eAAe,EAAE,aAAa,EAAE,OAAO,eAAe,EAAE,QAAQ,CAAC,CAAC,CA2B9F;IAED;;;;;;OAMG;IACH,oBALW,MAAM,UACN,MAAM,QACN,OAAO,eAAe,EAAE,QAAQ,GAC9B,OAAO,CAAC,CAAC,OAAO,eAAe,EAAE,aAAa,EAAE,OAAO,eAAe,EAAE,QAAQ,CAAC,CAAC,CA8B9F;IAED;;;;;;OAMG;IACH,mBALW,MAAM,UACN,MAAM,QACN,OAAO,eAAe,EAAE,QAAQ,GAC9B,OAAO,CAAC,CAAC,OAAO,eAAe,EAAE,aAAa,EAAE,OAAO,eAAe,EAAE,QAAQ,CAAC,CAAC,CAyB9F;IAED;;;;;;OAMG;IACH,mBALW,MAAM,UACN,MAAM,QACN,OAAO,eAAe,EAAE,QAAQ,GAC9B,OAAO,CAAC,CAAC,OAAO,eAAe,EAAE,aAAa,EAAE,OAAO,eAAe,EAAE,QAAQ,CAAC,CAAC,CAU9F;IAED;;;;;;OAMG;IACH,yBALW,MAAM,UACN,MAAM,QACN,OAAO,eAAe,EAAE,QAAQ,GAC9B,OAAO,CAAC,CAAC,OAAO,eAAe,EAAE,aAAa,EAAE,OAAO,eAAe,EAAE,QAAQ,CAAC,CAAC,CAW9F;IAED;;;;;OAKG;IACH,yBAJW,MAAM,UACN,MAAM,GACJ,OAAO,CAAC,CAAC,OAAO,eAAe,EAAE,aAAa,EAAE,OAAO,eAAe,EAAE,QAAQ,CAAC,CAAC,CAI9F;IAED;;;;;;;;;OASG;IACH,6BANW,MAAM,OACN,MAAM,UACN,MAAM,SACN,OAAO,eAAe,EAAE,QAAQ,GAC9B,OAAO,CAAC,CAAC,OAAO,eAAe,EAAE,aAAa,EAAE,OAAO,eAAe,EAAE,QAAQ,CAAC,CAAC,CAiD9F;CACF"}
1
+ {"version":3,"file":"protocol-converter.d.ts","sourceRoot":"","sources":["../../../lib/jsonwp-proxy/protocol-converter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAC,MAAM,eAAe,CAAC;AAMzE,MAAM,MAAM,aAAa,GAAG,CAC1B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,QAAQ,KACZ,OAAO,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;AAExC,eAAO,MAAM,sBAAsB;;oCAGR,MAAM;iCAET,MAAM;;;oCAKH,MAAM;iCACT,MAAM;;;oCAIL,MAAM;iCAKT,MAAM;;;uCAQE,MAAM;uCAKN,MAAM;EAE1B,CAAC;AAKX,qBAAa,iBAAiB;IASnB,SAAS,EAAE,aAAa;IARjC,OAAO,CAAC,mBAAmB,CAAmC;IAC9D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsB;IAE3C;;;OAGG;gBAEM,SAAS,EAAE,aAAa,EAC/B,GAAG,GAAE,YAAY,GAAG,IAAW;IAKjC,IAAI,GAAG,IAAI,YAAY,CAEtB;IAED,IAAI,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAEtD;IAED,IAAI,kBAAkB,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS,CAElD;IAED;;;OAGG;IACG,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,QAAQ,GACd,OAAO,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IA8CrC;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IA6BhC;;OAEG;YACW,gBAAgB;YA+BhB,cAAc;YAwBd,aAAa;YAoBb,aAAa;YAeb,mBAAmB;YAgBnB,mBAAmB;CAMlC"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.COMMAND_URLS_CONFLICTS = void 0;
6
+ exports.ProtocolConverter = exports.COMMAND_URLS_CONFLICTS = void 0;
7
7
  const lodash_1 = __importDefault(require("lodash"));
8
8
  const support_1 = require("@appium/support");
9
9
  const helpers_1 = require("../basedriver/helpers");
@@ -36,23 +36,24 @@ exports.COMMAND_URLS_CONFLICTS = [
36
36
  commandNames: ['getProperty'],
37
37
  jsonwpConverter: (w3cUrl) => {
38
38
  const w3cPropertyRegex = /\/element\/([^/]+)\/property\/([^/]+)/;
39
- const jsonwpUrl = w3cUrl.replace(w3cPropertyRegex, '/element/$1/attribute/$2');
40
- return jsonwpUrl;
39
+ return w3cUrl.replace(w3cPropertyRegex, '/element/$1/attribute/$2');
41
40
  },
42
- w3cConverter: (jsonwpUrl) => jsonwpUrl, // Don't convert JSONWP URL to W3C. W3C accepts /attribute and /property
41
+ // Don't convert JSONWP URL to W3C. W3C accepts /attribute and /property
42
+ w3cConverter: (jsonwpUrl) => jsonwpUrl,
43
43
  },
44
44
  ];
45
45
  const { MJSONWP, W3C } = constants_1.PROTOCOLS;
46
46
  const DEFAULT_LOG = support_1.logger.getLogger('Protocol Converter');
47
47
  class ProtocolConverter {
48
+ proxyFunc;
49
+ _downstreamProtocol = null;
50
+ _log;
48
51
  /**
49
- *
50
- * @param {ProxyFunction} proxyFunc
51
- * @param {import('@appium/types').AppiumLogger | null} [log=null]
52
+ * @param proxyFunc - Function to perform the actual proxy request
53
+ * @param log - Logger instance, or null to use the default
52
54
  */
53
55
  constructor(proxyFunc, log = null) {
54
56
  this.proxyFunc = proxyFunc;
55
- this._downstreamProtocol = null;
56
57
  this._log = log;
57
58
  }
58
59
  get log() {
@@ -64,48 +65,88 @@ class ProtocolConverter {
64
65
  get downstreamProtocol() {
65
66
  return this._downstreamProtocol;
66
67
  }
68
+ /**
69
+ * Handle "crossing" endpoints for the case when upstream and downstream
70
+ * drivers operate different protocols.
71
+ */
72
+ async convertAndProxy(commandName, url, method, body) {
73
+ if (!this.downstreamProtocol) {
74
+ return await this.proxyFunc(url, method, body);
75
+ }
76
+ // Same url, but different arguments
77
+ switch (commandName) {
78
+ case 'timeouts':
79
+ return await this.proxySetTimeouts(url, method, body);
80
+ case 'setWindow':
81
+ return await this.proxySetWindow(url, method, body);
82
+ case 'setValue':
83
+ return await this.proxySetValue(url, method, body);
84
+ case 'performActions':
85
+ return await this.proxyPerformActions(url, method, body);
86
+ case 'releaseActions':
87
+ return await this.proxyReleaseActions(url, method);
88
+ case 'setFrame':
89
+ return await this.proxySetFrame(url, method, body);
90
+ default:
91
+ break;
92
+ }
93
+ // Same arguments, but different URLs
94
+ for (const { commandNames, jsonwpConverter, w3cConverter } of exports.COMMAND_URLS_CONFLICTS) {
95
+ if (!commandNames.includes(commandName)) {
96
+ continue;
97
+ }
98
+ const rewrittenUrl = this.downstreamProtocol === MJSONWP ? jsonwpConverter(url) : w3cConverter(url);
99
+ if (rewrittenUrl === url) {
100
+ this.log.debug(`Did not know how to rewrite the original URL '${url}' for ${this.downstreamProtocol} protocol`);
101
+ break;
102
+ }
103
+ this.log.info(`Rewrote the original URL '${url}' to '${rewrittenUrl}' for ${this.downstreamProtocol} protocol`);
104
+ return await this.proxyFunc(rewrittenUrl, method, body);
105
+ }
106
+ // No matches found. Proceed normally
107
+ return await this.proxyFunc(url, method, body);
108
+ }
67
109
  /**
68
110
  * W3C /timeouts can take as many as 3 timeout types at once, MJSONWP /timeouts only takes one
69
111
  * at a time. So if we're using W3C and proxying to MJSONWP and there's more than one timeout type
70
- * provided in the request, we need to do 3 proxies and combine the result
71
- *
72
- * @param {Object} body Request body
73
- * @return {Object[]} Array of W3C + MJSONWP compatible timeout objects
112
+ * provided in the request, we need to do 3 proxies and combine the result.
74
113
  */
75
114
  getTimeoutRequestObjects(body) {
76
- if (this.downstreamProtocol === W3C && lodash_1.default.has(body, 'ms') && lodash_1.default.has(body, 'type')) {
115
+ if (lodash_1.default.isNil(body)) {
116
+ return [];
117
+ }
118
+ const bodyObj = support_1.util.safeJsonParse(body) ?? {};
119
+ if (this.downstreamProtocol === W3C && lodash_1.default.has(bodyObj, 'ms') && lodash_1.default.has(bodyObj, 'type')) {
77
120
  const typeToW3C = (x) => (x === 'page load' ? 'pageLoad' : x);
78
121
  return [
79
122
  {
80
- [typeToW3C(body.type)]: body.ms,
123
+ [typeToW3C(bodyObj.type)]: bodyObj.ms,
81
124
  },
82
125
  ];
83
126
  }
84
- if (this.downstreamProtocol === MJSONWP && (!lodash_1.default.has(body, 'ms') || !lodash_1.default.has(body, 'type'))) {
127
+ if (this.downstreamProtocol === MJSONWP && (!lodash_1.default.has(bodyObj, 'ms') || !lodash_1.default.has(bodyObj, 'type'))) {
85
128
  const typeToJSONWP = (x) => (x === 'pageLoad' ? 'page load' : x);
86
- return (lodash_1.default.toPairs(body)
129
+ return lodash_1.default.toPairs(bodyObj)
87
130
  // Only transform the entry if ms value is a valid positive float number
88
131
  .filter((pair) => /^\d+(?:[.,]\d*?)?$/.test(`${pair[1]}`))
89
- .map(function (pair) {
90
- return {
91
- type: typeToJSONWP(pair[0]),
92
- ms: pair[1],
93
- };
132
+ .map((pair) => ({
133
+ type: typeToJSONWP(pair[0]),
134
+ ms: pair[1],
94
135
  }));
95
136
  }
96
- return [body];
137
+ return [bodyObj];
97
138
  }
98
139
  /**
99
- * Proxy an array of timeout objects and merge the result
100
- * @param {string} url Endpoint url
101
- * @param {string} method Endpoint method
102
- * @param {import('@appium/types').HTTPBody} body Request body
103
- * @returns {Promise<[import('@appium/types').ProxyResponse, import('@appium/types').HTTPBody]>}
140
+ * Proxy an array of timeout objects and merge the result.
104
141
  */
105
142
  async proxySetTimeouts(url, method, body) {
106
- let response, resBody;
107
143
  const timeoutRequestObjects = this.getTimeoutRequestObjects(body);
144
+ if (timeoutRequestObjects.length === 0) {
145
+ return await this.proxyFunc(url, method, body);
146
+ }
108
147
  this.log.debug(`Will send the following request bodies to /timeouts: ${JSON.stringify(timeoutRequestObjects)}`);
148
+ let response;
149
+ let resBody;
109
150
  for (const timeoutObj of timeoutRequestObjects) {
110
151
  [response, resBody] = await this.proxyFunc(url, method, timeoutObj);
111
152
  // If we got a non-MJSONWP response, return the result, nothing left to do
@@ -118,47 +159,28 @@ class ProtocolConverter {
118
159
  }
119
160
  // ...Otherwise, continue to the next timeouts call
120
161
  }
121
- return [/** @type {import('@appium/types').ProxyResponse} */ (response), resBody];
162
+ return [response, resBody];
122
163
  }
123
- /**
124
- *
125
- * @param {string} url
126
- * @param {string} method
127
- * @param {import('@appium/types').HTTPBody} body
128
- * @returns {Promise<[import('@appium/types').ProxyResponse, import('@appium/types').HTTPBody]>}
129
- */
130
164
  async proxySetWindow(url, method, body) {
131
165
  const bodyObj = support_1.util.safeJsonParse(body);
132
166
  if (lodash_1.default.isPlainObject(bodyObj)) {
167
+ const obj = bodyObj;
133
168
  if (this.downstreamProtocol === W3C && lodash_1.default.has(bodyObj, 'name') && !lodash_1.default.has(bodyObj, 'handle')) {
134
- this.log.debug(`Copied 'name' value '${ /** @type {import('@appium/types').StringRecord} */(bodyObj).name}' to 'handle' as per W3C spec`);
135
- return await this.proxyFunc(url, method, {
136
- ... /** @type {import('@appium/types').StringRecord} */(bodyObj),
137
- handle: /** @type {import('@appium/types').StringRecord} */ (bodyObj).name,
138
- });
169
+ this.log.debug(`Copied 'name' value '${obj.name}' to 'handle' as per W3C spec`);
170
+ return await this.proxyFunc(url, method, { ...obj, handle: obj.name });
139
171
  }
140
172
  if (this.downstreamProtocol === MJSONWP &&
141
173
  lodash_1.default.has(bodyObj, 'handle') &&
142
174
  !lodash_1.default.has(bodyObj, 'name')) {
143
- this.log.debug(`Copied 'handle' value '${ /** @type {import('@appium/types').StringRecord} */(bodyObj).handle}' to 'name' as per JSONWP spec`);
144
- return await this.proxyFunc(url, method, {
145
- ... /** @type {import('@appium/types').StringRecord} */(bodyObj),
146
- name: /** @type {import('@appium/types').StringRecord} */ (bodyObj).handle,
147
- });
175
+ this.log.debug(`Copied 'handle' value '${obj.handle}' to 'name' as per JSONWP spec`);
176
+ return await this.proxyFunc(url, method, { ...obj, name: obj.handle });
148
177
  }
149
178
  }
150
179
  return await this.proxyFunc(url, method, body);
151
180
  }
152
- /**
153
- *
154
- * @param {string} url
155
- * @param {string} method
156
- * @param {import('@appium/types').HTTPBody} body
157
- * @returns {Promise<[import('@appium/types').ProxyResponse, import('@appium/types').HTTPBody]>}
158
- */
159
181
  async proxySetValue(url, method, body) {
160
182
  const bodyObj = support_1.util.safeJsonParse(body);
161
- if (lodash_1.default.isPlainObject(bodyObj) && (support_1.util.hasValue(bodyObj.text) || support_1.util.hasValue(bodyObj.value))) {
183
+ if (lodash_1.default.isPlainObject(bodyObj) && (support_1.util.hasValue(bodyObj?.text) || support_1.util.hasValue(bodyObj?.value))) {
162
184
  let { text, value } = bodyObj;
163
185
  if (support_1.util.hasValue(text) && !support_1.util.hasValue(value)) {
164
186
  value = lodash_1.default.isString(text) ? [...text] : lodash_1.default.isArray(text) ? text : [];
@@ -168,104 +190,30 @@ class ProtocolConverter {
168
190
  text = lodash_1.default.isArray(value) ? value.join('') : lodash_1.default.isString(value) ? value : '';
169
191
  this.log.debug(`Added 'text' property to 'setValue' request body`);
170
192
  }
171
- return await this.proxyFunc(url, method, {
172
- ...bodyObj,
173
- text,
174
- value,
175
- });
193
+ return await this.proxyFunc(url, method, { ...bodyObj, text, value });
176
194
  }
177
195
  return await this.proxyFunc(url, method, body);
178
196
  }
179
- /**
180
- *
181
- * @param {string} url
182
- * @param {string} method
183
- * @param {import('@appium/types').HTTPBody} body
184
- * @returns {Promise<[import('@appium/types').ProxyResponse, import('@appium/types').HTTPBody]>}
185
- */
186
197
  async proxySetFrame(url, method, body) {
187
198
  const bodyObj = support_1.util.safeJsonParse(body);
188
- return lodash_1.default.has(bodyObj, 'id') && lodash_1.default.isPlainObject(bodyObj.id)
189
- ? await this.proxyFunc(url, method, {
199
+ if (lodash_1.default.has(bodyObj, 'id') && lodash_1.default.isPlainObject(bodyObj.id)) {
200
+ return await this.proxyFunc(url, method, {
190
201
  ...bodyObj,
191
202
  id: (0, helpers_1.duplicateKeys)(bodyObj.id, constants_1.MJSONWP_ELEMENT_KEY, constants_1.W3C_ELEMENT_KEY),
192
- })
193
- : await this.proxyFunc(url, method, body);
203
+ });
204
+ }
205
+ return await this.proxyFunc(url, method, body);
194
206
  }
195
- /**
196
- *
197
- * @param {string} url
198
- * @param {string} method
199
- * @param {import('@appium/types').HTTPBody} body
200
- * @returns {Promise<[import('@appium/types').ProxyResponse, import('@appium/types').HTTPBody]>}
201
- */
202
207
  async proxyPerformActions(url, method, body) {
203
208
  const bodyObj = support_1.util.safeJsonParse(body);
204
- return lodash_1.default.isPlainObject(bodyObj)
205
- ? await this.proxyFunc(url, method, (0, helpers_1.duplicateKeys)(bodyObj, constants_1.MJSONWP_ELEMENT_KEY, constants_1.W3C_ELEMENT_KEY))
206
- : await this.proxyFunc(url, method, body);
209
+ if (lodash_1.default.isPlainObject(bodyObj)) {
210
+ return await this.proxyFunc(url, method, (0, helpers_1.duplicateKeys)(bodyObj, constants_1.MJSONWP_ELEMENT_KEY, constants_1.W3C_ELEMENT_KEY));
211
+ }
212
+ return await this.proxyFunc(url, method, body);
207
213
  }
208
- /**
209
- *
210
- * @param {string} url
211
- * @param {string} method
212
- * @returns {Promise<[import('@appium/types').ProxyResponse, import('@appium/types').HTTPBody]>}
213
- */
214
214
  async proxyReleaseActions(url, method) {
215
215
  return await this.proxyFunc(url, method);
216
216
  }
217
- /**
218
- * Handle "crossing" endpoints for the case
219
- * when upstream and downstream drivers operate different protocols
220
- *
221
- * @param {string} commandName
222
- * @param {string} url
223
- * @param {string} method
224
- * @param {import('@appium/types').HTTPBody} [body]
225
- * @returns {Promise<[import('@appium/types').ProxyResponse, import('@appium/types').HTTPBody]>}
226
- */
227
- async convertAndProxy(commandName, url, method, body) {
228
- if (!this.downstreamProtocol) {
229
- return await this.proxyFunc(url, method, body);
230
- }
231
- // Same url, but different arguments
232
- switch (commandName) {
233
- case 'timeouts':
234
- return await this.proxySetTimeouts(url, method, body);
235
- case 'setWindow':
236
- return await this.proxySetWindow(url, method, body);
237
- case 'setValue':
238
- return await this.proxySetValue(url, method, body);
239
- case 'performActions':
240
- return await this.proxyPerformActions(url, method, body);
241
- case 'releaseActions':
242
- return await this.proxyReleaseActions(url, method);
243
- case 'setFrame':
244
- return await this.proxySetFrame(url, method, body);
245
- default:
246
- break;
247
- }
248
- // Same arguments, but different URLs
249
- for (const { commandNames, jsonwpConverter, w3cConverter } of exports.COMMAND_URLS_CONFLICTS) {
250
- if (!commandNames.includes(commandName)) {
251
- continue;
252
- }
253
- const rewrittenUrl = this.downstreamProtocol === MJSONWP ? jsonwpConverter(url) : w3cConverter(url);
254
- if (rewrittenUrl === url) {
255
- this.log.debug(`Did not know how to rewrite the original URL '${url}' ` +
256
- `for ${this.downstreamProtocol} protocol`);
257
- break;
258
- }
259
- this.log.info(`Rewrote the original URL '${url}' to '${rewrittenUrl}' ` +
260
- `for ${this.downstreamProtocol} protocol`);
261
- return await this.proxyFunc(rewrittenUrl, method, body);
262
- }
263
- // No matches found. Proceed normally
264
- return await this.proxyFunc(url, method, body);
265
- }
266
217
  }
267
- exports.default = ProtocolConverter;
268
- /**
269
- * @typedef {(url: string, method: string, body?: import('@appium/types').HTTPBody) => Promise<[import('@appium/types').ProxyResponse, import('@appium/types').HTTPBody]>} ProxyFunction
270
- */
218
+ exports.ProtocolConverter = ProtocolConverter;
271
219
  //# sourceMappingURL=protocol-converter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol-converter.js","sourceRoot":"","sources":["../../../lib/jsonwp-proxy/protocol-converter.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol-converter.js","sourceRoot":"","sources":["../../../lib/jsonwp-proxy/protocol-converter.ts"],"names":[],"mappings":"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"}
@@ -122,7 +122,7 @@ export type Protocol = (typeof PROTOCOLS)[keyof typeof PROTOCOLS];
122
122
  import { ProxyRequest } from './proxy-request';
123
123
  import http from 'node:http';
124
124
  import https from 'node:https';
125
- import ProtocolConverter from './protocol-converter';
125
+ import { ProtocolConverter } from './protocol-converter';
126
126
  import nodeUrl from 'node:url';
127
127
  import { PROTOCOLS } from '../constants';
128
128
  //# sourceMappingURL=proxy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../lib/jsonwp-proxy/proxy.js"],"names":[],"mappings":"AAuCA;IAsBE;;OAEG;IACH,mBAFW,OAAO,eAAe,EAAE,YAAY,EAgC9C;IAtDD,qBAAqB;IACrB,QADW,MAAM,CACV;IACP,qBAAqB;IACrB,QADW,MAAM,CACV;IACP,qBAAqB;IACrB,MADW,MAAM,CACZ;IACL,qBAAqB;IACrB,MADW,MAAM,CACZ;IACL,qBAAqB;IACrB,aADW,MAAM,CACL;IACZ,sBAAsB;IACtB,WADW,MAAM,OAAC,CACR;IACV,qBAAqB;IACrB,SADW,MAAM,CACT;IACR,8DAA8D;IAC9D,SADW,OAAO,eAAe,EAAE,WAAW,GAAG,SAAS,CAClD;IACR,0CAA0C;IAC1C,qBADW,QAAQ,GAAG,IAAI,GAAG,SAAS,CAClB;IACpB,6BAA6B;IAC7B,iBADW,YAAY,EAAE,CACT;IA6Bd,sBAA0C;IAC1C,wBAA4C;IAC5C,qCAA+E;IAC/E,uDAAoB;IAKtB,gDAEC;IAED;;;;;;;;OAQG;IACH,gBAQC;IAED;;OAEG;IACH,0BAFa,MAAM,CAIlB;IAED,6BAKC;IAED;;OAEG;IACH,8BAFW,QAAQ,GAAG,IAAI,GAAG,SAAS,EAKrC;IAED,0BAPW,QAAQ,GAAG,IAAI,GAAG,SAAS,CASrC;IAED;;;;;OAKG;IACH,oBAJW,MAAM,WACN,MAAM,GACJ,MAAM,CAwBlB;IAED;;;;;;OAMG;IACH,WALW,MAAM,UACN,MAAM,SACN,OAAO,eAAe,EAAE,QAAQ,GAC9B,OAAO,CAAC,CAAC,OAAO,eAAe,EAAE,aAAa,EAAE,OAAO,eAAe,EAAE,QAAQ,CAAC,CAAC,CAwG9F;IAED;;;;OAIG;IACH,+BAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,QAAQ,GAAG,SAAS,CAShC;IAED;;;;;;OAMG;IACH,kBALW,MAAM,UACN,OAAO,eAAe,EAAE,UAAU,SAClC,OAAO,eAAe,EAAE,QAAQ,GAC9B,OAAO,CAAC,CAAC,OAAO,eAAe,EAAE,aAAa,EAAE,OAAO,eAAe,EAAE,QAAQ,CAAC,CAAC,CAY9F;IAED;;;;;;OAMG;IACH,aALW,MAAM,UACN,OAAO,eAAe,EAAE,UAAU,SAClC,OAAO,eAAe,EAAE,QAAQ,GAC9B,OAAO,CAAC,OAAO,eAAe,EAAE,QAAQ,CAAC,CAoDrD;IAED;;;;OAIG;IACH,yBAHW,MAAM,GACJ,MAAM,GAAG,IAAI,CAKzB;IAED;;;;OAIG;IACH,iBAHW,OAAO,SAAS,EAAE,OAAO,OACzB,OAAO,SAAS,EAAE,QAAQ,iBA8CpC;IAED;;;;OAIG;IACH,eAHW,MAAM,GACJ,SAAS,CAYrB;IAED;;;;OAIG;IACH,iCAHW,SAAS,GACP,MAAM,CAwBlB;CACF;;yBAKY,KAAK,GAAG;IAAC,QAAQ,EAAE;QAAC,IAAI,EAAE,OAAO,WAAW,EAAE,UAAU,CAAC;QAAC,MAAM,EAAE,OAAO,mBAAmB,EAAE,WAAW,CAAA;KAAC,CAAA;CAAC;wBAC3G,OAAO,CAAC,kBAAkB;uBAC1B,CAAA,OAAO,SAAS,EAAC,MAAM,OAAO,SAAS,CAAC;6BAzdxB,iBAAiB;iBAJ7B,WAAW;kBACV,YAAY;8BAHA,sBAAsB;oBAKhC,UAAU;0BANkC,cAAc"}
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../lib/jsonwp-proxy/proxy.js"],"names":[],"mappings":"AAuCA;IAsBE;;OAEG;IACH,mBAFW,OAAO,eAAe,EAAE,YAAY,EAgC9C;IAtDD,qBAAqB;IACrB,QADW,MAAM,CACV;IACP,qBAAqB;IACrB,QADW,MAAM,CACV;IACP,qBAAqB;IACrB,MADW,MAAM,CACZ;IACL,qBAAqB;IACrB,MADW,MAAM,CACZ;IACL,qBAAqB;IACrB,aADW,MAAM,CACL;IACZ,sBAAsB;IACtB,WADW,MAAM,OAAC,CACR;IACV,qBAAqB;IACrB,SADW,MAAM,CACT;IACR,8DAA8D;IAC9D,SADW,OAAO,eAAe,EAAE,WAAW,GAAG,SAAS,CAClD;IACR,0CAA0C;IAC1C,qBADW,QAAQ,GAAG,IAAI,GAAG,SAAS,CAClB;IACpB,6BAA6B;IAC7B,iBADW,YAAY,EAAE,CACT;IA6Bd,sBAA0C;IAC1C,wBAA4C;IAC5C,qCAA+E;IAC/E,uDAAoB;IAKtB,gDAEC;IAED;;;;;;;;OAQG;IACH,gBAQC;IAED;;OAEG;IACH,0BAFa,MAAM,CAIlB;IAED,6BAKC;IAED;;OAEG;IACH,8BAFW,QAAQ,GAAG,IAAI,GAAG,SAAS,EAKrC;IAED,0BAPW,QAAQ,GAAG,IAAI,GAAG,SAAS,CASrC;IAED;;;;;OAKG;IACH,oBAJW,MAAM,WACN,MAAM,GACJ,MAAM,CAwBlB;IAED;;;;;;OAMG;IACH,WALW,MAAM,UACN,MAAM,SACN,OAAO,eAAe,EAAE,QAAQ,GAC9B,OAAO,CAAC,CAAC,OAAO,eAAe,EAAE,aAAa,EAAE,OAAO,eAAe,EAAE,QAAQ,CAAC,CAAC,CAwG9F;IAED;;;;OAIG;IACH,+BAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,QAAQ,GAAG,SAAS,CAShC;IAED;;;;;;OAMG;IACH,kBALW,MAAM,UACN,OAAO,eAAe,EAAE,UAAU,SAClC,OAAO,eAAe,EAAE,QAAQ,GAC9B,OAAO,CAAC,CAAC,OAAO,eAAe,EAAE,aAAa,EAAE,OAAO,eAAe,EAAE,QAAQ,CAAC,CAAC,CAY9F;IAED;;;;;;OAMG;IACH,aALW,MAAM,UACN,OAAO,eAAe,EAAE,UAAU,SAClC,OAAO,eAAe,EAAE,QAAQ,GAC9B,OAAO,CAAC,OAAO,eAAe,EAAE,QAAQ,CAAC,CAoDrD;IAED;;;;OAIG;IACH,yBAHW,MAAM,GACJ,MAAM,GAAG,IAAI,CAKzB;IAED;;;;OAIG;IACH,iBAHW,OAAO,SAAS,EAAE,OAAO,OACzB,OAAO,SAAS,EAAE,QAAQ,iBA8CpC;IAED;;;;OAIG;IACH,eAHW,MAAM,GACJ,SAAS,CAYrB;IAED;;;;OAIG;IACH,iCAHW,SAAS,GACP,MAAM,CAwBlB;CACF;;yBAKY,KAAK,GAAG;IAAC,QAAQ,EAAE;QAAC,IAAI,EAAE,OAAO,WAAW,EAAE,UAAU,CAAC;QAAC,MAAM,EAAE,OAAO,mBAAmB,EAAE,WAAW,CAAA;KAAC,CAAA;CAAC;wBAC3G,OAAO,CAAC,kBAAkB;uBAC1B,CAAA,OAAO,SAAS,EAAC,MAAM,OAAO,SAAS,CAAC;6BAzdxB,iBAAiB;iBAJ7B,WAAW;kBACV,YAAY;kCAHE,sBAAsB;oBAKlC,UAAU;0BANkC,cAAc"}
@@ -10,7 +10,7 @@ const status_1 = require("../jsonwp-status/status");
10
10
  const errors_1 = require("../protocol/errors");
11
11
  const protocol_1 = require("../protocol");
12
12
  const constants_1 = require("../constants");
13
- const protocol_converter_1 = __importDefault(require("./protocol-converter"));
13
+ const protocol_converter_1 = require("./protocol-converter");
14
14
  const helpers_1 = require("../protocol/helpers");
15
15
  const node_http_1 = __importDefault(require("node:http"));
16
16
  const node_https_1 = __importDefault(require("node:https"));
@@ -82,7 +82,7 @@ class JWProxy {
82
82
  };
83
83
  this.httpAgent = new node_http_1.default.Agent(agentOpts);
84
84
  this.httpsAgent = new node_https_1.default.Agent(agentOpts);
85
- this.protocolConverter = new protocol_converter_1.default(this.proxy.bind(this), opts.log);
85
+ this.protocolConverter = new protocol_converter_1.ProtocolConverter(this.proxy.bind(this), opts.log);
86
86
  this._log = opts.log;
87
87
  this.log.debug(`${this.constructor.name} options: ${JSON.stringify(options)}`);
88
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../lib/jsonwp-proxy/proxy.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../lib/jsonwp-proxy/proxy.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,284 @@
1
+ import type {AppiumLogger, HTTPBody, ProxyResponse} from '@appium/types';
2
+ import _ from 'lodash';
3
+ import {logger, util} from '@appium/support';
4
+ import {duplicateKeys} from '../basedriver/helpers';
5
+ import {MJSONWP_ELEMENT_KEY, W3C_ELEMENT_KEY, PROTOCOLS} from '../constants';
6
+
7
+ export type ProxyFunction = (
8
+ url: string,
9
+ method: string,
10
+ body?: HTTPBody
11
+ ) => Promise<[ProxyResponse, HTTPBody]>;
12
+
13
+ export const COMMAND_URLS_CONFLICTS = [
14
+ {
15
+ commandNames: ['execute', 'executeAsync'],
16
+ jsonwpConverter: (url: string) =>
17
+ url.replace(/\/execute.*/, url.includes('async') ? '/execute_async' : '/execute'),
18
+ w3cConverter: (url: string) =>
19
+ url.replace(/\/execute.*/, url.includes('async') ? '/execute/async' : '/execute/sync'),
20
+ },
21
+ {
22
+ commandNames: ['getElementScreenshot'],
23
+ jsonwpConverter: (url: string) => url.replace(/\/element\/([^/]+)\/screenshot$/, '/screenshot/$1'),
24
+ w3cConverter: (url: string) => url.replace(/\/screenshot\/([^/]+)/, '/element/$1/screenshot'),
25
+ },
26
+ {
27
+ commandNames: ['getWindowHandles', 'getWindowHandle'],
28
+ jsonwpConverter(url: string) {
29
+ return url.endsWith('/window')
30
+ ? url.replace(/\/window$/, '/window_handle')
31
+ : url.replace(/\/window\/handle(s?)$/, '/window_handle$1');
32
+ },
33
+ w3cConverter(url: string) {
34
+ return url.endsWith('/window_handle')
35
+ ? url.replace(/\/window_handle$/, '/window')
36
+ : url.replace(/\/window_handles$/, '/window/handles');
37
+ },
38
+ },
39
+ {
40
+ commandNames: ['getProperty'],
41
+ jsonwpConverter: (w3cUrl: string) => {
42
+ const w3cPropertyRegex = /\/element\/([^/]+)\/property\/([^/]+)/;
43
+ return w3cUrl.replace(w3cPropertyRegex, '/element/$1/attribute/$2');
44
+ },
45
+ // Don't convert JSONWP URL to W3C. W3C accepts /attribute and /property
46
+ w3cConverter: (jsonwpUrl: string) => jsonwpUrl,
47
+ },
48
+ ] as const;
49
+
50
+ const {MJSONWP, W3C} = PROTOCOLS;
51
+ const DEFAULT_LOG = logger.getLogger('Protocol Converter');
52
+
53
+ export class ProtocolConverter {
54
+ private _downstreamProtocol: string | null | undefined = null;
55
+ private readonly _log: AppiumLogger | null;
56
+
57
+ /**
58
+ * @param proxyFunc - Function to perform the actual proxy request
59
+ * @param log - Logger instance, or null to use the default
60
+ */
61
+ constructor(
62
+ public proxyFunc: ProxyFunction,
63
+ log: AppiumLogger | null = null
64
+ ) {
65
+ this._log = log;
66
+ }
67
+
68
+ get log(): AppiumLogger {
69
+ return this._log ?? DEFAULT_LOG;
70
+ }
71
+
72
+ set downstreamProtocol(value: string | null | undefined) {
73
+ this._downstreamProtocol = value;
74
+ }
75
+
76
+ get downstreamProtocol(): string | null | undefined {
77
+ return this._downstreamProtocol;
78
+ }
79
+
80
+ /**
81
+ * Handle "crossing" endpoints for the case when upstream and downstream
82
+ * drivers operate different protocols.
83
+ */
84
+ async convertAndProxy(
85
+ commandName: string,
86
+ url: string,
87
+ method: string,
88
+ body?: HTTPBody
89
+ ): Promise<[ProxyResponse, HTTPBody]> {
90
+ if (!this.downstreamProtocol) {
91
+ return await this.proxyFunc(url, method, body);
92
+ }
93
+
94
+ // Same url, but different arguments
95
+ switch (commandName) {
96
+ case 'timeouts':
97
+ return await this.proxySetTimeouts(url, method, body);
98
+ case 'setWindow':
99
+ return await this.proxySetWindow(url, method, body);
100
+ case 'setValue':
101
+ return await this.proxySetValue(url, method, body);
102
+ case 'performActions':
103
+ return await this.proxyPerformActions(url, method, body);
104
+ case 'releaseActions':
105
+ return await this.proxyReleaseActions(url, method);
106
+ case 'setFrame':
107
+ return await this.proxySetFrame(url, method, body);
108
+ default:
109
+ break;
110
+ }
111
+
112
+ // Same arguments, but different URLs
113
+ for (const {commandNames, jsonwpConverter, w3cConverter} of COMMAND_URLS_CONFLICTS) {
114
+ if (!(commandNames as readonly string[]).includes(commandName)) {
115
+ continue;
116
+ }
117
+ const rewrittenUrl =
118
+ this.downstreamProtocol === MJSONWP ? jsonwpConverter(url) : w3cConverter(url);
119
+ if (rewrittenUrl === url) {
120
+ this.log.debug(
121
+ `Did not know how to rewrite the original URL '${url}' for ${this.downstreamProtocol} protocol`
122
+ );
123
+ break;
124
+ }
125
+ this.log.info(
126
+ `Rewrote the original URL '${url}' to '${rewrittenUrl}' for ${this.downstreamProtocol} protocol`
127
+ );
128
+ return await this.proxyFunc(rewrittenUrl, method, body);
129
+ }
130
+
131
+ // No matches found. Proceed normally
132
+ return await this.proxyFunc(url, method, body);
133
+ }
134
+
135
+ /**
136
+ * W3C /timeouts can take as many as 3 timeout types at once, MJSONWP /timeouts only takes one
137
+ * at a time. So if we're using W3C and proxying to MJSONWP and there's more than one timeout type
138
+ * provided in the request, we need to do 3 proxies and combine the result.
139
+ */
140
+ private getTimeoutRequestObjects(body: HTTPBody): Record<string, unknown>[] {
141
+ if (_.isNil(body)) {
142
+ return [];
143
+ }
144
+
145
+ const bodyObj = (util.safeJsonParse(body) as Record<string, unknown>) ?? {};
146
+ if (this.downstreamProtocol === W3C && _.has(bodyObj, 'ms') && _.has(bodyObj, 'type')) {
147
+ const typeToW3C = (x: string) => (x === 'page load' ? 'pageLoad' : x);
148
+ return [
149
+ {
150
+ [typeToW3C(bodyObj.type as string)]: bodyObj.ms,
151
+ },
152
+ ];
153
+ }
154
+
155
+ if (this.downstreamProtocol === MJSONWP && (!_.has(bodyObj, 'ms') || !_.has(bodyObj, 'type'))) {
156
+ const typeToJSONWP = (x: string) => (x === 'pageLoad' ? 'page load' : x);
157
+ return _.toPairs(bodyObj)
158
+ // Only transform the entry if ms value is a valid positive float number
159
+ .filter((pair) => /^\d+(?:[.,]\d*?)?$/.test(`${pair[1]}`))
160
+ .map((pair) => ({
161
+ type: typeToJSONWP(pair[0]),
162
+ ms: pair[1],
163
+ }));
164
+ }
165
+
166
+ return [bodyObj];
167
+ }
168
+
169
+ /**
170
+ * Proxy an array of timeout objects and merge the result.
171
+ */
172
+ private async proxySetTimeouts(
173
+ url: string,
174
+ method: string,
175
+ body?: HTTPBody
176
+ ): Promise<[ProxyResponse, HTTPBody]> {
177
+ const timeoutRequestObjects = this.getTimeoutRequestObjects(body);
178
+ if (timeoutRequestObjects.length === 0) {
179
+ return await this.proxyFunc(url, method, body);
180
+ }
181
+ this.log.debug(
182
+ `Will send the following request bodies to /timeouts: ${JSON.stringify(timeoutRequestObjects)}`
183
+ );
184
+
185
+ let response!: ProxyResponse;
186
+ let resBody!: HTTPBody;
187
+ for (const timeoutObj of timeoutRequestObjects) {
188
+ [response, resBody] = await this.proxyFunc(url, method, timeoutObj as HTTPBody);
189
+
190
+ // If we got a non-MJSONWP response, return the result, nothing left to do
191
+ if (this.downstreamProtocol !== MJSONWP) {
192
+ return [response, resBody];
193
+ }
194
+ // If we got an error, return the error right away
195
+ if (response.statusCode >= 400) {
196
+ return [response, resBody];
197
+ }
198
+ // ...Otherwise, continue to the next timeouts call
199
+ }
200
+ return [response, resBody];
201
+ }
202
+
203
+ private async proxySetWindow(
204
+ url: string,
205
+ method: string,
206
+ body: HTTPBody
207
+ ): Promise<[ProxyResponse, HTTPBody]> {
208
+ const bodyObj = util.safeJsonParse(body);
209
+ if (_.isPlainObject(bodyObj)) {
210
+ const obj = bodyObj as Record<string, unknown>;
211
+ if (this.downstreamProtocol === W3C && _.has(bodyObj, 'name') && !_.has(bodyObj, 'handle')) {
212
+ this.log.debug(`Copied 'name' value '${obj.name}' to 'handle' as per W3C spec`);
213
+ return await this.proxyFunc(url, method, {...obj, handle: obj.name});
214
+ }
215
+ if (
216
+ this.downstreamProtocol === MJSONWP &&
217
+ _.has(bodyObj, 'handle') &&
218
+ !_.has(bodyObj, 'name')
219
+ ) {
220
+ this.log.debug(`Copied 'handle' value '${obj.handle}' to 'name' as per JSONWP spec`);
221
+ return await this.proxyFunc(url, method, {...obj, name: obj.handle});
222
+ }
223
+ }
224
+ return await this.proxyFunc(url, method, body);
225
+ }
226
+
227
+ private async proxySetValue(
228
+ url: string,
229
+ method: string,
230
+ body: HTTPBody
231
+ ): Promise<[ProxyResponse, HTTPBody]> {
232
+ const bodyObj = util.safeJsonParse(body) as Record<string, unknown> | undefined;
233
+ if (_.isPlainObject(bodyObj) && (util.hasValue(bodyObj?.text) || util.hasValue(bodyObj?.value))) {
234
+ let {text, value} = bodyObj;
235
+ if (util.hasValue(text) && !util.hasValue(value)) {
236
+ value = _.isString(text) ? [...text] : _.isArray(text) ? text : [];
237
+ this.log.debug(`Added 'value' property to 'setValue' request body`);
238
+ } else if (!util.hasValue(text) && util.hasValue(value)) {
239
+ text = _.isArray(value) ? value.join('') : _.isString(value) ? value : '';
240
+ this.log.debug(`Added 'text' property to 'setValue' request body`);
241
+ }
242
+ return await this.proxyFunc(url, method, {...bodyObj, text, value});
243
+ }
244
+ return await this.proxyFunc(url, method, body);
245
+ }
246
+
247
+ private async proxySetFrame(
248
+ url: string,
249
+ method: string,
250
+ body: HTTPBody
251
+ ): Promise<[ProxyResponse, HTTPBody]> {
252
+ const bodyObj = util.safeJsonParse(body);
253
+ if (_.has(bodyObj, 'id') && _.isPlainObject(bodyObj.id)) {
254
+ return await this.proxyFunc(url, method, {
255
+ ...(bodyObj as object),
256
+ id: duplicateKeys(bodyObj.id as object, MJSONWP_ELEMENT_KEY, W3C_ELEMENT_KEY),
257
+ });
258
+ }
259
+ return await this.proxyFunc(url, method, body);
260
+ }
261
+
262
+ private async proxyPerformActions(
263
+ url: string,
264
+ method: string,
265
+ body: HTTPBody
266
+ ): Promise<[ProxyResponse, HTTPBody]> {
267
+ const bodyObj = util.safeJsonParse(body);
268
+ if (_.isPlainObject(bodyObj)) {
269
+ return await this.proxyFunc(
270
+ url,
271
+ method,
272
+ duplicateKeys(bodyObj as object, MJSONWP_ELEMENT_KEY, W3C_ELEMENT_KEY)
273
+ );
274
+ }
275
+ return await this.proxyFunc(url, method, body);
276
+ }
277
+
278
+ private async proxyReleaseActions(
279
+ url: string,
280
+ method: string
281
+ ): Promise<[ProxyResponse, HTTPBody]> {
282
+ return await this.proxyFunc(url, method);
283
+ }
284
+ }
@@ -10,7 +10,7 @@ import {
10
10
  } from '../protocol/errors';
11
11
  import {isSessionCommand, routeToCommandName} from '../protocol';
12
12
  import {MAX_LOG_BODY_LENGTH, DEFAULT_BASE_PATH, PROTOCOLS} from '../constants';
13
- import ProtocolConverter from './protocol-converter';
13
+ import {ProtocolConverter} from './protocol-converter';
14
14
  import {formatResponseValue, ensureW3cResponse} from '../protocol/helpers';
15
15
  import http from 'node:http';
16
16
  import https from 'node:https';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appium/base-driver",
3
- "version": "10.2.1",
3
+ "version": "10.2.2",
4
4
  "description": "Base driver class for Appium drivers",
5
5
  "keywords": [
6
6
  "automation",
@@ -74,7 +74,7 @@
74
74
  "publishConfig": {
75
75
  "access": "public"
76
76
  },
77
- "gitHead": "980a121804ae006db879fb6860f627ac36174c15",
77
+ "gitHead": "c745352c6500937a4590d1ef6ef19785143a8870",
78
78
  "tsd": {
79
79
  "directory": "test/types"
80
80
  }
@@ -1,317 +0,0 @@
1
- import _ from 'lodash';
2
- import {logger, util} from '@appium/support';
3
- import {duplicateKeys} from '../basedriver/helpers';
4
- import {MJSONWP_ELEMENT_KEY, W3C_ELEMENT_KEY, PROTOCOLS} from '../constants';
5
-
6
- export const COMMAND_URLS_CONFLICTS = [
7
- {
8
- commandNames: ['execute', 'executeAsync'],
9
- jsonwpConverter: (url) =>
10
- url.replace(/\/execute.*/, url.includes('async') ? '/execute_async' : '/execute'),
11
- w3cConverter: (url) =>
12
- url.replace(/\/execute.*/, url.includes('async') ? '/execute/async' : '/execute/sync'),
13
- },
14
- {
15
- commandNames: ['getElementScreenshot'],
16
- jsonwpConverter: (url) => url.replace(/\/element\/([^/]+)\/screenshot$/, '/screenshot/$1'),
17
- w3cConverter: (url) => url.replace(/\/screenshot\/([^/]+)/, '/element/$1/screenshot'),
18
- },
19
- {
20
- commandNames: ['getWindowHandles', 'getWindowHandle'],
21
- jsonwpConverter(url) {
22
- return url.endsWith('/window')
23
- ? url.replace(/\/window$/, '/window_handle')
24
- : url.replace(/\/window\/handle(s?)$/, '/window_handle$1');
25
- },
26
- w3cConverter(url) {
27
- return url.endsWith('/window_handle')
28
- ? url.replace(/\/window_handle$/, '/window')
29
- : url.replace(/\/window_handles$/, '/window/handles');
30
- },
31
- },
32
- {
33
- commandNames: ['getProperty'],
34
- jsonwpConverter: (w3cUrl) => {
35
- const w3cPropertyRegex = /\/element\/([^/]+)\/property\/([^/]+)/;
36
- const jsonwpUrl = w3cUrl.replace(w3cPropertyRegex, '/element/$1/attribute/$2');
37
- return jsonwpUrl;
38
- },
39
- w3cConverter: (jsonwpUrl) => jsonwpUrl, // Don't convert JSONWP URL to W3C. W3C accepts /attribute and /property
40
- },
41
- ];
42
- const {MJSONWP, W3C} = PROTOCOLS;
43
- const DEFAULT_LOG = logger.getLogger('Protocol Converter');
44
-
45
- class ProtocolConverter {
46
- /**
47
- *
48
- * @param {ProxyFunction} proxyFunc
49
- * @param {import('@appium/types').AppiumLogger | null} [log=null]
50
- */
51
- constructor(proxyFunc, log = null) {
52
- this.proxyFunc = proxyFunc;
53
- this._downstreamProtocol = null;
54
- this._log = log;
55
- }
56
-
57
- get log() {
58
- return this._log ?? DEFAULT_LOG;
59
- }
60
-
61
- set downstreamProtocol(value) {
62
- this._downstreamProtocol = value;
63
- }
64
-
65
- get downstreamProtocol() {
66
- return this._downstreamProtocol;
67
- }
68
-
69
- /**
70
- * W3C /timeouts can take as many as 3 timeout types at once, MJSONWP /timeouts only takes one
71
- * at a time. So if we're using W3C and proxying to MJSONWP and there's more than one timeout type
72
- * provided in the request, we need to do 3 proxies and combine the result
73
- *
74
- * @param {Object} body Request body
75
- * @return {Object[]} Array of W3C + MJSONWP compatible timeout objects
76
- */
77
- getTimeoutRequestObjects(body) {
78
- if (this.downstreamProtocol === W3C && _.has(body, 'ms') && _.has(body, 'type')) {
79
- const typeToW3C = (x) => (x === 'page load' ? 'pageLoad' : x);
80
- return [
81
- {
82
- [typeToW3C(body.type)]: body.ms,
83
- },
84
- ];
85
- }
86
-
87
- if (this.downstreamProtocol === MJSONWP && (!_.has(body, 'ms') || !_.has(body, 'type'))) {
88
- const typeToJSONWP = (x) => (x === 'pageLoad' ? 'page load' : x);
89
- return (
90
- _.toPairs(body)
91
- // Only transform the entry if ms value is a valid positive float number
92
- .filter((pair) => /^\d+(?:[.,]\d*?)?$/.test(`${pair[1]}`))
93
- .map(function (pair) {
94
- return {
95
- type: typeToJSONWP(pair[0]),
96
- ms: pair[1],
97
- };
98
- })
99
- );
100
- }
101
-
102
- return [body];
103
- }
104
-
105
- /**
106
- * Proxy an array of timeout objects and merge the result
107
- * @param {string} url Endpoint url
108
- * @param {string} method Endpoint method
109
- * @param {import('@appium/types').HTTPBody} body Request body
110
- * @returns {Promise<[import('@appium/types').ProxyResponse, import('@appium/types').HTTPBody]>}
111
- */
112
- async proxySetTimeouts(url, method, body) {
113
- let response, resBody;
114
-
115
- const timeoutRequestObjects = this.getTimeoutRequestObjects(body);
116
- this.log.debug(
117
- `Will send the following request bodies to /timeouts: ${JSON.stringify(
118
- timeoutRequestObjects
119
- )}`
120
- );
121
- for (const timeoutObj of timeoutRequestObjects) {
122
- [response, resBody] = await this.proxyFunc(url, method, timeoutObj);
123
-
124
- // If we got a non-MJSONWP response, return the result, nothing left to do
125
- if (this.downstreamProtocol !== MJSONWP) {
126
- return [response, resBody];
127
- }
128
-
129
- // If we got an error, return the error right away
130
- if (response.statusCode >= 400) {
131
- return [response, resBody];
132
- }
133
-
134
- // ...Otherwise, continue to the next timeouts call
135
- }
136
- return [/** @type {import('@appium/types').ProxyResponse} */(response), resBody];
137
- }
138
-
139
- /**
140
- *
141
- * @param {string} url
142
- * @param {string} method
143
- * @param {import('@appium/types').HTTPBody} body
144
- * @returns {Promise<[import('@appium/types').ProxyResponse, import('@appium/types').HTTPBody]>}
145
- */
146
- async proxySetWindow(url, method, body) {
147
- const bodyObj = util.safeJsonParse(body);
148
- if (_.isPlainObject(bodyObj)) {
149
- if (this.downstreamProtocol === W3C && _.has(bodyObj, 'name') && !_.has(bodyObj, 'handle')) {
150
- this.log.debug(
151
- `Copied 'name' value '${/** @type {import('@appium/types').StringRecord} */ (bodyObj).name}' to 'handle' as per W3C spec`
152
- );
153
- return await this.proxyFunc(url, method, {
154
- .../** @type {import('@appium/types').StringRecord} */ (bodyObj),
155
- handle: /** @type {import('@appium/types').StringRecord} */ (bodyObj).name,
156
- });
157
- }
158
- if (
159
- this.downstreamProtocol === MJSONWP &&
160
- _.has(bodyObj, 'handle') &&
161
- !_.has(bodyObj, 'name')
162
- ) {
163
- this.log.debug(
164
- `Copied 'handle' value '${/** @type {import('@appium/types').StringRecord} */ (bodyObj).handle}' to 'name' as per JSONWP spec`
165
- );
166
- return await this.proxyFunc(url, method, {
167
- .../** @type {import('@appium/types').StringRecord} */ (bodyObj),
168
- name: /** @type {import('@appium/types').StringRecord} */ (bodyObj).handle,
169
- });
170
- }
171
- }
172
-
173
- return await this.proxyFunc(url, method, body);
174
- }
175
-
176
- /**
177
- *
178
- * @param {string} url
179
- * @param {string} method
180
- * @param {import('@appium/types').HTTPBody} body
181
- * @returns {Promise<[import('@appium/types').ProxyResponse, import('@appium/types').HTTPBody]>}
182
- */
183
- async proxySetValue(url, method, body) {
184
- const bodyObj = util.safeJsonParse(body);
185
- if (_.isPlainObject(bodyObj) && (util.hasValue(bodyObj.text) || util.hasValue(bodyObj.value))) {
186
- let {text, value} = bodyObj;
187
- if (util.hasValue(text) && !util.hasValue(value)) {
188
- value = _.isString(text) ? [...text] : _.isArray(text) ? text : [];
189
- this.log.debug(`Added 'value' property to 'setValue' request body`);
190
- } else if (!util.hasValue(text) && util.hasValue(value)) {
191
- text = _.isArray(value) ? value.join('') : _.isString(value) ? value : '';
192
- this.log.debug(`Added 'text' property to 'setValue' request body`);
193
- }
194
- return await this.proxyFunc(
195
- url,
196
- method,
197
- {
198
- ...bodyObj,
199
- text,
200
- value,
201
- }
202
- );
203
- }
204
-
205
- return await this.proxyFunc(url, method, body);
206
- }
207
-
208
- /**
209
- *
210
- * @param {string} url
211
- * @param {string} method
212
- * @param {import('@appium/types').HTTPBody} body
213
- * @returns {Promise<[import('@appium/types').ProxyResponse, import('@appium/types').HTTPBody]>}
214
- */
215
- async proxySetFrame(url, method, body) {
216
- const bodyObj = util.safeJsonParse(body);
217
- return _.has(bodyObj, 'id') && _.isPlainObject(bodyObj.id)
218
- ? await this.proxyFunc(url, method, {
219
- ...bodyObj,
220
- id: duplicateKeys(bodyObj.id, MJSONWP_ELEMENT_KEY, W3C_ELEMENT_KEY),
221
- })
222
- : await this.proxyFunc(url, method, body);
223
- }
224
-
225
- /**
226
- *
227
- * @param {string} url
228
- * @param {string} method
229
- * @param {import('@appium/types').HTTPBody} body
230
- * @returns {Promise<[import('@appium/types').ProxyResponse, import('@appium/types').HTTPBody]>}
231
- */
232
- async proxyPerformActions(url, method, body) {
233
- const bodyObj = util.safeJsonParse(body);
234
- return _.isPlainObject(bodyObj)
235
- ? await this.proxyFunc(
236
- url,
237
- method,
238
- duplicateKeys(bodyObj, MJSONWP_ELEMENT_KEY, W3C_ELEMENT_KEY)
239
- )
240
- : await this.proxyFunc(url, method, body);
241
- }
242
-
243
- /**
244
- *
245
- * @param {string} url
246
- * @param {string} method
247
- * @returns {Promise<[import('@appium/types').ProxyResponse, import('@appium/types').HTTPBody]>}
248
- */
249
- async proxyReleaseActions(url, method) {
250
- return await this.proxyFunc(url, method);
251
- }
252
-
253
- /**
254
- * Handle "crossing" endpoints for the case
255
- * when upstream and downstream drivers operate different protocols
256
- *
257
- * @param {string} commandName
258
- * @param {string} url
259
- * @param {string} method
260
- * @param {import('@appium/types').HTTPBody} [body]
261
- * @returns {Promise<[import('@appium/types').ProxyResponse, import('@appium/types').HTTPBody]>}
262
- */
263
- async convertAndProxy(commandName, url, method, body) {
264
- if (!this.downstreamProtocol) {
265
- return await this.proxyFunc(url, method, body);
266
- }
267
-
268
- // Same url, but different arguments
269
- switch (commandName) {
270
- case 'timeouts':
271
- return await this.proxySetTimeouts(url, method, body);
272
- case 'setWindow':
273
- return await this.proxySetWindow(url, method, body);
274
- case 'setValue':
275
- return await this.proxySetValue(url, method, body);
276
- case 'performActions':
277
- return await this.proxyPerformActions(url, method, body);
278
- case 'releaseActions':
279
- return await this.proxyReleaseActions(url, method);
280
- case 'setFrame':
281
- return await this.proxySetFrame(url, method, body);
282
- default:
283
- break;
284
- }
285
-
286
- // Same arguments, but different URLs
287
- for (const {commandNames, jsonwpConverter, w3cConverter} of COMMAND_URLS_CONFLICTS) {
288
- if (!commandNames.includes(commandName)) {
289
- continue;
290
- }
291
-
292
- const rewrittenUrl =
293
- this.downstreamProtocol === MJSONWP ? jsonwpConverter(url) : w3cConverter(url);
294
- if (rewrittenUrl === url) {
295
- this.log.debug(
296
- `Did not know how to rewrite the original URL '${url}' ` +
297
- `for ${this.downstreamProtocol} protocol`
298
- );
299
- break;
300
- }
301
- this.log.info(
302
- `Rewrote the original URL '${url}' to '${rewrittenUrl}' ` +
303
- `for ${this.downstreamProtocol} protocol`
304
- );
305
- return await this.proxyFunc(rewrittenUrl, method, body);
306
- }
307
-
308
- // No matches found. Proceed normally
309
- return await this.proxyFunc(url, method, body);
310
- }
311
- }
312
-
313
- export default ProtocolConverter;
314
-
315
- /**
316
- * @typedef {(url: string, method: string, body?: import('@appium/types').HTTPBody) => Promise<[import('@appium/types').ProxyResponse, import('@appium/types').HTTPBody]>} ProxyFunction
317
- */