@appium/driver-test-support 1.2.2 → 1.2.4

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/README.md CHANGED
@@ -59,7 +59,6 @@ These are just some helpers (mainly for E2E tests):
59
59
  ```js
60
60
  import {TEST_HOST, getTestPort, createAppiumURL} from '@appium/driver-test-support';
61
61
  import assert from 'node:assert';
62
- import _ from 'lodash';
63
62
 
64
63
  describe('TEST_HOST', function() {
65
64
  it('should be localhost', function() {
@@ -75,26 +74,18 @@ describe('getTestPort()', function() {
75
74
  });
76
75
 
77
76
  describe('createAppiumURL()', function() {
77
+ const urlFor = createAppiumURL(TEST_HOST, 31337);
78
+
78
79
  it('should create a "new session" URL', function() {
79
- const actual = createAppiumURL(TEST_HOST, 31337, '', 'session');
80
- const expected = `http://${TEST_HOST}:31337/session`;
81
- assert.strictEqual(actual, expected);
82
- });
83
-
84
- it('should create a URL to get an existing session', function() {
85
- const sessionId = '12345';
86
- const createGetSessionURL = createAppiumURL(TEST_HOST, 31337, _, 'session');
87
- const actual = createGetSessionURL(sessionId);
88
- const expected = `http://${TEST_HOST}:31337/session/${sessionId}/session`;
89
- assert.strictEqual(actual, expected);
80
+ assert.strictEqual(urlFor('', 'session'), `http://${TEST_HOST}:31337/session`);
90
81
  });
91
-
92
- it('should create a URL for a command using an existing session', function() {
82
+
83
+ it('should create a URL for a session command', function() {
93
84
  const sessionId = '12345';
94
- const createURLWithPath = createAppiumURL('127.0.0.1', 31337, sessionId);
95
- const actual = createURLWithPath('moocow');
96
- const expected = `http://${TEST_HOST}:31337/session/${sessionId}/moocow`;
97
- assert.strictEqual(actual, expected);
85
+ assert.strictEqual(
86
+ urlFor(sessionId, 'moocow'),
87
+ `http://${TEST_HOST}:31337/session/${sessionId}/moocow`
88
+ );
98
89
  });
99
90
  });
