appium-xcuitest-driver 7.8.2 → 7.9.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 +14 -0
- package/build/lib/app-utils.d.ts +7 -0
- package/build/lib/app-utils.d.ts.map +1 -1
- package/build/lib/app-utils.js +28 -1
- package/build/lib/app-utils.js.map +1 -1
- package/build/lib/driver.d.ts +9 -11
- package/build/lib/driver.d.ts.map +1 -1
- package/build/lib/driver.js +5 -3
- package/build/lib/driver.js.map +1 -1
- package/build/lib/real-device-management.d.ts +15 -19
- package/build/lib/real-device-management.d.ts.map +1 -1
- package/build/lib/real-device-management.js +42 -69
- package/build/lib/real-device-management.js.map +1 -1
- package/build/lib/real-device.d.ts +9 -0
- package/build/lib/real-device.d.ts.map +1 -1
- package/build/lib/real-device.js +38 -1
- package/build/lib/real-device.js.map +1 -1
- package/build/lib/simulator-management.d.ts.map +1 -1
- package/build/lib/simulator-management.js +5 -20
- package/build/lib/simulator-management.js.map +1 -1
- package/lib/app-utils.js +30 -0
- package/lib/driver.js +8 -4
- package/lib/real-device-management.js +41 -71
- package/lib/real-device.js +43 -1
- package/lib/simulator-management.js +5 -22
- package/npm-shrinkwrap.json +9 -9
- package/package.json +2 -2
|
@@ -1,19 +1,3 @@
|
|
|
1
|
-
export function getConnectedDevices(): Promise<any>;
|
|
2
|
-
/**
|
|
3
|
-
* @param {string} udid
|
|
4
|
-
* @returns {Promise<string>}
|
|
5
|
-
*/
|
|
6
|
-
export function getOSVersion(udid: string): Promise<string>;
|
|
7
|
-
/**
|
|
8
|
-
* @this {import('./driver').XCUITestDriver}
|
|
9
|
-
* @returns {Promise<void>}
|
|
10
|
-
*/
|
|
11
|
-
export function resetRealDevice(this: import("./driver").XCUITestDriver): Promise<void>;
|
|
12
|
-
/**
|
|
13
|
-
* @this {import('./driver').XCUITestDriver}
|
|
14
|
-
* @returns {Promise<void>}
|
|
15
|
-
*/
|
|
16
|
-
export function runRealDeviceReset(this: import("./driver").XCUITestDriver): Promise<void>;
|
|
17
1
|
/**
|
|
18
2
|
* @typedef {Object} InstallOptions
|
|
19
3
|
*
|
|
@@ -31,9 +15,18 @@ export function runRealDeviceReset(this: import("./driver").XCUITestDriver): Pro
|
|
|
31
15
|
export function installToRealDevice(this: import("./driver").XCUITestDriver, app?: string | undefined, bundleId?: string | undefined, opts?: InstallOptions | undefined): Promise<void>;
|
|
32
16
|
/**
|
|
33
17
|
* @this {import('./driver').XCUITestDriver}
|
|
34
|
-
* @returns {
|
|
18
|
+
* @returns {Promise<void>}
|
|
19
|
+
*/
|
|
20
|
+
export function runRealDeviceReset(this: import("./driver").XCUITestDriver): Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* Configures Safari startup options based on the given session capabilities.
|
|
23
|
+
*
|
|
24
|
+
* !!! This method mutates driver options.
|
|
25
|
+
*
|
|
26
|
+
* @this {import('./driver').XCUITestDriver}
|
|
27
|
+
* @return {boolean} true if process arguments have been modified
|
|
35
28
|
*/
|
|
36
|
-
export function
|
|
29
|
+
export function applySafariStartupArgs(this: import("./driver").XCUITestDriver): boolean;
|
|
37
30
|
export type InstallOptions = {
|
|
38
31
|
/**
|
|
39
32
|
* Whether to skip app uninstall before installing it
|
|
@@ -52,5 +45,8 @@ export type InstallOptions = {
|
|
|
52
45
|
*/
|
|
53
46
|
shouldEnforceUninstall?: boolean | undefined;
|
|
54
47
|
};
|
|
55
|
-
|
|
48
|
+
/**
|
|
49
|
+
* }
|
|
50
|
+
*/
|
|
51
|
+
export type RealDevice = import('./real-device').RealDevice;
|
|
56
52
|
//# sourceMappingURL=real-device-management.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"real-device-management.d.ts","sourceRoot":"","sources":["../../lib/real-device-management.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"real-device-management.d.ts","sourceRoot":"","sources":["../../lib/real-device-management.js"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AAEH;;;;;GAKG;AACH,wLAyCC;AAED;;;GAGG;AACH,6EAFa,QAAQ,IAAI,CAAC,CAWzB;AAED;;;;;;;GAOG;AACH,iFAFY,OAAO,CAiBlB;;;;;;;;;;;;;;;;;;;;;;yBAGY,OAAO,eAAe,EAAE,UAAU"}
|
|
@@ -3,71 +3,9 @@ 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.
|
|
7
|
-
const
|
|
8
|
-
const real_device_1 = __importDefault(require("./real-device"));
|
|
6
|
+
exports.applySafariStartupArgs = exports.runRealDeviceReset = exports.installToRealDevice = void 0;
|
|
7
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
9
8
|
const app_utils_1 = require("./app-utils");
|
|
10
|
-
async function getConnectedDevices() {
|
|
11
|
-
return await appium_ios_device_1.utilities.getConnectedDevices();
|
|
12
|
-
}
|
|
13
|
-
exports.getConnectedDevices = getConnectedDevices;
|
|
14
|
-
/**
|
|
15
|
-
* @param {string} udid
|
|
16
|
-
* @returns {Promise<string>}
|
|
17
|
-
*/
|
|
18
|
-
async function getOSVersion(udid) {
|
|
19
|
-
return await appium_ios_device_1.utilities.getOSVersion(udid);
|
|
20
|
-
}
|
|
21
|
-
exports.getOSVersion = getOSVersion;
|
|
22
|
-
/**
|
|
23
|
-
* @this {import('./driver').XCUITestDriver}
|
|
24
|
-
* @returns {Promise<void>}
|
|
25
|
-
*/
|
|
26
|
-
async function resetRealDevice() {
|
|
27
|
-
const { bundleId, fullReset } = this.opts;
|
|
28
|
-
if (!bundleId) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
const device = /** @type {RealDevice} */ (this.device);
|
|
32
|
-
if (bundleId === app_utils_1.SAFARI_BUNDLE_ID) {
|
|
33
|
-
this.log.debug('Reset requested. About to terminate Safari');
|
|
34
|
-
await device.terminateApp(bundleId, String(this.opts.platformVersion));
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
if (!fullReset) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
this.log.debug(`Reset: fullReset requested. Will try to uninstall the app '${bundleId}'.`);
|
|
41
|
-
if (!(await device.isAppInstalled(bundleId))) {
|
|
42
|
-
this.log.debug('Reset: app not installed. No need to uninstall');
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
try {
|
|
46
|
-
await device.remove(bundleId);
|
|
47
|
-
}
|
|
48
|
-
catch (err) {
|
|
49
|
-
this.log.error(`Reset: could not remove '${bundleId}' from device: ${err.message}`);
|
|
50
|
-
throw err;
|
|
51
|
-
}
|
|
52
|
-
this.log.debug(`Reset: removed '${bundleId}'`);
|
|
53
|
-
}
|
|
54
|
-
exports.resetRealDevice = resetRealDevice;
|
|
55
|
-
/**
|
|
56
|
-
* @this {import('./driver').XCUITestDriver}
|
|
57
|
-
* @returns {Promise<void>}
|
|
58
|
-
*/
|
|
59
|
-
async function runRealDeviceReset() {
|
|
60
|
-
if (!this.opts.noReset || this.opts.fullReset) {
|
|
61
|
-
this.log.debug('Reset: running ios real device reset flow');
|
|
62
|
-
if (!this.opts.noReset) {
|
|
63
|
-
await resetRealDevice.bind(this)();
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
this.log.debug('Reset: fullReset not set. Leaving as is');
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
exports.runRealDeviceReset = runRealDeviceReset;
|
|
71
9
|
/**
|
|
72
10
|
* @typedef {Object} InstallOptions
|
|
73
11
|
*
|
|
@@ -121,11 +59,46 @@ async function installToRealDevice(app, bundleId, opts = {}) {
|
|
|
121
59
|
exports.installToRealDevice = installToRealDevice;
|
|
122
60
|
/**
|
|
123
61
|
* @this {import('./driver').XCUITestDriver}
|
|
124
|
-
* @returns {
|
|
62
|
+
* @returns {Promise<void>}
|
|
63
|
+
*/
|
|
64
|
+
async function runRealDeviceReset() {
|
|
65
|
+
if (!this.opts.noReset || this.opts.fullReset) {
|
|
66
|
+
this.log.debug('Reset: running ios real device reset flow');
|
|
67
|
+
if (!this.opts.noReset) {
|
|
68
|
+
await /** @type {RealDevice} */ (this.device).reset(this.opts);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
this.log.debug('Reset: fullReset not set. Leaving as is');
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.runRealDeviceReset = runRealDeviceReset;
|
|
76
|
+
/**
|
|
77
|
+
* Configures Safari startup options based on the given session capabilities.
|
|
78
|
+
*
|
|
79
|
+
* !!! This method mutates driver options.
|
|
80
|
+
*
|
|
81
|
+
* @this {import('./driver').XCUITestDriver}
|
|
82
|
+
* @return {boolean} true if process arguments have been modified
|
|
125
83
|
*/
|
|
126
|
-
function
|
|
127
|
-
|
|
128
|
-
|
|
84
|
+
function applySafariStartupArgs() {
|
|
85
|
+
const prefs = (0, app_utils_1.buildSafariPreferences)(this.opts);
|
|
86
|
+
if (lodash_1.default.isEmpty(prefs)) {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
const args = lodash_1.default.toPairs(prefs)
|
|
90
|
+
.flatMap(([key, value]) => [lodash_1.default.startsWith(key, '-') ? key : `-${key}`, String(value)]);
|
|
91
|
+
this.log.debug(`Generated Safari command line arguments: ${args.join(' ')}`);
|
|
92
|
+
if (lodash_1.default.isPlainObject(this.opts.processArguments)) {
|
|
93
|
+
this.opts.processArguments.args = [...(this.opts.processArguments.args ?? []), ...args];
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
this.opts.processArguments = { args };
|
|
97
|
+
}
|
|
98
|
+
return true;
|
|
129
99
|
}
|
|
130
|
-
exports.
|
|
100
|
+
exports.applySafariStartupArgs = applySafariStartupArgs;
|
|
101
|
+
/**
|
|
102
|
+
* @typedef {import('./real-device').RealDevice} RealDevice}
|
|
103
|
+
*/
|
|
131
104
|
//# sourceMappingURL=real-device-management.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"real-device-management.js","sourceRoot":"","sources":["../../lib/real-device-management.js"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"real-device-management.js","sourceRoot":"","sources":["../../lib/real-device-management.js"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @returns {Promise<string[]>}
|
|
3
|
+
*/
|
|
4
|
+
export function getConnectedDevices(): Promise<string[]>;
|
|
1
5
|
export class RealDevice {
|
|
2
6
|
/**
|
|
3
7
|
* @param {string} udid
|
|
@@ -78,6 +82,11 @@ export class RealDevice {
|
|
|
78
82
|
* @returns {Promise<string>}
|
|
79
83
|
*/
|
|
80
84
|
getPlatformVersion(): Promise<string>;
|
|
85
|
+
/**
|
|
86
|
+
* @param {import('./driver').XCUITestDriverOpts} opts
|
|
87
|
+
* @returns {Promise<void>}
|
|
88
|
+
*/
|
|
89
|
+
reset({ bundleId, fullReset, platformVersion }: import('./driver').XCUITestDriverOpts): Promise<void>;
|
|
81
90
|
}
|
|
82
91
|
export default RealDevice;
|
|
83
92
|
import { Devicectl } from './devicectl';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"real-device.d.ts","sourceRoot":"","sources":["../../lib/real-device.js"],"names":[],"mappings":"AAsBA;IACE;;;OAGG;IACH,kBAHW,MAAM,6DAOhB;IAHC,aAAgB;IAChB,2CAAmC;IACnC,qBAAoD;IAGtD;;OAEG;IACH,gDAEC;IAED;;OAEG;IACH,iBAFW,MAAM,iBAShB;IAED;;OAEG;IACH,oBAFW,MAAM,iBAIhB;IAED;;;;;;OAMG;IACH,aALW,MAAM,2CAEN,YAAY,GAAC,QAAQ,GAAC,UAAU,GAAC,IAAI,iBAoE/C;IAED;;;OAGG;IACH,+CAHW,MAAM,kDAiChB;IAED;;;;;OAKG;IACH,gBAJW,MAAM,WACN,MAAM,YACN,YAAY,GAAC,QAAQ,GAAC,UAAU,GAAC,IAAI,iBAI/C;IAED;;;;;;;OAOG;IACH,yBAJW,MAAM,GACL,QAAQ,OAAO,CAAC,CAK3B;IAED;;;;;;;;;;;OAWG;IACH,uBARW,MAAM,qBACN,MAAM,GAAC,MAAM,EAAE,GAAC,SAAS,GAIvB,QAAQ,MAAO,SAAS,CAAC,CAgBrC;IAED;;;;OAIG;IACH,uBAJW,MAAM,mBACN,MAAM,GACJ,QAAQ,OAAO,CAAC,CA+D5B;IAED;;;;;OAKG;IACH,kDALW,MAAM,GAEJ,QAAQ,MAAM,EAAE,CAAC,CAsB7B;IAED;;OAEG;IACH,sBAFa,QAAQ,MAAM,CAAC,CAI3B;
|
|
1
|
+
{"version":3,"file":"real-device.d.ts","sourceRoot":"","sources":["../../lib/real-device.js"],"names":[],"mappings":"AAsBA;;GAEG;AACH,uCAFa,QAAQ,MAAM,EAAE,CAAC,CAI7B;AAED;IACE;;;OAGG;IACH,kBAHW,MAAM,6DAOhB;IAHC,aAAgB;IAChB,2CAAmC;IACnC,qBAAoD;IAGtD;;OAEG;IACH,gDAEC;IAED;;OAEG;IACH,iBAFW,MAAM,iBAShB;IAED;;OAEG;IACH,oBAFW,MAAM,iBAIhB;IAED;;;;;;OAMG;IACH,aALW,MAAM,2CAEN,YAAY,GAAC,QAAQ,GAAC,UAAU,GAAC,IAAI,iBAoE/C;IAED;;;OAGG;IACH,+CAHW,MAAM,kDAiChB;IAED;;;;;OAKG;IACH,gBAJW,MAAM,WACN,MAAM,YACN,YAAY,GAAC,QAAQ,GAAC,UAAU,GAAC,IAAI,iBAI/C;IAED;;;;;;;OAOG;IACH,yBAJW,MAAM,GACL,QAAQ,OAAO,CAAC,CAK3B;IAED;;;;;;;;;;;OAWG;IACH,uBARW,MAAM,qBACN,MAAM,GAAC,MAAM,EAAE,GAAC,SAAS,GAIvB,QAAQ,MAAO,SAAS,CAAC,CAgBrC;IAED;;;;OAIG;IACH,uBAJW,MAAM,mBACN,MAAM,GACJ,QAAQ,OAAO,CAAC,CA+D5B;IAED;;;;;OAKG;IACH,kDALW,MAAM,GAEJ,QAAQ,MAAM,EAAE,CAAC,CAsB7B;IAED;;OAEG;IACH,sBAFa,QAAQ,MAAM,CAAC,CAI3B;IAED;;;OAGG;IACH,gDAHW,OAAO,UAAU,EAAE,kBAAkB,GACnC,QAAQ,IAAI,CAAC,CA8BzB;CAEF;;0BAhWyB,aAAa"}
|
package/build/lib/real-device.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.RealDevice = void 0;
|
|
6
|
+
exports.RealDevice = exports.getConnectedDevices = void 0;
|
|
7
7
|
const support_1 = require("appium/support");
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
9
|
const appium_ios_device_1 = require("appium-ios-device");
|
|
@@ -24,6 +24,13 @@ const APP_INSTALL_STRATEGY = Object.freeze({
|
|
|
24
24
|
PARALLEL: 'parallel',
|
|
25
25
|
IOS_DEPLOY,
|
|
26
26
|
});
|
|
27
|
+
/**
|
|
28
|
+
* @returns {Promise<string[]>}
|
|
29
|
+
*/
|
|
30
|
+
async function getConnectedDevices() {
|
|
31
|
+
return await appium_ios_device_1.utilities.getConnectedDevices();
|
|
32
|
+
}
|
|
33
|
+
exports.getConnectedDevices = getConnectedDevices;
|
|
27
34
|
class RealDevice {
|
|
28
35
|
/**
|
|
29
36
|
* @param {string} udid
|
|
@@ -293,6 +300,36 @@ class RealDevice {
|
|
|
293
300
|
async getPlatformVersion() {
|
|
294
301
|
return await appium_ios_device_1.utilities.getOSVersion(this.udid);
|
|
295
302
|
}
|
|
303
|
+
/**
|
|
304
|
+
* @param {import('./driver').XCUITestDriverOpts} opts
|
|
305
|
+
* @returns {Promise<void>}
|
|
306
|
+
*/
|
|
307
|
+
async reset({ bundleId, fullReset, platformVersion }) {
|
|
308
|
+
if (!bundleId) {
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
311
|
+
if (bundleId === app_utils_1.SAFARI_BUNDLE_ID) {
|
|
312
|
+
this.log.debug('Reset requested. About to terminate Safari');
|
|
313
|
+
await this.terminateApp(bundleId, String(platformVersion));
|
|
314
|
+
return;
|
|
315
|
+
}
|
|
316
|
+
if (!fullReset) {
|
|
317
|
+
return;
|
|
318
|
+
}
|
|
319
|
+
this.log.debug(`Reset: fullReset requested. Will try to uninstall the app '${bundleId}'.`);
|
|
320
|
+
if (!(await this.isAppInstalled(bundleId))) {
|
|
321
|
+
this.log.debug('Reset: app not installed. No need to uninstall');
|
|
322
|
+
return;
|
|
323
|
+
}
|
|
324
|
+
try {
|
|
325
|
+
await this.remove(bundleId);
|
|
326
|
+
}
|
|
327
|
+
catch (err) {
|
|
328
|
+
this.log.error(`Reset: could not remove '${bundleId}' from device: ${err.message}`);
|
|
329
|
+
throw err;
|
|
330
|
+
}
|
|
331
|
+
this.log.debug(`Reset: removed '${bundleId}'`);
|
|
332
|
+
}
|
|
296
333
|
}
|
|
297
334
|
exports.RealDevice = RealDevice;
|
|
298
335
|
exports.default = RealDevice;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"real-device.js","sourceRoot":"","sources":["../../lib/real-device.js"],"names":[],"mappings":";;;;;;AAAA,4CAAgD;AAChD,gDAAwB;AACxB,yDAA0E;AAC1E,wDAAyB;AACzB,sDAAqC;AACrC,oDAAuB;AACvB,+CAAkC;AAClC,
|
|
1
|
+
{"version":3,"file":"real-device.js","sourceRoot":"","sources":["../../lib/real-device.js"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulator-management.d.ts","sourceRoot":"","sources":["../../lib/simulator-management.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"simulator-management.d.ts","sourceRoot":"","sources":["../../lib/simulator-management.js"],"names":[],"mappings":"AAUA;;;;;GAKG;AACH,oEAFa,QAAQ,MAAM,CAAC,CAgC3B;AAED;;;;;;;GAOG;AAEH;;;;;GAKG;AACH,yEAFa,QAAQ,OAAO,UAAU,EAAE,SAAS,GAAC,IAAI,CAAC,CA2DtD;AAED;;GAEG;AACH,0FAKC;AAED;;;;GAIG;AACH,gHAFa,QAAQ,IAAI,CAAC,CAyEzB;AAED;;;;;GAKG;AAEH;;;;;GAKG;AACH,iFAJW,MAAM,mFA0BhB;AAED;;GAEG;AACH,gGA0BC;AAED;;;;;GAKG;AACH,yEAFY,QAAQ,OAAO,CAAC,CAW3B;AAED;;;;;GAKG;AACH,+EAFa,QAAQ,OAAO,CAAC,CAsB5B;;;;;;;;;qBA9Qa,MAAM"}
|
|
@@ -10,15 +10,8 @@ const appium_webdriveragent_1 = require("appium-webdriveragent");
|
|
|
10
10
|
const lodash_1 = __importDefault(require("lodash"));
|
|
11
11
|
const support_1 = require("appium/support");
|
|
12
12
|
const utils_1 = require("./utils");
|
|
13
|
+
const app_utils_1 = require("./app-utils");
|
|
13
14
|
const APPIUM_SIM_PREFIX = 'appiumTest';
|
|
14
|
-
const SAFARI_OPTS_ALIASES_MAP = /** @type {const} */ ({
|
|
15
|
-
safariAllowPopups: [
|
|
16
|
-
['WebKitJavaScriptCanOpenWindowsAutomatically', 'JavaScriptCanOpenWindowsAutomatically'],
|
|
17
|
-
(x) => Number(Boolean(x)),
|
|
18
|
-
],
|
|
19
|
-
safariIgnoreFraudWarning: [['WarnAboutFraudulentWebsites'], (x) => Number(!x)],
|
|
20
|
-
safariOpenLinksInBackground: [['OpenLinksInBackground'], (x) => Number(Boolean(x))],
|
|
21
|
-
});
|
|
22
15
|
/**
|
|
23
16
|
* Create a new simulator with `appiumTest-` prefix and return the object.
|
|
24
17
|
*
|
|
@@ -244,20 +237,12 @@ exports.shutdownOtherSimulators = shutdownOtherSimulators;
|
|
|
244
237
|
* @return {Promise<boolean>} true if any preferences have been updated
|
|
245
238
|
*/
|
|
246
239
|
async function setSafariPrefs() {
|
|
247
|
-
const
|
|
248
|
-
|
|
249
|
-
if (!lodash_1.default.has(this.opts, name)) {
|
|
250
|
-
continue;
|
|
251
|
-
}
|
|
252
|
-
for (const alias of aliases) {
|
|
253
|
-
safariSettings[alias] = valueConverter(this.opts[name]);
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
if (lodash_1.default.isEmpty(safariSettings)) {
|
|
240
|
+
const prefs = (0, app_utils_1.buildSafariPreferences)(this.opts);
|
|
241
|
+
if (lodash_1.default.isEmpty(prefs)) {
|
|
257
242
|
return false;
|
|
258
243
|
}
|
|
259
|
-
this.log.debug(`About to update Safari preferences: ${JSON.stringify(
|
|
260
|
-
await /** @type {import('./driver').Simulator} */ (this.device).updateSafariSettings(
|
|
244
|
+
this.log.debug(`About to update Safari preferences: ${JSON.stringify(prefs)}`);
|
|
245
|
+
await /** @type {import('./driver').Simulator} */ (this.device).updateSafariSettings(prefs);
|
|
261
246
|
return true;
|
|
262
247
|
}
|
|
263
248
|
exports.setSafariPrefs = setSafariPrefs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulator-management.js","sourceRoot":"","sources":["../../lib/simulator-management.js"],"names":[],"mappings":";;;;;;AAAA,+DAAkD;AAClD,8DAAiC;AACjC,iEAAyD;AACzD,oDAAuB;AACvB,4CAA4C;AAC5C,mCAAyD;
|
|
1
|
+
{"version":3,"file":"simulator-management.js","sourceRoot":"","sources":["../../lib/simulator-management.js"],"names":[],"mappings":"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"}
|
package/lib/app-utils.js
CHANGED
|
@@ -14,6 +14,15 @@ export const APP_EXT = '.app';
|
|
|
14
14
|
export const IPA_EXT = '.ipa';
|
|
15
15
|
/** @type {LRUCache<string, import('@appium/types').StringRecord>} */
|
|
16
16
|
const PLIST_CACHE = new LRUCache({max: 20});
|
|
17
|
+
const SAFARI_OPTS_ALIASES_MAP = /** @type {const} */ ({
|
|
18
|
+
safariAllowPopups: [
|
|
19
|
+
['WebKitJavaScriptCanOpenWindowsAutomatically', 'JavaScriptCanOpenWindowsAutomatically'],
|
|
20
|
+
(x) => Number(Boolean(x)),
|
|
21
|
+
],
|
|
22
|
+
safariIgnoreFraudWarning: [['WarnAboutFraudulentWebsites'], (x) => Number(!x)],
|
|
23
|
+
safariOpenLinksInBackground: [['OpenLinksInBackground'], (x) => Number(Boolean(x))],
|
|
24
|
+
});
|
|
25
|
+
|
|
17
26
|
|
|
18
27
|
/**
|
|
19
28
|
* Retrieves the value of the given entry name from the application's Info.plist.
|
|
@@ -288,3 +297,24 @@ export async function isolateAppBundle(appRoot) {
|
|
|
288
297
|
await fs.mv(appRoot, dstRoot, {mkdirp: true});
|
|
289
298
|
return dstRoot;
|
|
290
299
|
}
|
|
300
|
+
|
|
301
|
+
/**
|
|
302
|
+
* Builds Safari preferences object based on the given session capabilities
|
|
303
|
+
*
|
|
304
|
+
* @param {import('./driver').XCUITestDriverOpts} opts
|
|
305
|
+
* @return {Promise<import('@appium/types').StringRecord>}
|
|
306
|
+
*/
|
|
307
|
+
export function buildSafariPreferences(opts) {
|
|
308
|
+
const safariSettings = _.cloneDeep(opts?.safariGlobalPreferences ?? {});
|
|
309
|
+
|
|
310
|
+
for (const [name, [aliases, valueConverter]] of _.toPairs(SAFARI_OPTS_ALIASES_MAP)) {
|
|
311
|
+
if (!_.has(opts, name)) {
|
|
312
|
+
continue;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
for (const alias of aliases) {
|
|
316
|
+
safariSettings[alias] = valueConverter(opts[name]);
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
return safariSettings;
|
|
320
|
+
}
|
package/lib/driver.js
CHANGED
|
@@ -30,11 +30,14 @@ import {executeMethodMap} from './execute-method-map';
|
|
|
30
30
|
import {newMethodMap} from './method-map';
|
|
31
31
|
import Pyidevice from './py-ios-device-client';
|
|
32
32
|
import {
|
|
33
|
-
getConnectedDevices,
|
|
34
|
-
getRealDeviceObj,
|
|
35
33
|
installToRealDevice,
|
|
36
34
|
runRealDeviceReset,
|
|
35
|
+
applySafariStartupArgs,
|
|
37
36
|
} from './real-device-management';
|
|
37
|
+
import {
|
|
38
|
+
RealDevice,
|
|
39
|
+
getConnectedDevices,
|
|
40
|
+
} from './real-device';
|
|
38
41
|
import {
|
|
39
42
|
createSim,
|
|
40
43
|
getExistingSim,
|
|
@@ -531,6 +534,7 @@ export class XCUITestDriver extends BaseDriver {
|
|
|
531
534
|
this.safari = true;
|
|
532
535
|
this.opts.app = undefined;
|
|
533
536
|
this.opts.processArguments = this.opts.processArguments || {};
|
|
537
|
+
applySafariStartupArgs.bind(this)();
|
|
534
538
|
this.opts.bundleId = SAFARI_BUNDLE_ID;
|
|
535
539
|
this._currentUrl = this.opts.safariInitialUrl || this.getDefaultUrl();
|
|
536
540
|
} else if (this.opts.app || this.opts.bundleId) {
|
|
@@ -1221,7 +1225,8 @@ export class XCUITestDriver extends BaseDriver {
|
|
|
1221
1225
|
}
|
|
1222
1226
|
}
|
|
1223
1227
|
|
|
1224
|
-
|
|
1228
|
+
this.log.debug(`Creating iDevice object with udid '${this.opts.udid}'`);
|
|
1229
|
+
const device = new RealDevice(this.opts.udid, this.log);
|
|
1225
1230
|
return {device, realDevice: true, udid: this.opts.udid};
|
|
1226
1231
|
}
|
|
1227
1232
|
|
|
@@ -2260,5 +2265,4 @@ export default XCUITestDriver;
|
|
|
2260
2265
|
* @typedef {import('./types').WDACapabilities} WDACapabilities
|
|
2261
2266
|
* @typedef {import('appium-xcode').XcodeVersion} XcodeVersion
|
|
2262
2267
|
* @typedef {import('appium-ios-simulator').Simulator} Simulator
|
|
2263
|
-
* @typedef {import('./real-device').RealDevice} RealDevice
|
|
2264
2268
|
*/
|
|
@@ -1,70 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import {SAFARI_BUNDLE_ID} from './app-utils';
|
|
4
|
-
|
|
5
|
-
export async function getConnectedDevices() {
|
|
6
|
-
return await utilities.getConnectedDevices();
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* @param {string} udid
|
|
11
|
-
* @returns {Promise<string>}
|
|
12
|
-
*/
|
|
13
|
-
export async function getOSVersion(udid) {
|
|
14
|
-
return await utilities.getOSVersion(udid);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* @this {import('./driver').XCUITestDriver}
|
|
19
|
-
* @returns {Promise<void>}
|
|
20
|
-
*/
|
|
21
|
-
export async function resetRealDevice() {
|
|
22
|
-
const {bundleId, fullReset} = this.opts;
|
|
23
|
-
if (!bundleId) {
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
const device = /** @type {RealDevice} */ (this.device);
|
|
28
|
-
|
|
29
|
-
if (bundleId === SAFARI_BUNDLE_ID) {
|
|
30
|
-
this.log.debug('Reset requested. About to terminate Safari');
|
|
31
|
-
await device.terminateApp(bundleId, String(this.opts.platformVersion));
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
if (!fullReset) {
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
this.log.debug(`Reset: fullReset requested. Will try to uninstall the app '${bundleId}'.`);
|
|
40
|
-
if (!(await device.isAppInstalled(bundleId))) {
|
|
41
|
-
this.log.debug('Reset: app not installed. No need to uninstall');
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
try {
|
|
46
|
-
await device.remove(bundleId);
|
|
47
|
-
} catch (err) {
|
|
48
|
-
this.log.error(`Reset: could not remove '${bundleId}' from device: ${err.message}`);
|
|
49
|
-
throw err;
|
|
50
|
-
}
|
|
51
|
-
this.log.debug(`Reset: removed '${bundleId}'`);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* @this {import('./driver').XCUITestDriver}
|
|
56
|
-
* @returns {Promise<void>}
|
|
57
|
-
*/
|
|
58
|
-
export async function runRealDeviceReset() {
|
|
59
|
-
if (!this.opts.noReset || this.opts.fullReset) {
|
|
60
|
-
this.log.debug('Reset: running ios real device reset flow');
|
|
61
|
-
if (!this.opts.noReset) {
|
|
62
|
-
await resetRealDevice.bind(this)();
|
|
63
|
-
}
|
|
64
|
-
} else {
|
|
65
|
-
this.log.debug('Reset: fullReset not set. Leaving as is');
|
|
66
|
-
}
|
|
67
|
-
}
|
|
1
|
+
import _ from 'lodash';
|
|
2
|
+
import {buildSafariPreferences} from './app-utils';
|
|
68
3
|
|
|
69
4
|
/**
|
|
70
5
|
* @typedef {Object} InstallOptions
|
|
@@ -126,9 +61,44 @@ export async function installToRealDevice(app, bundleId, opts = {}) {
|
|
|
126
61
|
|
|
127
62
|
/**
|
|
128
63
|
* @this {import('./driver').XCUITestDriver}
|
|
129
|
-
* @returns {
|
|
64
|
+
* @returns {Promise<void>}
|
|
130
65
|
*/
|
|
131
|
-
export function
|
|
132
|
-
this.
|
|
133
|
-
|
|
66
|
+
export async function runRealDeviceReset() {
|
|
67
|
+
if (!this.opts.noReset || this.opts.fullReset) {
|
|
68
|
+
this.log.debug('Reset: running ios real device reset flow');
|
|
69
|
+
if (!this.opts.noReset) {
|
|
70
|
+
await /** @type {RealDevice} */ (this.device).reset(this.opts);
|
|
71
|
+
}
|
|
72
|
+
} else {
|
|
73
|
+
this.log.debug('Reset: fullReset not set. Leaving as is');
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Configures Safari startup options based on the given session capabilities.
|
|
79
|
+
*
|
|
80
|
+
* !!! This method mutates driver options.
|
|
81
|
+
*
|
|
82
|
+
* @this {import('./driver').XCUITestDriver}
|
|
83
|
+
* @return {boolean} true if process arguments have been modified
|
|
84
|
+
*/
|
|
85
|
+
export function applySafariStartupArgs() {
|
|
86
|
+
const prefs = buildSafariPreferences(this.opts);
|
|
87
|
+
if (_.isEmpty(prefs)) {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
const args = _.toPairs(prefs)
|
|
92
|
+
.flatMap(([key, value]) => [_.startsWith(key, '-') ? key : `-${key}`, String(value)]);
|
|
93
|
+
this.log.debug(`Generated Safari command line arguments: ${args.join(' ')}`);
|
|
94
|
+
if (_.isPlainObject(this.opts.processArguments)) {
|
|
95
|
+
this.opts.processArguments.args = [...(this.opts.processArguments.args ?? []), ...args];
|
|
96
|
+
} else {
|
|
97
|
+
this.opts.processArguments = {args};
|
|
98
|
+
}
|
|
99
|
+
return true;
|
|
134
100
|
}
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* @typedef {import('./real-device').RealDevice} RealDevice}
|
|
104
|
+
*/
|