appium-webdriveragent 8.3.1 → 8.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## [8.5.0](https://github.com/appium/WebDriverAgent/compare/v8.4.0...v8.5.0) (2024-04-07)
2
+
3
+
4
+ ### Features
5
+
6
+ * Add types for WDA caps and settings ([#885](https://github.com/appium/WebDriverAgent/issues/885)) ([4b3c220](https://github.com/appium/WebDriverAgent/commit/4b3c220c0c609802924b7b6ff9a4dfa7a98eb5f4))
7
+
8
+ ## [8.4.0](https://github.com/appium/WebDriverAgent/compare/v8.3.1...v8.4.0) (2024-04-01)
9
+
10
+
11
+ ### Features
12
+
13
+ * add system screen size/width in the system info endpoint ([#881](https://github.com/appium/WebDriverAgent/issues/881)) ([5ebc71c](https://github.com/appium/WebDriverAgent/commit/5ebc71c6ca2b364d44a44716e794885f8d3b6d9c))
14
+
1
15
  ## [8.3.1](https://github.com/appium/WebDriverAgent/compare/v8.3.0...v8.3.1) (2024-03-31)
2
16
 
3
17
 
@@ -15,6 +15,7 @@
15
15
  #import "FBConfiguration.h"
16
16
  #import "FBKeyboard.h"
17
17
  #import "FBNotificationsHelper.h"
18
+ #import "FBMathUtils.h"
18
19
  #import "FBPasteboard.h"
19
20
  #import "FBResponsePayload.h"
20
21
  #import "FBRoute.h"
@@ -48,6 +49,7 @@
48
49
  [[FBRoute GET:@"/wda/locked"].withoutSession respondWithTarget:self action:@selector(handleIsLocked:)],
49
50
  [[FBRoute GET:@"/wda/locked"] respondWithTarget:self action:@selector(handleIsLocked:)],
50
51
  [[FBRoute GET:@"/wda/screen"] respondWithTarget:self action:@selector(handleGetScreen:)],
52
+ [[FBRoute GET:@"/wda/screen"].withoutSession respondWithTarget:self action:@selector(handleGetScreen:)],
51
53
  [[FBRoute GET:@"/wda/activeAppInfo"] respondWithTarget:self action:@selector(handleActiveAppInfo:)],
52
54
  [[FBRoute GET:@"/wda/activeAppInfo"].withoutSession respondWithTarget:self action:@selector(handleActiveAppInfo:)],
53
55
  #if !TARGET_OS_TV // tvOS does not provide relevant APIs
@@ -134,10 +136,22 @@
134
136
 
135
137
  + (id<FBResponsePayload>)handleGetScreen:(FBRouteRequest *)request
136
138
  {
137
- FBSession *session = request.session;
138
- CGSize statusBarSize = [FBScreen statusBarSizeForApplication:session.activeApplication];
139
+ XCUIApplication *app = XCUIApplication.fb_systemApplication;
140
+
141
+ XCUIElement *mainStatusBar = app.statusBars.allElementsBoundByIndex.firstObject;
142
+ CGSize statusBarSize = (nil == mainStatusBar) ? CGSizeZero : mainStatusBar.frame.size;
143
+
144
+ #if TARGET_OS_TV
145
+ CGSize screenSize = app.frame.size;
146
+ #else
147
+ CGSize screenSize = FBAdjustDimensionsForApplication(app.wdFrame.size, app.interfaceOrientation);
148
+ #endif
149
+
139
150
  return FBResponseWithObject(
140
151
  @{
152
+ @"screenSize":@{@"width": @(screenSize.width),
153
+ @"height": @(screenSize.height)
154
+ },
141
155
  @"statusBarSize": @{@"width": @(statusBarSize.width),
142
156
  @"height": @(statusBarSize.height),
143
157
  },
@@ -15,11 +15,11 @@
15
15
  <key>CFBundlePackageType</key>
16
16
  <string>FMWK</string>
17
17
  <key>CFBundleShortVersionString</key>
18
- <string>8.3.1</string>
18
+ <string>8.5.0</string>
19
19
  <key>CFBundleSignature</key>
20
20
  <string>????</string>
21
21
  <key>CFBundleVersion</key>
22
- <string>8.3.1</string>
22
+ <string>8.5.0</string>
23
23
  <key>NSPrincipalClass</key>
24
24
  <string/>
25
25
  </dict>
@@ -18,11 +18,6 @@ NS_ASSUME_NONNULL_BEGIN
18
18
  */
19
19
  + (double)scale;
20
20
 
21
- /**
22
- The absolute size of application's status bar or CGSizeZero if it's hidden or does not exist
23
- */
24
- + (CGSize)statusBarSizeForApplication:(XCUIApplication *)application;
25
-
26
21
  @end
27
22
 
28
23
  NS_ASSUME_NONNULL_END
@@ -19,17 +19,4 @@
19
19
  return [XCUIScreen.mainScreen scale];
20
20
  }
21
21
 
22
- + (CGSize)statusBarSizeForApplication:(XCUIApplication *)application
23
- {
24
- XCUIApplication *app = XCUIApplication.fb_systemApplication;
25
- // Since iOS 13 the status bar is no longer part of the application, it’s part of the SpringBoard
26
- XCUIElement *mainStatusBar = app.statusBars.allElementsBoundByIndex.firstObject;
27
- if (nil == mainStatusBar) {
28
- return CGSizeZero;
29
- }
30
- CGSize result = mainStatusBar.frame.size;
31
- // Workaround for https://github.com/appium/appium/issues/15961
32
- return CGSizeMake(MAX(result.width, result.height), MIN(result.width, result.height));
33
- }
34
-
35
22
  @end
@@ -28,12 +28,5 @@
28
28
  XCTAssertTrue([FBScreen scale] >= 2);
29
29
  }
30
30
 
31
- - (void)testStatusBarSize
32
- {
33
- CGSize statusBarSize = [FBScreen statusBarSizeForApplication:self.testedApplication];
34
- BOOL statusBarSizeIsZero = CGSizeEqualToSize(CGSizeZero, statusBarSize);
35
- XCTAssertFalse(statusBarSizeIsZero);
36
- }
37
-
38
31
  @end
39
32
 
@@ -0,0 +1,7 @@
1
+ export { checkForDependencies, bundleWDASim } from './lib/check-dependencies';
2
+ export { NoSessionProxy } from './lib/no-session-proxy';
3
+ export { WebDriverAgent } from './lib/webdriveragent';
4
+ export { WDA_BASE_URL, WDA_RUNNER_BUNDLE_ID, PROJECT_FILE } from './lib/constants';
5
+ export { resetTestProcesses, BOOTSTRAP_PATH } from './lib/utils';
6
+ export * from './lib/types';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEjE,cAAc,aAAa,CAAC"}
package/build/index.js CHANGED
@@ -10,37 +10,24 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
10
10
  if (k2 === undefined) k2 = k;
11
11
  o[k2] = m[k];
12
12
  }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
24
15
  };
25
16
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.WDA_BASE_URL = exports.PROJECT_FILE = exports.WDA_RUNNER_BUNDLE_ID = exports.BOOTSTRAP_PATH = exports.resetTestProcesses = exports.bundleWDASim = exports.checkForDependencies = exports.NoSessionProxy = exports.WebDriverAgent = void 0;
27
- const dependencies = __importStar(require("./lib/check-dependencies"));
28
- const proxies = __importStar(require("./lib/no-session-proxy"));
29
- const driver = __importStar(require("./lib/webdriveragent"));
30
- const constants = __importStar(require("./lib/constants"));
31
- const utils = __importStar(require("./lib/utils"));
32
- const { checkForDependencies, bundleWDASim } = dependencies;
33
- exports.checkForDependencies = checkForDependencies;
34
- exports.bundleWDASim = bundleWDASim;
35
- const { NoSessionProxy } = proxies;
36
- exports.NoSessionProxy = NoSessionProxy;
37
- const { WebDriverAgent } = driver;
38
- exports.WebDriverAgent = WebDriverAgent;
39
- const { WDA_BASE_URL, WDA_RUNNER_BUNDLE_ID, PROJECT_FILE } = constants;
40
- exports.WDA_BASE_URL = WDA_BASE_URL;
41
- exports.WDA_RUNNER_BUNDLE_ID = WDA_RUNNER_BUNDLE_ID;
42
- exports.PROJECT_FILE = PROJECT_FILE;
43
- const { resetTestProcesses, BOOTSTRAP_PATH } = utils;
44
- exports.resetTestProcesses = resetTestProcesses;
45
- exports.BOOTSTRAP_PATH = BOOTSTRAP_PATH;
17
+ exports.BOOTSTRAP_PATH = exports.resetTestProcesses = exports.PROJECT_FILE = exports.WDA_RUNNER_BUNDLE_ID = exports.WDA_BASE_URL = exports.WebDriverAgent = exports.NoSessionProxy = exports.bundleWDASim = exports.checkForDependencies = void 0;
18
+ var check_dependencies_1 = require("./lib/check-dependencies");
19
+ Object.defineProperty(exports, "checkForDependencies", { enumerable: true, get: function () { return check_dependencies_1.checkForDependencies; } });
20
+ Object.defineProperty(exports, "bundleWDASim", { enumerable: true, get: function () { return check_dependencies_1.bundleWDASim; } });
21
+ var no_session_proxy_1 = require("./lib/no-session-proxy");
22
+ Object.defineProperty(exports, "NoSessionProxy", { enumerable: true, get: function () { return no_session_proxy_1.NoSessionProxy; } });
23
+ var webdriveragent_1 = require("./lib/webdriveragent");
24
+ Object.defineProperty(exports, "WebDriverAgent", { enumerable: true, get: function () { return webdriveragent_1.WebDriverAgent; } });
25
+ var constants_1 = require("./lib/constants");
26
+ Object.defineProperty(exports, "WDA_BASE_URL", { enumerable: true, get: function () { return constants_1.WDA_BASE_URL; } });
27
+ Object.defineProperty(exports, "WDA_RUNNER_BUNDLE_ID", { enumerable: true, get: function () { return constants_1.WDA_RUNNER_BUNDLE_ID; } });
28
+ Object.defineProperty(exports, "PROJECT_FILE", { enumerable: true, get: function () { return constants_1.PROJECT_FILE; } });
29
+ var utils_1 = require("./lib/utils");
30
+ Object.defineProperty(exports, "resetTestProcesses", { enumerable: true, get: function () { return utils_1.resetTestProcesses; } });
31
+ Object.defineProperty(exports, "BOOTSTRAP_PATH", { enumerable: true, get: function () { return utils_1.BOOTSTRAP_PATH; } });
32
+ __exportStar(require("./lib/types"), exports);
46
33
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+DAA8E;AAArE,0HAAA,oBAAoB,OAAA;AAAE,kHAAA,YAAY,OAAA;AAC3C,2DAAwD;AAA/C,kHAAA,cAAc,OAAA;AACvB,uDAAsD;AAA7C,gHAAA,cAAc,OAAA;AACvB,6CAAmF;AAA1E,yGAAA,YAAY,OAAA;AAAE,iHAAA,oBAAoB,OAAA;AAAE,yGAAA,YAAY,OAAA;AACzD,qCAAiE;AAAxD,2GAAA,kBAAkB,OAAA;AAAE,uGAAA,cAAc,OAAA;AAE3C,8CAA4B"}
@@ -0,0 +1,48 @@
1
+ export interface WDASettings {
2
+ elementResponseAttribute?: string;
3
+ shouldUseCompactResponses?: boolean;
4
+ mjpegServerScreenshotQuality?: number;
5
+ mjpegServerFramerate?: number;
6
+ screenshotQuality?: number;
7
+ elementResponseAttributes?: string;
8
+ mjpegScalingFactor?: number;
9
+ mjpegFixOrientation?: boolean;
10
+ keyboardAutocorrection?: boolean;
11
+ keyboardPrediction?: boolean;
12
+ customSnapshotTimeout?: number;
13
+ snapshotMaxDepth?: number;
14
+ useFirstMatch?: boolean;
15
+ boundElementsByIndex?: boolean;
16
+ reduceMotion?: boolean;
17
+ defaultActiveApplication?: string;
18
+ activeAppDetectionPoint?: string;
19
+ includeNonModalElements?: boolean;
20
+ defaultAlertAction?: 'accept' | 'dismiss';
21
+ acceptAlertButtonSelector?: string;
22
+ dismissAlertButtonSelector?: string;
23
+ screenshotOrientation?: 'auto' | 'portrait' | 'portraitUpsideDown' | 'landscapeRight' | 'landscapeLeft';
24
+ waitForIdleTimeout?: number;
25
+ animationCoolOffTimeout?: number;
26
+ }
27
+ export interface WDACapabilities {
28
+ bundleId?: string;
29
+ initialUrl?: string;
30
+ arguments?: string[];
31
+ environment?: Record<string, string>;
32
+ eventloopIdleDelaySec?: number;
33
+ shouldWaitForQuiescence?: boolean;
34
+ shouldUseTestManagerForVisibilityDetection?: boolean;
35
+ maxTypingFrequency?: number;
36
+ shouldUseSingletonTestManager?: boolean;
37
+ waitForIdleTimeout?: number;
38
+ shouldUseCompactResponses?: number;
39
+ elementResponseFields?: unknown;
40
+ disableAutomaticScreenshots?: boolean;
41
+ shouldTerminateApp?: boolean;
42
+ forceAppLaunch?: boolean;
43
+ useNativeCachingStrategy?: boolean;
44
+ forceSimulatorSoftwareKeyboardPresence?: boolean;
45
+ defaultAlertAction?: 'accept' | 'dismiss';
46
+ appLaunchStateTimeoutSec?: number;
47
+ }
48
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,WAAW;IAC1B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,kBAAkB,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC1C,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,qBAAqB,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,oBAAoB,GAAG,gBAAgB,GAAG,eAAe,CAAA;IACvG,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAGD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,0CAA0C,CAAC,EAAE,OAAO,CAAC;IACrD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,sCAAsC,CAAC,EAAE,OAAO,CAAC;IACjD,kBAAkB,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC1C,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":""}
package/index.ts ADDED
@@ -0,0 +1,7 @@
1
+ export { checkForDependencies, bundleWDASim } from './lib/check-dependencies';
2
+ export { NoSessionProxy } from './lib/no-session-proxy';
3
+ export { WebDriverAgent } from './lib/webdriveragent';
4
+ export { WDA_BASE_URL, WDA_RUNNER_BUNDLE_ID, PROJECT_FILE } from './lib/constants';
5
+ export { resetTestProcesses, BOOTSTRAP_PATH } from './lib/utils';
6
+
7
+ export * from './lib/types';
package/lib/types.ts ADDED
@@ -0,0 +1,50 @@
1
+ // WebDriverAgentLib/Utilities/FBSettings.h
2
+ export interface WDASettings {
3
+ elementResponseAttribute?: string;
4
+ shouldUseCompactResponses?: boolean;
5
+ mjpegServerScreenshotQuality?: number;
6
+ mjpegServerFramerate?: number;
7
+ screenshotQuality?: number;
8
+ elementResponseAttributes?: string;
9
+ mjpegScalingFactor?: number;
10
+ mjpegFixOrientation?: boolean;
11
+ keyboardAutocorrection?: boolean;
12
+ keyboardPrediction?: boolean;
13
+ customSnapshotTimeout?: number;
14
+ snapshotMaxDepth?: number;
15
+ useFirstMatch?: boolean;
16
+ boundElementsByIndex?: boolean;
17
+ reduceMotion?: boolean;
18
+ defaultActiveApplication?: string;
19
+ activeAppDetectionPoint?: string;
20
+ includeNonModalElements?: boolean;
21
+ defaultAlertAction?: 'accept' | 'dismiss';
22
+ acceptAlertButtonSelector?: string;
23
+ dismissAlertButtonSelector?: string;
24
+ screenshotOrientation?: 'auto' | 'portrait' | 'portraitUpsideDown' | 'landscapeRight' | 'landscapeLeft'
25
+ waitForIdleTimeout?: number;
26
+ animationCoolOffTimeout?: number;
27
+ }
28
+
29
+ // WebDriverAgentLib/Utilities/FBCapabilities.h
30
+ export interface WDACapabilities {
31
+ bundleId?: string;
32
+ initialUrl?: string;
33
+ arguments?: string[];
34
+ environment?: Record<string, string>;
35
+ eventloopIdleDelaySec?: number;
36
+ shouldWaitForQuiescence?: boolean;
37
+ shouldUseTestManagerForVisibilityDetection?: boolean;
38
+ maxTypingFrequency?: number;
39
+ shouldUseSingletonTestManager?: boolean;
40
+ waitForIdleTimeout?: number;
41
+ shouldUseCompactResponses?: number;
42
+ elementResponseFields?: unknown;
43
+ disableAutomaticScreenshots?: boolean;
44
+ shouldTerminateApp?: boolean;
45
+ forceAppLaunch?: boolean;
46
+ useNativeCachingStrategy?: boolean;
47
+ forceSimulatorSoftwareKeyboardPresence?: boolean;
48
+ defaultAlertAction?: 'accept' | 'dismiss';
49
+ appLaunchStateTimeoutSec?: number;
50
+ }
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "appium-webdriveragent",
3
- "version": "8.3.1",
3
+ "version": "8.5.0",
4
4
  "description": "Package bundling WebDriverAgent",
5
5
  "main": "./build/index.js",
6
+ "types": "./build/index.d.ts",
6
7
  "scripts": {
7
8
  "build": "tsc -b",
8
9
  "dev": "npm run build -- --watch",
@@ -100,9 +101,9 @@
100
101
  "teen_process": "^2.0.0"
101
102
  },
102
103
  "files": [
103
- "index.js",
104
+ "index.ts",
104
105
  "lib",
105
- "build/index.js",
106
+ "build/index.*",
106
107
  "build/lib",
107
108
  "Scripts/build.sh",
108
109
  "Scripts/fetch-prebuilt-wda.js",
package/index.js DELETED
@@ -1,22 +0,0 @@
1
- import * as dependencies from './lib/check-dependencies';
2
- import * as proxies from './lib/no-session-proxy';
3
- import * as driver from './lib/webdriveragent';
4
- import * as constants from './lib/constants';
5
- import * as utils from './lib/utils';
6
-
7
-
8
- const { checkForDependencies, bundleWDASim } = dependencies;
9
- const { NoSessionProxy } = proxies;
10
- const { WebDriverAgent } = driver;
11
- const { WDA_BASE_URL, WDA_RUNNER_BUNDLE_ID, PROJECT_FILE } = constants;
12
- const { resetTestProcesses, BOOTSTRAP_PATH } = utils;
13
-
14
- export {
15
- WebDriverAgent,
16
- NoSessionProxy,
17
- checkForDependencies, bundleWDASim,
18
- resetTestProcesses,
19
- BOOTSTRAP_PATH,
20
- WDA_RUNNER_BUNDLE_ID, PROJECT_FILE,
21
- WDA_BASE_URL,
22
- };