100
91
  ```
@@ -1,5 +1,11 @@
1
1
  import type { BaseNSCapabilities, Driver, DriverClass } from '@appium/types';
2
2
  import type { SessionHelpers } from './types';
3
+ /** Driver E2E caps may include server options beyond {@linkcode BaseNSCapabilities}. */
4
+ type DriverE2EDefaultCaps = Partial<BaseNSCapabilities> & {
5
+ 'appium:address'?: string;
6
+ 'appium:port'?: number;
7
+ 'appium:deviceName'?: string;
8
+ };
3
9
  /**
4
10
  * Creates some helper functions for E2E tests to manage sessions.
5
11
  */
@@ -7,5 +13,6 @@ export declare function createSessionHelpers<CommandData = unknown, ResponseData
7
13
  /**
8
14
  * Creates E2E test suites for a driver.
9
15
  */
10
- export declare function driverE2ETestSuite(DriverClass: DriverClass<Driver>, defaultCaps?: Partial<BaseNSCapabilities>): void;
16
+ export declare function driverE2ETestSuite(DriverClass: DriverClass<Driver>, defaultCaps?: DriverE2EDefaultCaps): void;
17
+ export {};
11
18
  //# sourceMappingURL=e2e-suite.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"e2e-suite.d.ts","sourceRoot":"","sources":["../../lib/e2e-suite.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,kBAAkB,EAAE,MAAM,EAAE,WAAW,EAAsB,MAAM,eAAe,CAAC;AAChG,OAAO,KAAK,EAAqB,cAAc,EAAC,MAAM,SAAS,CAAC;AAEhE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,GAAG,OAAO,EAAE,YAAY,GAAG,GAAG,EAC5E,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,MAAkB,GAC1B,cAAc,CAAC,WAAW,EAAE,YAAY,CAAC,CAgD3C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,EAChC,WAAW,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAC5C,IAAI,CAkVN"}
1
+ {"version":3,"file":"e2e-suite.d.ts","sourceRoot":"","sources":["../../lib/e2e-suite.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,kBAAkB,EAClB,MAAM,EACN,WAAW,EAGZ,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAqC,cAAc,EAAC,MAAM,SAAS,CAAC;AAEhF,wFAAwF;AACxF,KAAK,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG;IACxD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,GAAG,OAAO,EAAE,YAAY,GAAG,GAAG,EAC5E,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,MAAkB,GAC1B,cAAc,CAAC,WAAW,EAAE,YAAY,CAAC,CA2C3C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,EAChC,WAAW,GAAE,oBAAyB,GACrC,IAAI,CA8UN"}
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.createSessionHelpers = createSessionHelpers;
7
7
  exports.driverE2ETestSuite = driverE2ETestSuite;
8
- const lodash_1 = __importDefault(require("lodash"));
9
8
  const driver_1 = require("appium/driver");
10
9
  const axios_1 = __importDefault(require("axios"));
11
10
  const asyncbox_1 = require("asyncbox");
@@ -28,7 +27,7 @@ function createSessionHelpers(port, address = helpers_1.TEST_HOST) {
28
27
  return response.data?.value;
29
28
  },
30
29
  getCommand: async (sessionIdOrCmdName, cmdNameOrConfig, config = {}) => {
31
- if (!lodash_1.default.isString(cmdNameOrConfig)) {
30
+ if (typeof cmdNameOrConfig !== 'string') {
32
31
  config = cmdNameOrConfig;
33
32
  cmdNameOrConfig = sessionIdOrCmdName;
34
33
  sessionIdOrCmdName = '';
@@ -41,12 +40,7 @@ function createSessionHelpers(port, address = helpers_1.TEST_HOST) {
41
40
  return response.data?.value;
42
41
  },
43
42
  startSession: async (data, config = {}) => {
44
- data = lodash_1.default.defaultsDeep(data, {
45
- capabilities: {
46
- alwaysMatch: {},
47
- firstMatch: [{}],
48
- },
49
- });
43
+ applyNewSessionDefaults(data);
50
44
  const response = await axios_1.default.post(newSessionURL, data, config);
51
45
  return response.data?.value;
52
46
  },
@@ -126,7 +120,7 @@ function driverE2ETestSuite(DriverClass, defaultCaps = {}) {
126
120
  sessionIds.push(sessionId);
127
121
  times++;
128
122
  } while (times < 2);
129
- expect(lodash_1.default.uniq(sessionIds)).to.have.lengthOf(1);
123
+ expect([...new Set(sessionIds)]).to.have.lengthOf(1);
130
124
  const { status, data } = await endSession(sessionIds[0]);
131
125
  expect(status).to.equal(200);
132
126
  expect(data.value).to.be.null;
@@ -153,8 +147,8 @@ function driverE2ETestSuite(DriverClass, defaultCaps = {}) {
153
147
  }));
154
148
  times++;
155
149
  } while (times < 2);
156
- const sessionIds = lodash_1.default.map(await Promise.all(reqs), 'sessionId');
157
- expect(lodash_1.default.uniq(sessionIds)).to.have.lengthOf(1);
150
+ const sessionIds = (await Promise.all(reqs)).map((r) => r.sessionId);
151
+ expect([...new Set(sessionIds)]).to.have.lengthOf(1);
158
152
  const { status, data } = await endSession(sessionIds[0]);
159
153
  expect(status).to.equal(200);
160
154
  expect(data.value).to.be.null;
@@ -179,7 +173,7 @@ function driverE2ETestSuite(DriverClass, defaultCaps = {}) {
179
173
  let originalFindElement;
180
174
  let originalFindElements;
181
175
  async function startTimeoutSession(timeout) {
182
- const caps = lodash_1.default.cloneDeep(defaultCaps);
176
+ const caps = structuredClone(defaultCaps);
183
177
  caps['appium:newCommandTimeout'] = timeout;
184
178
  return await startSession({ capabilities: { alwaysMatch: caps } });
185
179
  }
@@ -342,4 +336,9 @@ function driverE2ETestSuite(DriverClass, defaultCaps = {}) {
342
336
  });
343
337
  });
344
338
  }
339
+ function applyNewSessionDefaults(data) {
340
+ data.capabilities ??= { alwaysMatch: {}, firstMatch: [{}] };
341
+ data.capabilities.alwaysMatch ??= {};
342
+ data.capabilities.firstMatch ??= [{}];
343
+ }
345
344
  //# sourceMappingURL=e2e-suite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"e2e-suite.js","sourceRoot":"","sources":["../../lib/e2e-suite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"e2e-suite.js","sourceRoot":"","sources":["../../lib/e2e-suite.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import _ from 'lodash';
2
1
  /**
3
2
  * Default test host
4
3
  */
@@ -10,10 +9,11 @@ export declare const TEST_HOST = "127.0.0.1";
10
9
  */
11
10
  export declare function getTestPort(force?: boolean): Promise<number>;
12
11
  /**
13
- * Build an Appium URL from components.
12
+ * Build Appium server URLs for tests.
14
13
  *
15
- * **All** parameters are required. Provide an empty string (`''`) if you don't need one.
16
- * To rearrange arguments (if needed), use the placeholder from Lodash (`_`).
14
+ * Call with `(address, port)` to get `(session, pathname) => url`, or pass all four
15
+ * arguments at once. Use `''` when session or pathname is omitted.
17
16
  */
18
- export declare const createAppiumURL: _.CurriedFunction4<string, string | number, string | null, string, string>;
17
+ export declare function createAppiumURL(address: string, port: string | number): (session: string, pathname: string) => string;
18
+ export declare function createAppiumURL(address: string, port: string | number, session: string, pathname: string): string;
19
19
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../lib/helpers.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB;;GAEG;AACH,eAAO,MAAM,SAAS,cAAc,CAAC;AAIrC;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAShE;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,4EAW3B,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../lib/helpers.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,SAAS,cAAc,CAAC;AAmBrC;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAShE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GAAG,MAAM,GACpB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;AACjD,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,MAAM,CAAC"}
@@ -3,14 +3,28 @@ 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.createAppiumURL = exports.TEST_HOST = void 0;
6
+ exports.TEST_HOST = void 0;
7
7
  exports.getTestPort = getTestPort;
8
- const get_port_1 = __importDefault(require("get-port"));
9
- const lodash_1 = __importDefault(require("lodash"));
8
+ exports.createAppiumURL = createAppiumURL;
9
+ const node_net_1 = __importDefault(require("node:net"));
10
10
  /**
11
11
  * Default test host
12
12
  */
13
13
  exports.TEST_HOST = '127.0.0.1';
14
+ async function getPort() {
15
+ const server = node_net_1.default.createServer();
16
+ return await new Promise((resolve, reject) => {
17
+ server.once('error', reject);
18
+ server.listen(0, () => {
19
+ const address = server.address();
20
+ if (!address || typeof address === 'string') {
21
+ server.close(() => reject(new Error('Could not resolve a free port')));
22
+ return;
23
+ }
24
+ server.close((err) => (err ? reject(err) : resolve(address.port)));
25
+ });
26
+ });
27
+ }
14
28
  let testPort;
15
29
  /**
16
30
  * Returns a free port; one per process
@@ -19,7 +33,7 @@ let testPort;
19
33
  */
20
34
  async function getTestPort(force = false) {
21
35
  if (force || !testPort) {
22
- const port = await (0, get_port_1.default)();
36
+ const port = await getPort();
23
37
  if (!testPort) {
24
38
  testPort = port;
25
39
  }
@@ -27,20 +41,22 @@ async function getTestPort(force = false) {
27
41
  }
28
42
  return testPort;
29
43
  }
30
- /**
31
- * Build an Appium URL from components.
32
- *
33
- * **All** parameters are required. Provide an empty string (`''`) if you don't need one.
34
- * To rearrange arguments (if needed), use the placeholder from Lodash (`_`).
35
- */
36
- exports.createAppiumURL = lodash_1.default.curry((address, port, session, pathname) => {
37
- if (!/^https?:\/\//.test(address)) {
38
- address = `http://${address}`;
44
+ function createAppiumURL(address, port, session, pathname) {
45
+ const urlFor = (sess, path) => buildAppiumURL(address, port, sess, path);
46
+ if (arguments.length === 2) {
47
+ return urlFor;
48
+ }
49
+ return urlFor(session, pathname);
50
+ }
51
+ function buildAppiumURL(address, port, session, pathname) {
52
+ let base = address;
53
+ if (!/^https?:\/\//.test(base)) {
54
+ base = `http://${base}`;
39
55
  }
40
56
  let path = session ? `session/${session}` : '';
41
57
  if (pathname) {
42
58
  path = `${path}/${pathname}`;
43
59
  }
44
- return new URL(path, `${address}:${port}`).href;
45
- });
60
+ return new URL(path, `${base}:${port}`).href;
61
+ }
46
62
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../lib/helpers.ts"],"names":[],"mappings":";;;;;;AAeA,kCASC;AAxBD,wDAA+B;AAC/B,oDAAuB;AAEvB;;GAEG;AACU,QAAA,SAAS,GAAG,WAAW,CAAC;AAErC,IAAI,QAA4B,CAAC;AAEjC;;;;GAIG;AACI,KAAK,UAAU,WAAW,CAAC,KAAK,GAAG,KAAK;IAC7C,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,MAAM,IAAA,kBAAO,GAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACU,QAAA,eAAe,GAAG,gBAAC,CAAC,KAAK,CACpC,CAAC,OAAe,EAAE,IAAqB,EAAE,OAAsB,EAAE,QAAgB,EAAU,EAAE;IAC3F,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,GAAG,UAAU,OAAO,EAAE,CAAC;IAChC,CAAC;IACD,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,GAAG,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO,IAAI,GAAG,CAAC,IAAI,EAAE,GAAG,OAAO,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;AAClD,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../lib/helpers.ts"],"names":[],"mappings":";;;;;;AA6BA,kCASC;AAkBD,0CAWC;AAnED,wDAA2B;AAE3B;;GAEG;AACU,QAAA,SAAS,GAAG,WAAW,CAAC;AAErC,KAAK,UAAU,OAAO;IACpB,MAAM,MAAM,GAAG,kBAAG,CAAC,YAAY,EAAE,CAAC;IAClC,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE;YACpB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC5C,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC;gBACvE,OAAO;YACT,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAI,QAA4B,CAAC;AAEjC;;;;GAIG;AACI,KAAK,UAAU,WAAW,CAAC,KAAK,GAAG,KAAK;IAC7C,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAkBD,SAAgB,eAAe,CAC7B,OAAe,EACf,IAAqB,EACrB,OAAgB,EAChB,QAAiB;IAEjB,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACzF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,MAAM,CAAC,OAAQ,EAAE,QAAS,CAAC,CAAC;AACrC,CAAC;AACD,SAAS,cAAc,CACrB,OAAe,EACf,IAAqB,EACrB,OAAe,EACf,QAAgB;IAEhB,IAAI,IAAI,GAAG,OAAO,CAAC;IACnB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,IAAI,GAAG,UAAU,IAAI,EAAE,CAAC;IAC1B,CAAC;IACD,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,GAAG,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO,IAAI,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;AAC/C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"unit-suite.d.ts","sourceRoot":"","sources":["../../lib/unit-suite.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,WAAW,EACX,MAAM,EACN,WAAW,EACX,YAAY,EAEb,MAAM,eAAe,CAAC;AAEvB;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,WAAW,EACvD,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACnC,WAAW,GAAE,YAAY,CAAC,CAAC,CAAyB,GACnD,IAAI,CAkjBN"}
1
+ {"version":3,"file":"unit-suite.d.ts","sourceRoot":"","sources":["../../lib/unit-suite.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAgB,MAAM,eAAe,CAAC;AAEjG;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,WAAW,EACvD,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACnC,WAAW,GAAE,YAAY,CAAC,CAAC,CAAyB,GACnD,IAAI,CAsjBN"}
@@ -1,10 +1,6 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.driverUnitTestSuite = driverUnitTestSuite;
7
- const lodash_1 = __importDefault(require("lodash"));
8
4
  const asyncbox_1 = require("asyncbox");
9
5
  const sinon_1 = require("sinon");
10
6
  /**
@@ -58,14 +54,14 @@ function driverUnitTestSuite(DriverClass, defaultCaps = {}) {
58
54
  expect(sessId.length).to.be.above(5);
59
55
  });
60
56
  it('should not be able to start two sessions without closing the first', async function () {
61
- await d.createSession(lodash_1.default.cloneDeep(w3cCaps));
62
- await expect(d.createSession(lodash_1.default.cloneDeep(w3cCaps))).to.be.rejectedWith('session');
57
+ await d.createSession(structuredClone(w3cCaps));
58
+ await expect(d.createSession(structuredClone(w3cCaps))).to.be.rejectedWith('session');
63
59
  });
64
60
  it('should be able to delete a session', async function () {
65
- const sessionId1 = await d.createSession(lodash_1.default.cloneDeep(w3cCaps));
61
+ const sessionId1 = await d.createSession(structuredClone(w3cCaps));
66
62
  await d.deleteSession();
67
63
  expect(d.sessionId).to.equal(null);
68
- const sessionId2 = await d.createSession(lodash_1.default.cloneDeep(w3cCaps));
64
+ const sessionId2 = await d.createSession(structuredClone(w3cCaps));
69
65
  expect(sessionId1).to.not.eql(sessionId2);
70
66
  });
71
67
  it('should get the current session', async function () {
@@ -90,7 +86,7 @@ function driverUnitTestSuite(DriverClass, defaultCaps = {}) {
90
86
  it('should not allow commands in middle of unexpected shutdown', async function () {
91
87
  sandbox.stub(d, 'deleteSession').callsFake(async function () {
92
88
  await (0, asyncbox_1.sleep)(100);
93
- DriverClass.prototype.deleteSession.call(this);
89
+ await DriverClass.prototype.deleteSession.call(this);
94
90
  });
95
91
  await d.createSession(w3cCaps);
96
92
  const p = new Promise((resolve, reject) => {
@@ -104,9 +100,9 @@ function driverUnitTestSuite(DriverClass, defaultCaps = {}) {
104
100
  it('should allow new commands after done shutting down', async function () {
105
101
  sandbox.stub(d, 'deleteSession').callsFake(async function () {
106
102
  await (0, asyncbox_1.sleep)(100);
107
- DriverClass.prototype.deleteSession.call(this);
103
+ await DriverClass.prototype.deleteSession.call(this);
108
104
  });
109
- await d.createSession(lodash_1.default.cloneDeep(w3cCaps));
105
+ await d.createSession(structuredClone(w3cCaps));
110
106
  const p = new Promise((resolve, reject) => {
111
107
  setTimeout(() => reject(new Error('onUnexpectedShutdown event is expected to be fired within 5 seconds timeout')), 5000);
112
108
  d.onUnexpectedShutdown(resolve);
@@ -115,7 +111,7 @@ function driverUnitTestSuite(DriverClass, defaultCaps = {}) {
115
111
  await p;
116
112
  await expect(d.executeCommand('getSession')).to.be.rejectedWith(/shut down/);
117
113
  await (0, asyncbox_1.sleep)(500);
118
- await d.executeCommand('createSession', null, null, lodash_1.default.cloneDeep(w3cCaps));
114
+ await d.executeCommand('createSession', null, null, structuredClone(w3cCaps));
119
115
  await d.deleteSession();
120
116
  });
121
117
  it('should distinguish between W3C and JSONWP session', async function () {
@@ -132,7 +128,7 @@ function driverUnitTestSuite(DriverClass, defaultCaps = {}) {
132
128
  describe('protocol detection', function () {
133
129
  it('should use W3C if only W3C caps are provided', async function () {
134
130
  await d.createSession({
135
- alwaysMatch: lodash_1.default.clone(defaultCaps),
131
+ alwaysMatch: { ...defaultCaps },
136
132
  firstMatch: [{}],
137
133
  });
138
134
  expect(d.protocol).to.equal('W3C');
@@ -165,7 +161,7 @@ function driverUnitTestSuite(DriverClass, defaultCaps = {}) {
165
161
  for (let i = 0; i < numCmds; i++) {
166
162
  cmds.push(d.executeCommand('getStatus'));
167
163
  }
168
- const results = await Promise.all(cmds);
164
+ const results = (await Promise.all(cmds));
169
165
  for (let i = 1; i < numCmds; i++) {
170
166
  if (results[i] <= results[i - 1]) {
171
167
  throw new Error('Got result out of order');
@@ -211,12 +207,12 @@ function driverUnitTestSuite(DriverClass, defaultCaps = {}) {
211
207
  for (let i = 0; i < numCmds; i++) {
212
208
  cmds.push(d.executeCommand('getStatus'));
213
209
  }
214
- await Promise.all(cmds);
210
+ (await Promise.all(cmds));
215
211
  cmds = [];
216
212
  for (let i = 0; i < numCmds; i++) {
217
213
  cmds.push(d.executeCommand('getStatus'));
218
214
  }
219
- const results = await Promise.all(cmds);
215
+ const results = (await Promise.all(cmds));
220
216
  for (let i = 1; i < numCmds; i++) {
221
217
  if (results[i] <= results[i - 1]) {
222
218
  throw new Error('Got result out of order');
@@ -442,7 +438,7 @@ function driverUnitTestSuite(DriverClass, defaultCaps = {}) {
442
438
  it('should decorate getSession response if opt-in cap is provided', async function () {
443
439
  let res = await d.getSession();
444
440
  expect(res.events).to.not.exist;
445
- lodash_1.default.set(d, 'caps.eventTimings', true);
441
+ d.caps.eventTimings = true;
446
442
  res = await d.getSession();
447
443
  expect(res.events).to.exist;
448
444
  expect(res.events?.newSessionRequested).to.exist;
@@ -1 +1 @@
1
- {"version":3,"file":"unit-suite.js","sourceRoot":"","sources":["../../lib/unit-suite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unit-suite.js","sourceRoot":"","sources":["../../lib/unit-suite.ts"],"names":[],"mappings":"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"}
package/lib/e2e-suite.ts CHANGED
@@ -1,19 +1,31 @@
1
- import _ from 'lodash';
2
1
  import {server, routeConfiguringFunction, DeviceSettings} from 'appium/driver';
3
2
  import axios, {type RawAxiosRequestConfig} from 'axios';
4
3
  import {sleep} from 'asyncbox';
5
4
  import {TEST_HOST, getTestPort, createAppiumURL} from './helpers';
6
5
  import sinon from 'sinon';
7
6
  import {Agent} from 'node:http';
8
- import type {BaseNSCapabilities, Driver, DriverClass, SingularSessionData} from '@appium/types';
9
- import type {NewSessionResponse, SessionHelpers} from './types';
7
+ import type {
8
+ BaseNSCapabilities,
9
+ Driver,
10
+ DriverClass,
11
+ Element,
12
+ SingularSessionData,
13
+ } from '@appium/types';
14
+ import type {NewSessionData, NewSessionResponse, SessionHelpers} from './types';
15
+
16
+ /** Driver E2E caps may include server options beyond {@linkcode BaseNSCapabilities}. */
17
+ type DriverE2EDefaultCaps = Partial<BaseNSCapabilities> & {
18
+ 'appium:address'?: string;
19
+ 'appium:port'?: number;
20
+ 'appium:deviceName'?: string;
21
+ };
10
22
 
11
23
  /**
12
24
  * Creates some helper functions for E2E tests to manage sessions.
13
25
  */
14
26
  export function createSessionHelpers<CommandData = unknown, ResponseData = any>(
15
27
  port: number,
16
- address: string = TEST_HOST
28
+ address: string = TEST_HOST,
17
29
  ): SessionHelpers<CommandData, ResponseData> {
18
30
  const createAppiumTestURL = createAppiumURL(address, port);
19
31
  const createSessionURL = (sessionId: string) => createAppiumTestURL(sessionId, '');
@@ -28,7 +40,7 @@ export function createSessionHelpers<CommandData = unknown, ResponseData = any>(
28
40
  return response.data?.value;
29
41
  },
30
42
  getCommand: async (sessionIdOrCmdName, cmdNameOrConfig, config = {}) => {
31
- if (!_.isString(cmdNameOrConfig)) {
43
+ if (typeof cmdNameOrConfig !== 'string') {
32
44
  config = cmdNameOrConfig as RawAxiosRequestConfig;
33
45
  cmdNameOrConfig = sessionIdOrCmdName;
34
46
  sessionIdOrCmdName = '';
@@ -41,12 +53,7 @@ export function createSessionHelpers<CommandData = unknown, ResponseData = any>(
41
53
  return response.data?.value;
42
54
  },
43
55
  startSession: async (data, config = {}) => {
44
- data = _.defaultsDeep(data, {
45
- capabilities: {
46
- alwaysMatch: {},
47
- firstMatch: [{}],
48
- },
49
- });
56
+ applyNewSessionDefaults(data);
50
57
  const response = await axios.post(newSessionURL, data, config);
51
58
  return response.data?.value;
52
59
  },
@@ -69,10 +76,10 @@ export function createSessionHelpers<CommandData = unknown, ResponseData = any>(
69
76
  */
70
77
  export function driverE2ETestSuite(
71
78
  DriverClass: DriverClass<Driver>,
72
- defaultCaps: Partial<BaseNSCapabilities> = {}
79
+ defaultCaps: DriverE2EDefaultCaps = {},
73
80
  ): void {
74
- const address = (defaultCaps as BaseNSCapabilities)['appium:address'] ?? TEST_HOST;
75
- let port: number | undefined = (defaultCaps as BaseNSCapabilities)['appium:port'];
81
+ const address = defaultCaps['appium:address'] ?? TEST_HOST;
82
+ let port: number | undefined = defaultCaps['appium:port'];
76
83
  const className = DriverClass.name || '(unknown driver)';
77
84
 
78
85
  describe(`BaseDriver E2E (as ${className})`, function () {
@@ -135,13 +142,13 @@ export function driverE2ETestSuite(
135
142
  'X-Idempotency-Key': '123456',
136
143
  },
137
144
  httpAgent,
138
- }
145
+ },
139
146
  );
140
147
 
141
148
  sessionIds.push(sessionId);
142
149
  times++;
143
150
  } while (times < 2);
144
- expect(_.uniq(sessionIds)).to.have.lengthOf(1);
151
+ expect([...new Set(sessionIds)]).to.have.lengthOf(1);
145
152
 
146
153
  const {status, data} = await endSession(sessionIds[0]);
147
154
  expect(status).to.equal(200);
@@ -172,13 +179,13 @@ export function driverE2ETestSuite(
172
179
  'X-Idempotency-Key': '12345',
173
180
  },
174
181
  httpAgent,
175
- }
176
- )
182
+ },
183
+ ),
177
184
  );
