appium-android-driver 5.14.7 → 6.0.1
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 +7 -0
- package/build/lib/commands/actions.d.ts +6 -224
- package/build/lib/commands/actions.d.ts.map +1 -1
- package/build/lib/commands/actions.js +306 -405
- package/build/lib/commands/actions.js.map +1 -1
- package/build/lib/commands/alert.d.ts +7 -9
- package/build/lib/commands/alert.d.ts.map +1 -1
- package/build/lib/commands/alert.js +24 -18
- package/build/lib/commands/alert.js.map +1 -1
- package/build/lib/commands/app-management.d.ts +7 -313
- package/build/lib/commands/app-management.d.ts.map +1 -1
- package/build/lib/commands/app-management.js +135 -293
- package/build/lib/commands/app-management.js.map +1 -1
- package/build/lib/commands/context.d.ts +8 -92
- package/build/lib/commands/context.d.ts.map +1 -1
- package/build/lib/commands/context.js +381 -439
- package/build/lib/commands/context.js.map +1 -1
- package/build/lib/commands/element.d.ts +8 -35
- package/build/lib/commands/element.d.ts.map +1 -1
- package/build/lib/commands/element.js +153 -136
- package/build/lib/commands/element.js.map +1 -1
- package/build/lib/commands/emu-console.d.ts +6 -48
- package/build/lib/commands/emu-console.d.ts.map +1 -1
- package/build/lib/commands/emu-console.js +19 -34
- package/build/lib/commands/emu-console.js.map +1 -1
- package/build/lib/commands/execute.d.ts +6 -5
- package/build/lib/commands/execute.d.ts.map +1 -1
- package/build/lib/commands/execute.js +77 -66
- package/build/lib/commands/execute.js.map +1 -1
- package/build/lib/commands/file-actions.d.ts +7 -128
- package/build/lib/commands/file-actions.d.ts.map +1 -1
- package/build/lib/commands/file-actions.js +183 -219
- package/build/lib/commands/file-actions.js.map +1 -1
- package/build/lib/commands/find.d.ts +8 -12
- package/build/lib/commands/find.d.ts.map +1 -1
- package/build/lib/commands/find.js +19 -23
- package/build/lib/commands/find.js.map +1 -1
- package/build/lib/commands/general.d.ts +9 -132
- package/build/lib/commands/general.d.ts.map +1 -1
- package/build/lib/commands/general.js +281 -312
- package/build/lib/commands/general.js.map +1 -1
- package/build/lib/commands/ime.d.ts +7 -10
- package/build/lib/commands/ime.d.ts.map +1 -1
- package/build/lib/commands/ime.js +47 -35
- package/build/lib/commands/ime.js.map +1 -1
- package/build/lib/commands/index.d.ts +27 -2
- package/build/lib/commands/index.d.ts.map +1 -1
- package/build/lib/commands/index.js +41 -19
- package/build/lib/commands/index.js.map +1 -1
- package/build/lib/commands/intent.d.ts +7 -417
- package/build/lib/commands/intent.d.ts.map +1 -1
- package/build/lib/commands/intent.js +104 -216
- package/build/lib/commands/intent.js.map +1 -1
- package/build/lib/commands/keyboard.d.ts +6 -5
- package/build/lib/commands/keyboard.d.ts.map +1 -1
- package/build/lib/commands/keyboard.js +16 -8
- package/build/lib/commands/keyboard.js.map +1 -1
- package/build/lib/commands/log.d.ts +7 -44
- package/build/lib/commands/log.d.ts.map +1 -1
- package/build/lib/commands/log.js +146 -108
- package/build/lib/commands/log.js.map +1 -1
- package/build/lib/commands/media-projection.d.ts +7 -143
- package/build/lib/commands/media-projection.d.ts.map +1 -1
- package/build/lib/commands/media-projection.js +113 -140
- package/build/lib/commands/media-projection.js.map +1 -1
- package/build/lib/commands/mixins.d.ts +740 -0
- package/build/lib/commands/mixins.d.ts.map +1 -0
- package/build/lib/commands/mixins.js +19 -0
- package/build/lib/commands/mixins.js.map +1 -0
- package/build/lib/commands/network.d.ts +7 -138
- package/build/lib/commands/network.d.ts.map +1 -1
- package/build/lib/commands/network.js +212 -254
- package/build/lib/commands/network.js.map +1 -1
- package/build/lib/commands/performance.d.ts +24 -70
- package/build/lib/commands/performance.d.ts.map +1 -1
- package/build/lib/commands/performance.js +144 -100
- package/build/lib/commands/performance.js.map +1 -1
- package/build/lib/commands/permissions.d.ts +8 -92
- package/build/lib/commands/permissions.d.ts.map +1 -1
- package/build/lib/commands/permissions.js +75 -87
- package/build/lib/commands/permissions.js.map +1 -1
- package/build/lib/commands/recordscreen.d.ts +7 -193
- package/build/lib/commands/recordscreen.d.ts.map +1 -1
- package/build/lib/commands/recordscreen.js +151 -182
- package/build/lib/commands/recordscreen.js.map +1 -1
- package/build/lib/commands/shell.d.ts +7 -7
- package/build/lib/commands/shell.d.ts.map +1 -1
- package/build/lib/commands/shell.js +40 -33
- package/build/lib/commands/shell.js.map +1 -1
- package/build/lib/commands/streamscreen.d.ts +9 -103
- package/build/lib/commands/streamscreen.d.ts.map +1 -1
- package/build/lib/commands/streamscreen.js +261 -218
- package/build/lib/commands/streamscreen.js.map +1 -1
- package/build/lib/commands/system-bars.d.ts +22 -90
- package/build/lib/commands/system-bars.d.ts.map +1 -1
- package/build/lib/commands/system-bars.js +76 -74
- package/build/lib/commands/system-bars.js.map +1 -1
- package/build/lib/commands/touch.d.ts +10 -29
- package/build/lib/commands/touch.d.ts.map +1 -1
- package/build/lib/commands/touch.js +301 -285
- package/build/lib/commands/touch.js.map +1 -1
- package/build/lib/commands/types.d.ts +978 -0
- package/build/lib/commands/types.d.ts.map +1 -0
- package/build/lib/commands/types.js +3 -0
- package/build/lib/commands/types.js.map +1 -0
- package/build/lib/constraints.d.ts +291 -0
- package/build/lib/constraints.d.ts.map +1 -0
- package/build/lib/{desired-caps.js → constraints.js} +103 -102
- package/build/lib/constraints.js.map +1 -0
- package/build/lib/driver.d.ts +68 -37
- package/build/lib/driver.d.ts.map +1 -1
- package/build/lib/driver.js +123 -80
- package/build/lib/driver.js.map +1 -1
- package/build/lib/helpers/android.d.ts +164 -0
- package/build/lib/helpers/android.d.ts.map +1 -0
- package/build/lib/helpers/android.js +819 -0
- package/build/lib/helpers/android.js.map +1 -0
- package/build/lib/helpers/index.d.ts +7 -0
- package/build/lib/helpers/index.d.ts.map +1 -0
- package/build/lib/helpers/index.js +29 -0
- package/build/lib/helpers/index.js.map +1 -0
- package/build/lib/helpers/types.d.ts +121 -0
- package/build/lib/helpers/types.d.ts.map +1 -0
- package/build/lib/helpers/types.js +3 -0
- package/build/lib/helpers/types.js.map +1 -0
- package/build/lib/helpers/unlock.d.ts +32 -0
- package/build/lib/helpers/unlock.d.ts.map +1 -0
- package/build/lib/helpers/unlock.js +273 -0
- package/build/lib/helpers/unlock.js.map +1 -0
- package/build/lib/helpers/webview.d.ts +74 -0
- package/build/lib/helpers/webview.d.ts.map +1 -0
- package/build/lib/helpers/webview.js +421 -0
- package/build/lib/helpers/webview.js.map +1 -0
- package/build/lib/index.d.ts +9 -0
- package/build/lib/index.d.ts.map +1 -0
- package/build/lib/index.js +37 -0
- package/build/lib/index.js.map +1 -0
- package/build/lib/method-map.d.ts +0 -8
- package/build/lib/method-map.d.ts.map +1 -1
- package/build/lib/method-map.js +63 -74
- package/build/lib/method-map.js.map +1 -1
- package/build/lib/stubs.d.ts +0 -1
- package/build/lib/stubs.d.ts.map +1 -1
- package/build/lib/stubs.js +1 -0
- package/build/lib/stubs.js.map +1 -1
- package/build/lib/utils.d.ts +1 -1
- package/build/lib/utils.d.ts.map +1 -1
- package/lib/commands/actions.js +351 -464
- package/lib/commands/alert.js +27 -17
- package/lib/commands/app-management.js +156 -314
- package/lib/commands/context.js +457 -441
- package/lib/commands/element.js +201 -157
- package/lib/commands/emu-console.js +25 -45
- package/lib/commands/execute.js +106 -90
- package/lib/commands/file-actions.js +222 -240
- package/lib/commands/find.ts +103 -0
- package/lib/commands/general.js +327 -339
- package/lib/commands/ime.js +50 -34
- package/lib/commands/{index.js → index.ts} +20 -24
- package/lib/commands/intent.js +108 -249
- package/lib/commands/keyboard.js +20 -8
- package/lib/commands/log.js +172 -116
- package/lib/commands/media-projection.js +134 -161
- package/lib/commands/mixins.ts +966 -0
- package/lib/commands/network.js +252 -281
- package/lib/commands/performance.js +203 -132
- package/lib/commands/permissions.js +108 -109
- package/lib/commands/recordscreen.js +212 -209
- package/lib/commands/shell.js +51 -40
- package/lib/commands/streamscreen.js +355 -289
- package/lib/commands/system-bars.js +92 -83
- package/lib/commands/touch.js +357 -294
- package/lib/commands/types.ts +1097 -0
- package/lib/{desired-caps.js → constraints.ts} +106 -103
- package/lib/{driver.js → driver.ts} +278 -132
- package/lib/helpers/android.ts +1143 -0
- package/lib/helpers/index.ts +6 -0
- package/lib/helpers/types.ts +134 -0
- package/lib/helpers/unlock.ts +329 -0
- package/lib/helpers/webview.ts +582 -0
- package/lib/index.ts +18 -0
- package/lib/method-map.js +87 -98
- package/lib/stubs.ts +0 -1
- package/package.json +26 -19
- package/build/index.js +0 -51
- package/build/lib/android-helpers.d.ts +0 -136
- package/build/lib/android-helpers.d.ts.map +0 -1
- package/build/lib/android-helpers.js +0 -855
- package/build/lib/android-helpers.js.map +0 -1
- package/build/lib/commands/coverage.d.ts +0 -5
- package/build/lib/commands/coverage.d.ts.map +0 -1
- package/build/lib/commands/coverage.js +0 -19
- package/build/lib/commands/coverage.js.map +0 -1
- package/build/lib/desired-caps.d.ts +0 -353
- package/build/lib/desired-caps.d.ts.map +0 -1
- package/build/lib/desired-caps.js.map +0 -1
- package/build/lib/unlock-helpers.d.ts +0 -38
- package/build/lib/unlock-helpers.d.ts.map +0 -1
- package/build/lib/unlock-helpers.js +0 -266
- package/build/lib/unlock-helpers.js.map +0 -1
- package/build/lib/webview-helpers.d.ts +0 -224
- package/build/lib/webview-helpers.d.ts.map +0 -1
- package/build/lib/webview-helpers.js +0 -528
- package/build/lib/webview-helpers.js.map +0 -1
- package/index.js +0 -24
- package/lib/android-helpers.js +0 -983
- package/lib/commands/coverage.js +0 -18
- package/lib/commands/find.js +0 -82
- package/lib/unlock-helpers.js +0 -278
- package/lib/webview-helpers.js +0 -602
package/build/lib/driver.js
CHANGED
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
2
3
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
4
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
5
|
};
|
|
5
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.AndroidDriver = void 0;
|
|
7
|
-
const driver_1 = require("appium/driver");
|
|
8
|
-
const desired_caps_1 = __importDefault(require("./desired-caps"));
|
|
9
|
-
const index_1 = __importDefault(require("./commands/index"));
|
|
10
|
-
const method_map_1 = require("./method-map");
|
|
11
|
-
const android_helpers_1 = require("./android-helpers");
|
|
12
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
13
|
-
const appium_adb_1 = require("appium-adb");
|
|
7
|
+
exports.AndroidDriver = exports.androidCommands = void 0;
|
|
14
8
|
const support_1 = require("@appium/support");
|
|
9
|
+
const appium_adb_1 = require("appium-adb");
|
|
10
|
+
const driver_1 = require("appium/driver");
|
|
15
11
|
const asyncbox_1 = require("asyncbox");
|
|
16
|
-
const shared_preferences_builder_1 = require("shared-preferences-builder");
|
|
17
12
|
const bluebird_1 = __importDefault(require("bluebird"));
|
|
13
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
14
|
+
const shared_preferences_builder_1 = require("shared-preferences-builder");
|
|
15
|
+
const constraints_1 = __importDefault(require("./constraints"));
|
|
16
|
+
const helpers_1 = require("./helpers");
|
|
17
|
+
const method_map_1 = require("./method-map");
|
|
18
18
|
const APP_EXTENSION = '.apk';
|
|
19
19
|
const DEVICE_PORT = 4724;
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
/**
|
|
21
|
+
* This is a set of methods and paths that we never want to proxy to
|
|
22
|
+
* Chromedriver
|
|
23
|
+
**/
|
|
22
24
|
const NO_PROXY = [
|
|
23
25
|
['POST', new RegExp('^/session/[^/]+/context')],
|
|
24
26
|
['GET', new RegExp('^/session/[^/]+/context')],
|
|
@@ -41,29 +43,25 @@ class AndroidDriver extends driver_1.BaseDriver {
|
|
|
41
43
|
'id',
|
|
42
44
|
'class name',
|
|
43
45
|
'accessibility id',
|
|
44
|
-
'-android uiautomator'
|
|
46
|
+
'-android uiautomator',
|
|
45
47
|
];
|
|
46
|
-
this.desiredCapConstraints =
|
|
48
|
+
this.desiredCapConstraints = lodash_1.default.cloneDeep(constraints_1.default);
|
|
47
49
|
this.sessionChromedrivers = {};
|
|
48
50
|
this.jwpProxyActive = false;
|
|
49
51
|
this.jwpProxyAvoid = lodash_1.default.clone(NO_PROXY);
|
|
50
52
|
this.settings = new driver_1.DeviceSettings({ ignoreUnimportantViews: false }, this.onSettingsUpdate.bind(this));
|
|
51
|
-
this.chromedriver = null;
|
|
52
53
|
this.apkStrings = {};
|
|
53
|
-
this.unlocker =
|
|
54
|
-
for (let [cmd, fn] of lodash_1.default.toPairs(index_1.default)) {
|
|
55
|
-
AndroidDriver.prototype[cmd] = fn;
|
|
56
|
-
}
|
|
57
|
-
// needs to be after the line which assigns commands to AndroidDriver.prototype, so that `this.defaultContextName` is defined.
|
|
54
|
+
this.unlocker = helpers_1.helpers.unlocker;
|
|
58
55
|
this.curContext = this.defaultContextName();
|
|
56
|
+
this.opts = opts;
|
|
59
57
|
}
|
|
60
|
-
async createSession(
|
|
58
|
+
async createSession(w3cCaps1, w3cCaps2, w3cCaps3, driverData) {
|
|
61
59
|
// the whole createSession flow is surrounded in a try-catch statement
|
|
62
60
|
// if creating a session fails at any point, we teardown everything we
|
|
63
61
|
// set up before throwing the error.
|
|
64
62
|
try {
|
|
65
|
-
|
|
66
|
-
|
|
63
|
+
const [sessionId, caps] = (await super.createSession(w3cCaps1, w3cCaps2, w3cCaps3, driverData));
|
|
64
|
+
const serverDetails = {
|
|
67
65
|
platform: 'LINUX',
|
|
68
66
|
webStorageEnabled: false,
|
|
69
67
|
takesScreenshot: true,
|
|
@@ -72,11 +70,11 @@ class AndroidDriver extends driver_1.BaseDriver {
|
|
|
72
70
|
networkConnectionEnabled: true,
|
|
73
71
|
locationContextEnabled: false,
|
|
74
72
|
warnings: {},
|
|
75
|
-
desired: this.caps
|
|
73
|
+
desired: this.caps,
|
|
76
74
|
};
|
|
77
75
|
this.caps = Object.assign(serverDetails, this.caps);
|
|
78
76
|
// assigning defaults
|
|
79
|
-
|
|
77
|
+
const defaultOpts = {
|
|
80
78
|
action: 'android.intent.action.MAIN',
|
|
81
79
|
category: 'android.intent.category.LAUNCHER',
|
|
82
80
|
flags: '0x10200000',
|
|
@@ -88,33 +86,27 @@ class AndroidDriver extends driver_1.BaseDriver {
|
|
|
88
86
|
bootstrapPort: DEVICE_PORT,
|
|
89
87
|
androidInstallTimeout: 90000,
|
|
90
88
|
};
|
|
91
|
-
|
|
89
|
+
this.opts = { ...defaultOpts, ...this.opts };
|
|
92
90
|
this.useUnlockHelperApp = lodash_1.default.isUndefined(this.caps.unlockType);
|
|
93
|
-
// not user visible via caps
|
|
94
|
-
if (this.opts.noReset === true) {
|
|
95
|
-
this.opts.fullReset = false;
|
|
96
|
-
}
|
|
97
|
-
if (this.opts.fullReset === true) {
|
|
98
|
-
this.opts.noReset = false;
|
|
99
|
-
}
|
|
100
|
-
this.opts.fastReset = !this.opts.fullReset && !this.opts.noReset;
|
|
101
|
-
this.opts.skipUninstall = this.opts.fastReset || this.opts.noReset;
|
|
102
91
|
if (this.isChromeSession) {
|
|
103
|
-
|
|
92
|
+
helpers_1.helpers.adjustBrowserSessionCaps(this.opts);
|
|
104
93
|
}
|
|
105
94
|
if (this.opts.nativeWebScreenshot) {
|
|
106
95
|
this.jwpProxyAvoid.push(['GET', new RegExp('^/session/[^/]+/screenshot')]);
|
|
107
96
|
}
|
|
97
|
+
// @ts-expect-error do not put arbitrary properties on opts
|
|
108
98
|
if (this.opts.reboot) {
|
|
109
99
|
this.setAvdFromCapabilities(caps);
|
|
110
100
|
}
|
|
111
101
|
// get device udid for this session
|
|
112
|
-
|
|
102
|
+
const { udid, emPort } = await helpers_1.helpers.getDeviceInfoFromCaps(this.opts);
|
|
113
103
|
this.opts.udid = udid;
|
|
104
|
+
// @ts-expect-error do not put arbitrary properties on opts
|
|
114
105
|
this.opts.emPort = emPort;
|
|
115
106
|
// set up an instance of ADB
|
|
116
|
-
this.adb = await
|
|
107
|
+
this.adb = await helpers_1.helpers.createADB({
|
|
117
108
|
udid: this.opts.udid,
|
|
109
|
+
// @ts-expect-error: unknown
|
|
118
110
|
emPort: this.opts.emPort,
|
|
119
111
|
adbPort: this.opts.adbPort,
|
|
120
112
|
suppressKillServer: this.opts.suppressKillServer,
|
|
@@ -123,14 +115,16 @@ class AndroidDriver extends driver_1.BaseDriver {
|
|
|
123
115
|
adbExecTimeout: this.opts.adbExecTimeout,
|
|
124
116
|
allowOfflineDevices: this.opts.allowOfflineDevices,
|
|
125
117
|
});
|
|
126
|
-
if (await this.adb.getApiLevel() >= 23) {
|
|
118
|
+
if ((await this.adb.getApiLevel()) >= 23) {
|
|
127
119
|
this.log.warn("Consider setting 'automationName' capability to " +
|
|
128
120
|
"'uiautomator2' on Android >= 6, since UIAutomator framework " +
|
|
129
121
|
'is not maintained anymore by the OS vendor.');
|
|
130
122
|
}
|
|
123
|
+
// @ts-expect-error no arbitrary props on opts
|
|
131
124
|
if (this.helpers.isPackageOrBundle(this.opts.app)) {
|
|
132
125
|
// user provided package instead of app for 'app' capability, massage options
|
|
133
126
|
this.opts.appPackage = this.opts.app;
|
|
127
|
+
// @ts-expect-error no arbitrary props on opts
|
|
134
128
|
this.opts.app = null;
|
|
135
129
|
}
|
|
136
130
|
if (this.opts.app) {
|
|
@@ -152,7 +146,7 @@ class AndroidDriver extends driver_1.BaseDriver {
|
|
|
152
146
|
this.log.warn('Sorry, networkSpeed capability is only available for emulators');
|
|
153
147
|
}
|
|
154
148
|
else {
|
|
155
|
-
const networkSpeed = (0,
|
|
149
|
+
const networkSpeed = (0, helpers_1.ensureNetworkSpeed)(this.adb, this.opts.networkSpeed);
|
|
156
150
|
await this.adb.networkSpeed(networkSpeed);
|
|
157
151
|
}
|
|
158
152
|
}
|
|
@@ -180,7 +174,7 @@ class AndroidDriver extends driver_1.BaseDriver {
|
|
|
180
174
|
}
|
|
181
175
|
}
|
|
182
176
|
isEmulator() {
|
|
183
|
-
return
|
|
177
|
+
return helpers_1.helpers.isEmulator(this.adb, this.opts);
|
|
184
178
|
}
|
|
185
179
|
setAvdFromCapabilities(caps) {
|
|
186
180
|
if (this.opts.avd) {
|
|
@@ -189,40 +183,51 @@ class AndroidDriver extends driver_1.BaseDriver {
|
|
|
189
183
|
else {
|
|
190
184
|
if (!caps.deviceName) {
|
|
191
185
|
this.log.errorAndThrow('avd or deviceName should be specified when reboot option is enables');
|
|
186
|
+
throw new Error(); // unreachable
|
|
192
187
|
}
|
|
193
188
|
if (!caps.platformVersion) {
|
|
194
189
|
this.log.errorAndThrow('avd or platformVersion should be specified when reboot option is enabled');
|
|
190
|
+
throw new Error(); // unreachable
|
|
195
191
|
}
|
|
196
|
-
|
|
192
|
+
const avdDevice = caps.deviceName.replace(/[^a-zA-Z0-9_.]/g, '-');
|
|
197
193
|
this.opts.avd = `${avdDevice}__${caps.platformVersion}`;
|
|
198
194
|
}
|
|
199
195
|
}
|
|
200
196
|
get appOnDevice() {
|
|
201
|
-
return
|
|
202
|
-
|
|
197
|
+
return (
|
|
198
|
+
// @ts-expect-error no arbitrary props on opts
|
|
199
|
+
this.helpers.isPackageOrBundle(this.opts.app) ||
|
|
200
|
+
// @ts-expect-error no arbitrary props on opts
|
|
201
|
+
(!this.opts.app && this.helpers.isPackageOrBundle(this.opts.appPackage)));
|
|
203
202
|
}
|
|
204
203
|
get isChromeSession() {
|
|
205
|
-
return
|
|
204
|
+
return helpers_1.helpers.isChromeBrowser(String(this.opts.browserName));
|
|
206
205
|
}
|
|
207
206
|
async onSettingsUpdate(key, value) {
|
|
208
207
|
if (key === 'ignoreUnimportantViews') {
|
|
209
208
|
await this.setCompressedLayoutHierarchy(value);
|
|
210
209
|
}
|
|
211
210
|
}
|
|
212
|
-
|
|
211
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
212
|
+
async startAndroidSession(opts) {
|
|
213
213
|
this.log.info(`Starting Android session`);
|
|
214
214
|
// set up the device to run on (real or emulator, etc)
|
|
215
|
-
this.defaultIME = await
|
|
215
|
+
this.defaultIME = (await helpers_1.helpers.initDevice(this.adb, this.opts));
|
|
216
216
|
// set actual device name, udid, platform version, screen size, model and manufacturer details.
|
|
217
217
|
this.caps.deviceName = this.adb.curDeviceId;
|
|
218
|
+
// @ts-expect-error do not put arbitrary properties on caps
|
|
218
219
|
this.caps.deviceUDID = this.opts.udid;
|
|
219
220
|
this.caps.platformVersion = await this.adb.getPlatformVersion();
|
|
221
|
+
// @ts-expect-error do not put arbitrary properties on caps
|
|
220
222
|
this.caps.deviceScreenSize = await this.adb.getScreenSize();
|
|
223
|
+
// @ts-expect-error do not put arbitrary properties on caps
|
|
221
224
|
this.caps.deviceModel = await this.adb.getModel();
|
|
225
|
+
// @ts-expect-error do not put arbitrary properties on caps
|
|
222
226
|
this.caps.deviceManufacturer = await this.adb.getManufacturer();
|
|
223
227
|
if (this.opts.disableWindowAnimation) {
|
|
224
228
|
if (await this.adb.isAnimationOn()) {
|
|
225
|
-
if (await this.adb.getApiLevel() >= 28) {
|
|
229
|
+
if ((await this.adb.getApiLevel()) >= 28) {
|
|
230
|
+
// API level 28 is Android P
|
|
226
231
|
// Don't forget to reset the relaxing in delete session
|
|
227
232
|
this.log.warn('Relaxing hidden api policy to manage animation scale');
|
|
228
233
|
await this.adb.setHiddenApiPolicy('1', !!this.opts.ignoreHiddenApiPolicyError);
|
|
@@ -238,15 +243,17 @@ class AndroidDriver extends driver_1.BaseDriver {
|
|
|
238
243
|
// set up app under test
|
|
239
244
|
await this.initAUT();
|
|
240
245
|
// start UiAutomator
|
|
241
|
-
this.bootstrap = new
|
|
242
|
-
|
|
246
|
+
const bootstrap = (this.bootstrap = new helpers_1.helpers.bootstrap(this.adb, this.opts.bootstrapPort,
|
|
247
|
+
// @ts-expect-error do not put arbitrary properties on opts
|
|
248
|
+
this.opts.websocket));
|
|
249
|
+
await bootstrap.start(this.opts.appPackage, this.opts.disableAndroidWatchers, this.opts.acceptSslCerts);
|
|
243
250
|
// handling unexpected shutdown
|
|
244
251
|
(async () => {
|
|
245
252
|
try {
|
|
246
|
-
await
|
|
253
|
+
await bootstrap.onUnexpectedShutdown;
|
|
247
254
|
}
|
|
248
255
|
catch (err) {
|
|
249
|
-
if (!
|
|
256
|
+
if (!bootstrap.ignoreUnexpectedShutdown) {
|
|
250
257
|
await this.startUnexpectedShutdown(err);
|
|
251
258
|
}
|
|
252
259
|
}
|
|
@@ -257,12 +264,14 @@ class AndroidDriver extends driver_1.BaseDriver {
|
|
|
257
264
|
else {
|
|
258
265
|
this.log.info('Checking for lockscreen presence. ' +
|
|
259
266
|
`This could be skipped by setting the 'appium:skipUnlock' capability to true.`);
|
|
260
|
-
await
|
|
267
|
+
await helpers_1.helpers.unlock(this, this.adb, this.caps);
|
|
261
268
|
}
|
|
262
269
|
// Set CompressedLayoutHierarchy on the device based on current settings object
|
|
263
270
|
// this has to happen _after_ bootstrap is initialized
|
|
264
271
|
if (this.opts.ignoreUnimportantViews) {
|
|
265
|
-
await this.settings.update({
|
|
272
|
+
await this.settings.update({
|
|
273
|
+
ignoreUnimportantViews: this.opts.ignoreUnimportantViews,
|
|
274
|
+
});
|
|
266
275
|
}
|
|
267
276
|
if (this.isChromeSession) {
|
|
268
277
|
// start a chromedriver session and proxy to it
|
|
@@ -276,14 +285,15 @@ class AndroidDriver extends driver_1.BaseDriver {
|
|
|
276
285
|
}
|
|
277
286
|
if (support_1.util.hasValue(this.opts.orientation)) {
|
|
278
287
|
this.log.debug(`Setting initial orientation to '${this.opts.orientation}'`);
|
|
288
|
+
// @ts-expect-error no arbitrary props on opts
|
|
279
289
|
await this.setOrientation(this.opts.orientation);
|
|
280
290
|
}
|
|
281
291
|
await this.initAutoWebview();
|
|
282
292
|
}
|
|
283
293
|
async initAutoWebview() {
|
|
284
294
|
if (this.opts.autoWebview) {
|
|
285
|
-
|
|
286
|
-
|
|
295
|
+
const viewName = this.defaultWebviewName();
|
|
296
|
+
const timeout = this.opts.autoWebviewTimeout || 2000;
|
|
287
297
|
this.log.info(`Setting auto webview to context '${viewName}' with timeout ${timeout}ms`);
|
|
288
298
|
// try every 500ms until timeout is over
|
|
289
299
|
await (0, asyncbox_1.retryInterval)(timeout / 500, 500, async () => {
|
|
@@ -295,26 +305,28 @@ class AndroidDriver extends driver_1.BaseDriver {
|
|
|
295
305
|
// populate appPackage, appActivity, appWaitPackage, appWaitActivity,
|
|
296
306
|
// and the device being used
|
|
297
307
|
// in the opts and caps (so it gets back to the user on session creation)
|
|
298
|
-
|
|
308
|
+
const launchInfo = await helpers_1.helpers.getLaunchInfo(this.adb, this.opts);
|
|
299
309
|
Object.assign(this.opts, launchInfo);
|
|
300
310
|
Object.assign(this.caps, launchInfo);
|
|
301
311
|
// Uninstall any uninstallOtherPackages which were specified in caps
|
|
302
312
|
if (this.opts.uninstallOtherPackages) {
|
|
303
|
-
|
|
313
|
+
helpers_1.helpers.validateDesiredCaps(this.opts);
|
|
304
314
|
// Only SETTINGS_HELPER_PKG_ID package is used by UIA1
|
|
305
|
-
await
|
|
315
|
+
await helpers_1.helpers.uninstallOtherPackages(this.adb, helpers_1.helpers.parseArray(this.opts.uninstallOtherPackages), [helpers_1.SETTINGS_HELPER_PKG_ID]);
|
|
306
316
|
}
|
|
307
317
|
// Install any "otherApps" that were specified in caps
|
|
308
318
|
if (this.opts.otherApps) {
|
|
319
|
+
/** @type {string[]} */
|
|
309
320
|
let otherApps;
|
|
310
321
|
try {
|
|
311
|
-
otherApps =
|
|
322
|
+
otherApps = helpers_1.helpers.parseArray(this.opts.otherApps);
|
|
312
323
|
}
|
|
313
324
|
catch (e) {
|
|
314
325
|
this.log.errorAndThrow(`Could not parse "otherApps" capability: ${e.message}`);
|
|
326
|
+
return; // unreachable
|
|
315
327
|
}
|
|
316
328
|
otherApps = await bluebird_1.default.all(otherApps.map((app) => this.helpers.configureApp(app, APP_EXTENSION)));
|
|
317
|
-
await
|
|
329
|
+
await helpers_1.helpers.installOtherApks(otherApps, this.adb, this.opts);
|
|
318
330
|
}
|
|
319
331
|
// install app
|
|
320
332
|
if (!this.opts.app) {
|
|
@@ -323,15 +335,15 @@ class AndroidDriver extends driver_1.BaseDriver {
|
|
|
323
335
|
}
|
|
324
336
|
this.log.debug('No app capability. Assuming it is already on the device');
|
|
325
337
|
if (this.opts.fastReset) {
|
|
326
|
-
await
|
|
338
|
+
await helpers_1.helpers.resetApp(this.adb, this.opts);
|
|
327
339
|
}
|
|
328
340
|
return;
|
|
329
341
|
}
|
|
330
342
|
if (!this.opts.skipUninstall) {
|
|
331
343
|
await this.adb.uninstallApk(this.opts.appPackage);
|
|
332
344
|
}
|
|
333
|
-
await
|
|
334
|
-
const apkStringsForLanguage = await
|
|
345
|
+
await helpers_1.helpers.installApk(this.adb, this.opts);
|
|
346
|
+
const apkStringsForLanguage = await helpers_1.helpers.pushStrings(this.opts.language, this.adb, this.opts);
|
|
335
347
|
if (this.opts.language) {
|
|
336
348
|
this.apkStrings[this.opts.language] = apkStringsForLanguage;
|
|
337
349
|
}
|
|
@@ -343,17 +355,21 @@ class AndroidDriver extends driver_1.BaseDriver {
|
|
|
343
355
|
}
|
|
344
356
|
async checkAppPresent() {
|
|
345
357
|
this.log.debug('Checking whether app is actually present');
|
|
358
|
+
// @ts-expect-error do not put arbitrary properties on opts
|
|
346
359
|
if (!(await support_1.fs.exists(this.opts.app))) {
|
|
347
360
|
this.log.errorAndThrow(`Could not find app apk at ${this.opts.app}`);
|
|
348
361
|
}
|
|
349
362
|
}
|
|
350
363
|
async checkPackagePresent() {
|
|
351
364
|
this.log.debug('Checking whether package is present on the device');
|
|
352
|
-
if (!(await this.adb.shell(['pm', 'list', 'packages', this.opts.appPackage]))) {
|
|
365
|
+
if (!(await this.adb.shell(['pm', 'list', 'packages', String(this.opts.appPackage)]))) {
|
|
353
366
|
this.log.errorAndThrow(`Could not find package ${this.opts.appPackage} on the device`);
|
|
354
367
|
}
|
|
355
368
|
}
|
|
356
|
-
|
|
369
|
+
/**
|
|
370
|
+
* Set CompressedLayoutHierarchy on the device
|
|
371
|
+
* @privateRemarks FIXME: unknown param type
|
|
372
|
+
*/
|
|
357
373
|
async setCompressedLayoutHierarchy(compress) {
|
|
358
374
|
await this.bootstrap.sendAction('compressedLayoutHierarchy', { compressLayout: compress });
|
|
359
375
|
}
|
|
@@ -365,7 +381,7 @@ class AndroidDriver extends driver_1.BaseDriver {
|
|
|
365
381
|
}
|
|
366
382
|
}
|
|
367
383
|
catch (ign) { }
|
|
368
|
-
await
|
|
384
|
+
await helpers_1.helpers.removeAllSessionWebSocketHandlers(this.server, this.sessionId);
|
|
369
385
|
await this.mobileStopScreenStreaming();
|
|
370
386
|
await super.deleteSession();
|
|
371
387
|
if (this.bootstrap) {
|
|
@@ -383,7 +399,7 @@ class AndroidDriver extends driver_1.BaseDriver {
|
|
|
383
399
|
await this.adb?.uninstallApk(this.opts.appPackage);
|
|
384
400
|
}
|
|
385
401
|
await this.bootstrap.shutdown();
|
|
386
|
-
this.bootstrap =
|
|
402
|
+
this.bootstrap = undefined;
|
|
387
403
|
}
|
|
388
404
|
else {
|
|
389
405
|
this.log.debug("Called deleteSession but bootstrap wasn't active");
|
|
@@ -398,29 +414,36 @@ class AndroidDriver extends driver_1.BaseDriver {
|
|
|
398
414
|
this.log.info('Restoring window animation state');
|
|
399
415
|
await this.adb?.setAnimationState(true);
|
|
400
416
|
// This was necessary to change animation scale over Android P. We must reset the policy for the security.
|
|
401
|
-
if (await this.adb
|
|
417
|
+
if (this.adb && (await this.adb.getApiLevel()) >= 28) {
|
|
402
418
|
this.log.info('Restoring hidden api policy to the device default configuration');
|
|
403
419
|
await this.adb?.setDefaultHiddenApiPolicy(!!this.opts.ignoreHiddenApiPolicyError);
|
|
404
420
|
}
|
|
405
421
|
}
|
|
422
|
+
// @ts-expect-error do not put arbitrary properties on opts
|
|
406
423
|
if (this.opts.reboot) {
|
|
407
|
-
|
|
424
|
+
// @ts-expect-error do not put arbitrary properties on opts
|
|
425
|
+
const avdName = this.opts.avd.replace('@', '');
|
|
408
426
|
this.log.debug(`closing emulator '${avdName}'`);
|
|
409
427
|
await this.adb?.killEmulator(avdName);
|
|
410
428
|
}
|
|
411
429
|
}
|
|
412
|
-
|
|
413
|
-
|
|
430
|
+
/**
|
|
431
|
+
*
|
|
432
|
+
* @param {AndroidDriverOpts} [opts]
|
|
433
|
+
*/
|
|
434
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
435
|
+
async setSharedPreferences(opts) {
|
|
436
|
+
const sharedPrefs = this.opts.sharedPreferences;
|
|
414
437
|
this.log.info('Trying to set shared preferences');
|
|
415
|
-
|
|
438
|
+
const name = sharedPrefs.name;
|
|
416
439
|
if (lodash_1.default.isUndefined(name)) {
|
|
417
440
|
this.log.warn(`Skipping setting Shared preferences, name is undefined: ${JSON.stringify(sharedPrefs)}`);
|
|
418
441
|
return false;
|
|
419
442
|
}
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
443
|
+
const remotePath = `/data/data/${this.opts.appPackage}/shared_prefs`;
|
|
444
|
+
const remoteFile = `${remotePath}/${name}.xml`;
|
|
445
|
+
const localPath = `/tmp/${name}.xml`;
|
|
446
|
+
const builder = this.getPrefsBuilder();
|
|
424
447
|
builder.build(sharedPrefs.prefs);
|
|
425
448
|
this.log.info(`Creating temporary shared preferences: ${localPath}`);
|
|
426
449
|
builder.toFile(localPath);
|
|
@@ -442,26 +465,45 @@ class AndroidDriver extends driver_1.BaseDriver {
|
|
|
442
465
|
getPrefsBuilder() {
|
|
443
466
|
/* Add this method to create a new SharedPrefsBuilder instead of
|
|
444
467
|
* directly creating the object on setSharedPreferences for testing purposes
|
|
445
|
-
|
|
468
|
+
*/
|
|
446
469
|
return new shared_preferences_builder_1.SharedPrefsBuilder();
|
|
447
470
|
}
|
|
471
|
+
/**
|
|
472
|
+
*
|
|
473
|
+
* @param {any} caps
|
|
474
|
+
* @returns {caps is AndroidDriverCaps}
|
|
475
|
+
*/
|
|
448
476
|
validateDesiredCaps(caps) {
|
|
449
477
|
if (!super.validateDesiredCaps(caps)) {
|
|
450
478
|
return false;
|
|
451
479
|
}
|
|
452
|
-
if ((!caps.browserName || !
|
|
480
|
+
if ((!caps.browserName || !helpers_1.helpers.isChromeBrowser(caps.browserName)) &&
|
|
481
|
+
!caps.app &&
|
|
482
|
+
!caps.appPackage) {
|
|
453
483
|
this.log.errorAndThrow('The desired capabilities must include either an app, appPackage or browserName');
|
|
454
484
|
}
|
|
455
|
-
return
|
|
485
|
+
return helpers_1.helpers.validateDesiredCaps(caps);
|
|
456
486
|
}
|
|
487
|
+
/**
|
|
488
|
+
*
|
|
489
|
+
* @param {string} sessionId
|
|
490
|
+
*/
|
|
457
491
|
proxyActive(sessionId) {
|
|
458
492
|
super.proxyActive(sessionId);
|
|
459
493
|
return this.jwpProxyActive;
|
|
460
494
|
}
|
|
495
|
+
/**
|
|
496
|
+
*
|
|
497
|
+
* @param {string} sessionId
|
|
498
|
+
*/
|
|
461
499
|
getProxyAvoidList(sessionId) {
|
|
462
500
|
super.getProxyAvoidList(sessionId);
|
|
463
501
|
return this.jwpProxyAvoid;
|
|
464
502
|
}
|
|
503
|
+
/**
|
|
504
|
+
*
|
|
505
|
+
* @param {string} sessionId
|
|
506
|
+
*/
|
|
465
507
|
canProxy(sessionId) {
|
|
466
508
|
super.canProxy(sessionId);
|
|
467
509
|
// this will change depending on ChromeDriver status
|
|
@@ -470,5 +512,6 @@ class AndroidDriver extends driver_1.BaseDriver {
|
|
|
470
512
|
}
|
|
471
513
|
exports.AndroidDriver = AndroidDriver;
|
|
472
514
|
AndroidDriver.newMethodMap = method_map_1.newMethodMap;
|
|
473
|
-
|
|
515
|
+
var commands_1 = require("./commands");
|
|
516
|
+
Object.defineProperty(exports, "androidCommands", { enumerable: true, get: function () { return commands_1.commands; } });
|
|
474
517
|
//# sourceMappingURL=driver.js.map
|
package/build/lib/driver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"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"}
|