178
185
  times++;
179
186
  } while (times < 2);
180
- const sessionIds = _.map(await Promise.all(reqs), 'sessionId');
181
- expect(_.uniq(sessionIds)).to.have.lengthOf(1);
187
+ const sessionIds = (await Promise.all(reqs)).map((r) => r.sessionId);
188
+ expect([...new Set(sessionIds)]).to.have.lengthOf(1);
182
189
 
183
190
  const {status, data} = await endSession(sessionIds[0]);
184
191
  expect(status).to.equal(200);
@@ -195,9 +202,7 @@ export function driverE2ETestSuite(
195
202
  expect(status).to.equal(200);
196
203
  expect(data.value.sessionId).to.exist;
197
204
  expect(data.value.capabilities.platformName).to.equal(defaultCaps.platformName);
198
- expect(data.value.capabilities.deviceName).to.equal(
199
- (defaultCaps as BaseNSCapabilities)['appium:deviceName']
200
- );
205
+ expect(data.value.capabilities.deviceName).to.equal(defaultCaps['appium:deviceName']);
201
206
 
202
207
  ({status, data} = await endSession(d.sessionId!));
203
208
 
@@ -212,7 +217,7 @@ export function driverE2ETestSuite(
212
217
  let originalFindElements: typeof d.findElements;
213
218
 
214
219
  async function startTimeoutSession(timeout?: number) {
215
- const caps = _.cloneDeep(defaultCaps);
220
+ const caps = structuredClone(defaultCaps);
216
221
  (caps as any)['appium:newCommandTimeout'] = timeout;
217
222
  return await startSession({capabilities: {alwaysMatch: caps}});
218
223
  }
@@ -226,7 +231,7 @@ export function driverE2ETestSuite(
226
231
  originalFindElements = d.findElements;
227
232
  d.findElements = async function () {
228
233
  await sleep(200);
229
- return ['foo'];
234
+ return ['foo' as unknown as Element];
230
235
  }.bind(d);
231
236
  });
232
237
 
@@ -322,9 +327,7 @@ export function driverE2ETestSuite(
322
327
  await expect(d.settings.update({ignoreUnimportantViews: true})).to.not.be.rejected;
323
328
  });
324
329
  it('should reject for invalid update object', async function () {
325
- await expect(
326
- (d.settings as any).update('invalid json')
327
- ).to.be.rejectedWith('JSON');
330
+ await expect((d.settings as any).update('invalid json')).to.be.rejectedWith('JSON');
328
331
  });
329
332
  });
330
333
 
@@ -349,10 +352,10 @@ export function driverE2ETestSuite(
349
352
  () =>
350
353
  reject(
351
354
  new Error(
352
- 'onUnexpectedShutdown event is expected to be fired within 5 seconds timeout'
353
- )
355
+ 'onUnexpectedShutdown event is expected to be fired within 5 seconds timeout',
356
+ ),
354
357
  ),
355
- 5000
358
+ 5000,
356
359
  );
357
360
  d.onUnexpectedShutdown(resolve);
358
361
  });
@@ -409,3 +412,9 @@ export function driverE2ETestSuite(
409
412
  });
410
413
  });
411
414
  }
415
+
416
+ function applyNewSessionDefaults(data: NewSessionData): void {
417
+ data.capabilities ??= {alwaysMatch: {}, firstMatch: [{}]};
418
+ data.capabilities.alwaysMatch ??= {};
419
+ data.capabilities.firstMatch ??= [{}];
420
+ }
package/lib/helpers.ts CHANGED
@@ -1,11 +1,25 @@
1
- import getPort from 'get-port';
2
- import _ from 'lodash';
1
+ import net from 'node:net';
3
2
 
4
3
  /**
5
4
  * Default test host
6
5
  */
7
6
  export const TEST_HOST = '127.0.0.1';
8
7
 
8
+ async function getPort(): Promise<number> {
9
+ const server = net.createServer();
10
+ return await new Promise((resolve, reject) => {
11
+ server.once('error', reject);
12
+ server.listen(0, () => {
13
+ const address = server.address();
14
+ if (!address || typeof address === 'string') {
15
+ server.close(() => reject(new Error('Could not resolve a free port')));
16
+ return;
17
+ }
18
+ server.close((err) => (err ? reject(err) : resolve(address.port)));
19
+ });
20
+ });
21
+ }
22
+
9
23
  let testPort: number | undefined;
10
24
 
11
25
  /**
@@ -25,20 +39,46 @@ export async function getTestPort(force = false): Promise<number> {
25
39
  }
26
40
 
27
41
  /**
28
- * Build an Appium URL from components.
42
+ * Build Appium server URLs for tests.
29
43
  *
30
- * **All** parameters are required. Provide an empty string (`''`) if you don't need one.
31
- * To rearrange arguments (if needed), use the placeholder from Lodash (`_`).
44
+ * Call with `(address, port)` to get `(session, pathname) => url`, or pass all four
45
+ * arguments at once. Use `''` when session or pathname is omitted.
32
46
  */
33
- export const createAppiumURL = _.curry(
34
- (address: string, port: string | number, session: string | null, pathname: string): string => {
35
- if (!/^https?:\/\//.test(address)) {
36
- address = `http://${address}`;
37
- }
38
- let path = session ? `session/${session}` : '';
39
- if (pathname) {
40
- path = `${path}/${pathname}`;
41
- }
42
- return new URL(path, `${address}:${port}`).href;
47
+ export function createAppiumURL(
48
+ address: string,
49
+ port: string | number,
50
+ ): (session: string, pathname: string) => string;
51
+ export function createAppiumURL(
52
+ address: string,
53
+ port: string | number,
54
+ session: string,
55
+ pathname: string,
56
+ ): string;
57
+ export function createAppiumURL(
58
+ address: string,
59
+ port: string | number,
60
+ session?: string,
61
+ pathname?: string,
62
+ ): string | ((session: string, pathname: string) => string) {
63
+ const urlFor = (sess: string, path: string) => buildAppiumURL(address, port, sess, path);
64
+ if (arguments.length === 2) {
65
+ return urlFor;
43
66
  }
44
- );
67
+ return urlFor(session!, pathname!);
68
+ }
69
+ function buildAppiumURL(
70
+ address: string,
71
+ port: string | number,
72
+ session: string,
73
+ pathname: string,
74
+ ): string {
75
+ let base = address;
76
+ if (!/^https?:\/\//.test(base)) {
77
+ base = `http://${base}`;
78
+ }
79
+ let path = session ? `session/${session}` : '';
80
+ if (pathname) {
81
+ path = `${path}/${pathname}`;
82
+ }
83
+ return new URL(path, `${base}:${port}`).href;
84
+ }
package/lib/types.ts CHANGED
@@ -18,19 +18,19 @@ export interface SessionHelpers<CommandData = unknown, ResponseData = any> {
18
18
  sessionId: string,
19
19
  cmdName: string,
20
20
  data?: CommandData,
21
- config?: RawAxiosRequestConfig
21
+ config?: RawAxiosRequestConfig,
22
22
  ) => Promise<ResponseData>;
23
23
  getCommand: (
24
24
  sessionIdOrCmdName: string,
25
25
  cmdNameOrConfig: string | RawAxiosRequestConfig,
26
- config?: RawAxiosRequestConfig
26
+ config?: RawAxiosRequestConfig,
27
27
  ) => Promise<ResponseData>;
28
28
  startSession: (
29
29
  data: NewSessionData,
30
- config?: RawAxiosRequestConfig
30
+ config?: RawAxiosRequestConfig,
31
31
  ) => Promise<NewSessionResponse>;
32
32
  endSession: (
33
- sessionId: string
33
+ sessionId: string,
34
34
  ) => Promise<AxiosResponse<{value: {error?: string} | null}, {validateStatus: null}>>;
35
35
  getSession: (sessionId: string) => Promise<SingularSessionData>;
36
36
  }
package/lib/unit-suite.ts CHANGED
@@ -1,20 +1,13 @@
1
- import _ from 'lodash';
2
1
  import {sleep} from 'asyncbox';
3
2
  import {createSandbox} from 'sinon';
4
- import type {
5
- Constraints,
6
- Driver,
7
- DriverClass,
8
- NSDriverCaps,
9
- W3CDriverCaps,
10
- } from '@appium/types';
3
+ import type {Constraints, Driver, DriverClass, NSDriverCaps, W3CDriverCaps} from '@appium/types';
11
4
 
12
5
  /**
13
6
  * Creates unit test suites for a driver.
14
7
  */
15
8
  export function driverUnitTestSuite<C extends Constraints>(
16
9
  DriverClass: DriverClass<Driver<C>>,
17
- defaultCaps: NSDriverCaps<C> = {} as NSDriverCaps<C>
10
+ defaultCaps: NSDriverCaps<C> = {} as NSDriverCaps<C>,
18
11
  ): void {
19
12
  const className = DriverClass.name ?? '(unknown driver)';
20
13
 
@@ -70,15 +63,15 @@ export function driverUnitTestSuite<C extends Constraints>(
70
63
  });
71
64
 
72
65
  it('should not be able to start two sessions without closing the first', async function () {
73
- await d.createSession(_.cloneDeep(w3cCaps));
74
- await expect(d.createSession(_.cloneDeep(w3cCaps))).to.be.rejectedWith('session');
66
+ await d.createSession(structuredClone(w3cCaps));
67
+ await expect(d.createSession(structuredClone(w3cCaps))).to.be.rejectedWith('session');
75
68
  });
76
69
 
77
70
  it('should be able to delete a session', async function () {
78
- const sessionId1 = await d.createSession(_.cloneDeep(w3cCaps));
71
+ const sessionId1 = await d.createSession(structuredClone(w3cCaps));
79
72
  await d.deleteSession();
80
73
  expect(d.sessionId).to.equal(null);
81
- const sessionId2 = await d.createSession(_.cloneDeep(w3cCaps));
74
+ const sessionId2 = await d.createSession(structuredClone(w3cCaps));
82
75
  expect(sessionId1).to.not.eql(sessionId2);
83
76
  });
84
77
 
@@ -99,10 +92,10 @@ export function driverUnitTestSuite<C extends Constraints>(
99
92
  () =>
100
93
  reject(
101
94
  new Error(
102
- 'onUnexpectedShutdown event is expected to be fired within 5 seconds timeout'
103
- )
95
+ 'onUnexpectedShutdown event is expected to be fired within 5 seconds timeout',
96
+ ),
104
97
  ),
105
- 5000
98
+ 5000,
106
99
  );
107
100
  d.onUnexpectedShutdown(resolve);
108
101
  });
@@ -112,9 +105,11 @@ export function driverUnitTestSuite<C extends Constraints>(
112
105
  });
113
106
 
114
107
  it('should not allow commands in middle of unexpected shutdown', async function () {
115
- sandbox.stub(d, 'deleteSession').callsFake(async function (this: InstanceType<typeof DriverClass>) {
108
+ sandbox.stub(d, 'deleteSession').callsFake(async function (
109
+ this: InstanceType<typeof DriverClass>,
110
+ ) {
116
111
  await sleep(100);
117
- DriverClass.prototype.deleteSession.call(this);
112
+ await DriverClass.prototype.deleteSession.call(this);
118
113
  });
119
114
  await d.createSession(w3cCaps);
120
115
  const p = new Promise<void>((resolve, reject) => {
@@ -122,10 +117,10 @@ export function driverUnitTestSuite<C extends Constraints>(
122
117
  () =>
123
118
  reject(
124
119
  new Error(
125
- 'onUnexpectedShutdown event is expected to be fired within 5 seconds timeout'
126
- )
120
+ 'onUnexpectedShutdown event is expected to be fired within 5 seconds timeout',
121
+ ),
127
122
  ),
128
- 5000
123
+ 5000,
129
124
  );
130
125
  d.onUnexpectedShutdown(resolve);
131
126
  });
@@ -135,21 +130,23 @@ export function driverUnitTestSuite<C extends Constraints>(
135
130
  });
136
131
 
137
132
  it('should allow new commands after done shutting down', async function () {
138
- sandbox.stub(d, 'deleteSession').callsFake(async function (this: InstanceType<typeof DriverClass>) {
133
+ sandbox.stub(d, 'deleteSession').callsFake(async function (
134
+ this: InstanceType<typeof DriverClass>,
135
+ ) {
139
136
  await sleep(100);
140
- DriverClass.prototype.deleteSession.call(this);
137
+ await DriverClass.prototype.deleteSession.call(this);
141
138
  });
142
139
 
143
- await d.createSession(_.cloneDeep(w3cCaps));
140
+ await d.createSession(structuredClone(w3cCaps));
144
141
  const p = new Promise<void>((resolve, reject) => {
145
142
  setTimeout(
146
143
  () =>
147
144
  reject(
148
145
  new Error(
149
- 'onUnexpectedShutdown event is expected to be fired within 5 seconds timeout'
150
- )
146
+ 'onUnexpectedShutdown event is expected to be fired within 5 seconds timeout',
147
+ ),
151
148
  ),
152
- 5000
149
+ 5000,
153
150
  );
154
151
  d.onUnexpectedShutdown(resolve);
155
152
  });
@@ -159,7 +156,7 @@ export function driverUnitTestSuite<C extends Constraints>(
159
156
  await expect(d.executeCommand('getSession')).to.be.rejectedWith(/shut down/);
160
157
  await sleep(500);
161
158
 
162
- await d.executeCommand('createSession', null, null, _.cloneDeep(w3cCaps));
159
+ await d.executeCommand('createSession', null, null, structuredClone(w3cCaps));
163
160
  await d.deleteSession();
164
161
  });
165
162
 
@@ -179,7 +176,7 @@ export function driverUnitTestSuite<C extends Constraints>(
179
176
  describe('protocol detection', function () {
180
177
  it('should use W3C if only W3C caps are provided', async function () {
181
178
  await d.createSession({
182
- alwaysMatch: _.clone(defaultCaps) as object,
179
+ alwaysMatch: {...defaultCaps} as object,
183
180
  firstMatch: [{}],
184
181
  });
185
182
  expect(d.protocol).to.equal('W3C');
@@ -217,7 +214,7 @@ export function driverUnitTestSuite<C extends Constraints>(
217
214
  for (let i = 0; i < numCmds; i++) {
218
215
  cmds.push(d.executeCommand('getStatus'));
219
216
  }
220
- const results = await Promise.all(cmds) as number[];
217
+ const results = (await Promise.all(cmds)) as number[];
221
218
  for (let i = 1; i < numCmds; i++) {
222
219
  if (results[i] <= results[i - 1]) {
223
220
  throw new Error('Got result out of order');
@@ -264,12 +261,12 @@ export function driverUnitTestSuite<C extends Constraints>(
264
261
  for (let i = 0; i < numCmds; i++) {
265
262
  cmds.push(d.executeCommand('getStatus'));
266
263
  }
267
- await Promise.all(cmds) as number[];
264
+ (await Promise.all(cmds)) as number[];
268
265
  cmds = [];
269
266
  for (let i = 0; i < numCmds; i++) {
270
267
  cmds.push(d.executeCommand('getStatus'));
271
268
  }
272
- const results = await Promise.all(cmds) as number[];
269
+ const results = (await Promise.all(cmds)) as number[];
273
270
  for (let i = 1; i < numCmds; i++) {
274
271
  if (results[i] <= results[i - 1]) {
275
272
  throw new Error('Got result out of order');
@@ -506,7 +503,7 @@ export function driverUnitTestSuite<C extends Constraints>(
506
503
  let res = await d.getSession();
507
504
  expect(res.events).to.not.exist;
508
505
 
509
- _.set(d, 'caps.eventTimings', true);
506
+ (d.caps as Record<string, unknown>).eventTimings = true;
510
507
  res = await d.getSession();
511
508
  expect(res.events).to.exist;
512
509
  expect(res.events?.newSessionRequested).to.exist;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appium/driver-test-support",
3
- "version": "1.2.2",
3
+ "version": "1.2.4",
4
4
  "description": "Test utilities for Appium drivers",
5
5
  "keywords": [
6
6
  "automation",
@@ -39,17 +39,15 @@
39
39
  },
40
40
  "types": "./build/lib/index.d.ts",
41
41
  "dependencies": {
42
- "asyncbox": "6.2.0",
43
- "axios": "1.15.2",
42
+ "asyncbox": "6.3.0",
43
+ "axios": "1.17.0",
44
44
  "chai": "6.2.2",
45
45
  "chai-as-promised": "8.0.2",
46
- "get-port": "7.2.0",
47
- "lodash": "4.18.1",
48
- "sinon": "21.1.2",
49
- "type-fest": "5.6.0"
46
+ "sinon": "22.0.0",
47
+ "type-fest": "5.7.0"
50
48
  },
51
49
  "devDependencies": {
52
- "@appium/types": "1.4.0"
50
+ "@appium/types": "1.5.1"
53
51
  },
54
52
  "peerDependencies": {
55
53
  "appium": "^3.0.0-beta.0",
@@ -62,5 +60,5 @@
62
60
  "publishConfig": {
63
61
  "access": "public"
64
62
  },
65
- "gitHead": "915d767085c6b40ae90b7592d5130c76414ca3b5"
63
+ "gitHead": "213efd0fa400bdd0156b00ad2c45f8ef005a01ca"
66
64
  }
package/tsconfig.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "extends": "@appium/tsconfig/tsconfig.json",
3
3
  "compilerOptions": {
4
+ "strict": true,
4
5
  "rootDir": ".",
5
6
  "outDir": "build",
6
7
  "paths": {