appium-xcuitest-driver 10.17.1 → 10.18.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 +12 -0
- package/build/lib/device/real-device-management.d.ts +3 -3
- package/build/lib/device/real-device-management.d.ts.map +1 -1
- package/build/lib/device/real-device-management.js +6 -8
- package/build/lib/device/real-device-management.js.map +1 -1
- package/build/lib/driver.js +1 -1
- package/build/lib/driver.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/lib/device/real-device-management.ts +7 -9
- package/lib/driver.ts +1 -1
- package/npm-shrinkwrap.json +59 -16
- package/package.json +3 -2
- package/build/test/functional/basic/alert-e2e-specs.d.ts +0 -2
- package/build/test/functional/basic/alert-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/basic/alert-e2e-specs.js +0 -129
- package/build/test/functional/basic/alert-e2e-specs.js.map +0 -1
- package/build/test/functional/basic/basic-e2e-specs.d.ts +0 -2
- package/build/test/functional/basic/basic-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/basic/basic-e2e-specs.js +0 -268
- package/build/test/functional/basic/basic-e2e-specs.js.map +0 -1
- package/build/test/functional/basic/element-e2e-specs.d.ts +0 -2
- package/build/test/functional/basic/element-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/basic/element-e2e-specs.js +0 -354
- package/build/test/functional/basic/element-e2e-specs.js.map +0 -1
- package/build/test/functional/basic/find-e2e-specs.d.ts +0 -2
- package/build/test/functional/basic/find-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/basic/find-e2e-specs.js +0 -434
- package/build/test/functional/basic/find-e2e-specs.js.map +0 -1
- package/build/test/functional/basic/gesture-e2e-specs.d.ts +0 -2
- package/build/test/functional/basic/gesture-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/basic/gesture-e2e-specs.js +0 -211
- package/build/test/functional/basic/gesture-e2e-specs.js.map +0 -1
- package/build/test/functional/desired.d.ts +0 -26
- package/build/test/functional/desired.d.ts.map +0 -1
- package/build/test/functional/desired.js +0 -124
- package/build/test/functional/desired.js.map +0 -1
- package/build/test/functional/device/accessibility-e2e-specs.d.ts +0 -2
- package/build/test/functional/device/accessibility-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/device/accessibility-e2e-specs.js +0 -117
- package/build/test/functional/device/accessibility-e2e-specs.js.map +0 -1
- package/build/test/functional/device/file-movement-e2e-specs.d.ts +0 -2
- package/build/test/functional/device/file-movement-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/device/file-movement-e2e-specs.js +0 -141
- package/build/test/functional/device/file-movement-e2e-specs.js.map +0 -1
- package/build/test/functional/device/otherApps-e2e-specs.d.ts +0 -2
- package/build/test/functional/device/otherApps-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/device/otherApps-e2e-specs.js +0 -66
- package/build/test/functional/device/otherApps-e2e-specs.js.map +0 -1
- package/build/test/functional/device/passwords-e2e-specs.d.ts +0 -2
- package/build/test/functional/device/passwords-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/device/passwords-e2e-specs.js +0 -91
- package/build/test/functional/device/passwords-e2e-specs.js.map +0 -1
- package/build/test/functional/device/performance-e2e-specs.d.ts +0 -2
- package/build/test/functional/device/performance-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/device/performance-e2e-specs.js +0 -72
- package/build/test/functional/device/performance-e2e-specs.js.map +0 -1
- package/build/test/functional/driver/driver-e2e-specs.d.ts +0 -2
- package/build/test/functional/driver/driver-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/driver/driver-e2e-specs.js +0 -296
- package/build/test/functional/driver/driver-e2e-specs.js.map +0 -1
- package/build/test/functional/helpers/element.d.ts +0 -4
- package/build/test/functional/helpers/element.d.ts.map +0 -1
- package/build/test/functional/helpers/element.js +0 -8
- package/build/test/functional/helpers/element.js.map +0 -1
- package/build/test/functional/helpers/ports.d.ts +0 -6
- package/build/test/functional/helpers/ports.d.ts.map +0 -1
- package/build/test/functional/helpers/ports.js +0 -29
- package/build/test/functional/helpers/ports.js.map +0 -1
- package/build/test/functional/helpers/session.d.ts +0 -7
- package/build/test/functional/helpers/session.d.ts.map +0 -1
- package/build/test/functional/helpers/session.js +0 -39
- package/build/test/functional/helpers/session.js.map +0 -1
- package/build/test/functional/helpers/simulator.d.ts +0 -12
- package/build/test/functional/helpers/simulator.d.ts.map +0 -1
- package/build/test/functional/helpers/simulator.js +0 -51
- package/build/test/functional/helpers/simulator.js.map +0 -1
- package/build/test/functional/long/typing-stress-e2e-specs.d.ts +0 -2
- package/build/test/functional/long/typing-stress-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/long/typing-stress-e2e-specs.js +0 -84
- package/build/test/functional/long/typing-stress-e2e-specs.js.map +0 -1
- package/build/test/functional/tv/tvos-e2e-specs.d.ts +0 -2
- package/build/test/functional/tv/tvos-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/tv/tvos-e2e-specs.js +0 -83
- package/build/test/functional/tv/tvos-e2e-specs.js.map +0 -1
- package/build/test/functional/web/helpers.d.ts +0 -28
- package/build/test/functional/web/helpers.d.ts.map +0 -1
- package/build/test/functional/web/helpers.js +0 -137
- package/build/test/functional/web/helpers.js.map +0 -1
- package/build/test/functional/web/safari-alerts-e2e-specs.d.ts +0 -2
- package/build/test/functional/web/safari-alerts-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/web/safari-alerts-e2e-specs.js +0 -109
- package/build/test/functional/web/safari-alerts-e2e-specs.js.map +0 -1
- package/build/test/functional/web/safari-basic-e2e-specs.d.ts +0 -2
- package/build/test/functional/web/safari-basic-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/web/safari-basic-e2e-specs.js +0 -425
- package/build/test/functional/web/safari-basic-e2e-specs.js.map +0 -1
- package/build/test/functional/web/safari-execute-e2e-specs.d.ts +0 -2
- package/build/test/functional/web/safari-execute-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/web/safari-execute-e2e-specs.js +0 -167
- package/build/test/functional/web/safari-execute-e2e-specs.js.map +0 -1
- package/build/test/functional/web/safari-nativewebtap-e2e-specs.d.ts +0 -2
- package/build/test/functional/web/safari-nativewebtap-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/web/safari-nativewebtap-e2e-specs.js +0 -323
- package/build/test/functional/web/safari-nativewebtap-e2e-specs.js.map +0 -1
- package/build/test/functional/web/safari-ssl-e2e-specs.d.ts +0 -2
- package/build/test/functional/web/safari-ssl-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/web/safari-ssl-e2e-specs.js +0 -131
- package/build/test/functional/web/safari-ssl-e2e-specs.js.map +0 -1
- package/build/test/functional/web/safari-window-e2e-specs.d.ts +0 -2
- package/build/test/functional/web/safari-window-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/web/safari-window-e2e-specs.js +0 -263
- package/build/test/functional/web/safari-window-e2e-specs.js.map +0 -1
- package/build/test/setup.d.ts +0 -19
- package/build/test/setup.d.ts.map +0 -1
- package/build/test/setup.js +0 -117
- package/build/test/setup.js.map +0 -1
- package/build/test/unit/app-infos-cache-specs.d.ts +0 -2
- package/build/test/unit/app-infos-cache-specs.d.ts.map +0 -1
- package/build/test/unit/app-infos-cache-specs.js +0 -101
- package/build/test/unit/app-infos-cache-specs.js.map +0 -1
- package/build/test/unit/app-utils-specs.d.ts +0 -2
- package/build/test/unit/app-utils-specs.d.ts.map +0 -1
- package/build/test/unit/app-utils-specs.js +0 -131
- package/build/test/unit/app-utils-specs.js.map +0 -1
- package/build/test/unit/commands/activeAppInfo-specs.d.ts +0 -2
- package/build/test/unit/commands/activeAppInfo-specs.d.ts.map +0 -1
- package/build/test/unit/commands/activeAppInfo-specs.js +0 -74
- package/build/test/unit/commands/activeAppInfo-specs.js.map +0 -1
- package/build/test/unit/commands/alert-specs.d.ts +0 -2
- package/build/test/unit/commands/alert-specs.d.ts.map +0 -1
- package/build/test/unit/commands/alert-specs.js +0 -111
- package/build/test/unit/commands/alert-specs.js.map +0 -1
- package/build/test/unit/commands/context-specs.d.ts +0 -2
- package/build/test/unit/commands/context-specs.d.ts.map +0 -1
- package/build/test/unit/commands/context-specs.js +0 -119
- package/build/test/unit/commands/context-specs.js.map +0 -1
- package/build/test/unit/commands/deviceinfo-specs.d.ts +0 -2
- package/build/test/unit/commands/deviceinfo-specs.d.ts.map +0 -1
- package/build/test/unit/commands/deviceinfo-specs.js +0 -67
- package/build/test/unit/commands/deviceinfo-specs.js.map +0 -1
- package/build/test/unit/commands/element-specs.d.ts +0 -2
- package/build/test/unit/commands/element-specs.d.ts.map +0 -1
- package/build/test/unit/commands/element-specs.js +0 -419
- package/build/test/unit/commands/element-specs.js.map +0 -1
- package/build/test/unit/commands/file-movement-specs.d.ts +0 -2
- package/build/test/unit/commands/file-movement-specs.d.ts.map +0 -1
- package/build/test/unit/commands/file-movement-specs.js +0 -81
- package/build/test/unit/commands/file-movement-specs.js.map +0 -1
- package/build/test/unit/commands/find-specs.d.ts +0 -2
- package/build/test/unit/commands/find-specs.d.ts.map +0 -1
- package/build/test/unit/commands/find-specs.js +0 -106
- package/build/test/unit/commands/find-specs.js.map +0 -1
- package/build/test/unit/commands/general-specs.d.ts +0 -2
- package/build/test/unit/commands/general-specs.d.ts.map +0 -1
- package/build/test/unit/commands/general-specs.js +0 -154
- package/build/test/unit/commands/general-specs.js.map +0 -1
- package/build/test/unit/commands/gesture-specs.d.ts +0 -2
- package/build/test/unit/commands/gesture-specs.d.ts.map +0 -1
- package/build/test/unit/commands/gesture-specs.js +0 -263
- package/build/test/unit/commands/gesture-specs.js.map +0 -1
- package/build/test/unit/commands/location-specs.d.ts +0 -2
- package/build/test/unit/commands/location-specs.d.ts.map +0 -1
- package/build/test/unit/commands/location-specs.js +0 -141
- package/build/test/unit/commands/location-specs.js.map +0 -1
- package/build/test/unit/commands/pasteboard-specs.d.ts +0 -2
- package/build/test/unit/commands/pasteboard-specs.d.ts.map +0 -1
- package/build/test/unit/commands/pasteboard-specs.js +0 -65
- package/build/test/unit/commands/pasteboard-specs.js.map +0 -1
- package/build/test/unit/commands/proxy-helper-specs.d.ts +0 -2
- package/build/test/unit/commands/proxy-helper-specs.d.ts.map +0 -1
- package/build/test/unit/commands/proxy-helper-specs.js +0 -88
- package/build/test/unit/commands/proxy-helper-specs.js.map +0 -1
- package/build/test/unit/commands/screenshots-specs.d.ts +0 -2
- package/build/test/unit/commands/screenshots-specs.d.ts.map +0 -1
- package/build/test/unit/commands/screenshots-specs.js +0 -71
- package/build/test/unit/commands/screenshots-specs.js.map +0 -1
- package/build/test/unit/commands/session-specs.d.ts +0 -2
- package/build/test/unit/commands/session-specs.d.ts.map +0 -1
- package/build/test/unit/commands/session-specs.js +0 -49
- package/build/test/unit/commands/session-specs.js.map +0 -1
- package/build/test/unit/commands/simctl-specs.d.ts +0 -2
- package/build/test/unit/commands/simctl-specs.d.ts.map +0 -1
- package/build/test/unit/commands/simctl-specs.js +0 -54
- package/build/test/unit/commands/simctl-specs.js.map +0 -1
- package/build/test/unit/commands/source-specs.d.ts +0 -2
- package/build/test/unit/commands/source-specs.d.ts.map +0 -1
- package/build/test/unit/commands/source-specs.js +0 -55
- package/build/test/unit/commands/source-specs.js.map +0 -1
- package/build/test/unit/commands/ssl-certificate-specs.d.ts +0 -2
- package/build/test/unit/commands/ssl-certificate-specs.d.ts.map +0 -1
- package/build/test/unit/commands/ssl-certificate-specs.js +0 -16
- package/build/test/unit/commands/ssl-certificate-specs.js.map +0 -1
- package/build/test/unit/commands/xctest-specs.d.ts +0 -2
- package/build/test/unit/commands/xctest-specs.d.ts.map +0 -1
- package/build/test/unit/commands/xctest-specs.js +0 -116
- package/build/test/unit/commands/xctest-specs.js.map +0 -1
- package/build/test/unit/css-converter-specs.d.ts +0 -2
- package/build/test/unit/css-converter-specs.d.ts.map +0 -1
- package/build/test/unit/css-converter-specs.js +0 -99
- package/build/test/unit/css-converter-specs.js.map +0 -1
- package/build/test/unit/device-connections-factory-specs.d.ts +0 -2
- package/build/test/unit/device-connections-factory-specs.d.ts.map +0 -1
- package/build/test/unit/device-connections-factory-specs.js +0 -88
- package/build/test/unit/device-connections-factory-specs.js.map +0 -1
- package/build/test/unit/driver-specs.d.ts +0 -2
- package/build/test/unit/driver-specs.d.ts.map +0 -1
- package/build/test/unit/driver-specs.js +0 -358
- package/build/test/unit/driver-specs.js.map +0 -1
- package/build/test/unit/helpers.d.ts +0 -2
- package/build/test/unit/helpers.d.ts.map +0 -1
- package/build/test/unit/helpers.js +0 -5
- package/build/test/unit/helpers.js.map +0 -1
- package/build/test/unit/language-specs.d.ts +0 -2
- package/build/test/unit/language-specs.d.ts.map +0 -1
- package/build/test/unit/language-specs.js +0 -159
- package/build/test/unit/language-specs.js.map +0 -1
- package/build/test/unit/logs-helpers-specs.d.ts +0 -2
- package/build/test/unit/logs-helpers-specs.d.ts.map +0 -1
- package/build/test/unit/logs-helpers-specs.js +0 -71
- package/build/test/unit/logs-helpers-specs.js.map +0 -1
- package/build/test/unit/processargs-specs.d.ts +0 -2
- package/build/test/unit/processargs-specs.d.ts.map +0 -1
- package/build/test/unit/processargs-specs.js +0 -87
- package/build/test/unit/processargs-specs.js.map +0 -1
- package/build/test/unit/real-device-management-specs.d.ts +0 -2
- package/build/test/unit/real-device-management-specs.d.ts.map +0 -1
- package/build/test/unit/real-device-management-specs.js +0 -151
- package/build/test/unit/real-device-management-specs.js.map +0 -1
- package/build/test/unit/simulator-management-specs.d.ts +0 -2
- package/build/test/unit/simulator-management-specs.d.ts.map +0 -1
- package/build/test/unit/simulator-management-specs.js +0 -143
- package/build/test/unit/simulator-management-specs.js.map +0 -1
- package/build/test/unit/utils-specs.d.ts +0 -2
- package/build/test/unit/utils-specs.d.ts.map +0 -1
- package/build/test/unit/utils-specs.js +0 -132
- package/build/test/unit/utils-specs.js.map +0 -1
|
@@ -1,263 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
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 () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
40
|
-
const desired_1 = require("../desired");
|
|
41
|
-
const session_1 = require("../helpers/session");
|
|
42
|
-
const helpers_1 = require("./helpers");
|
|
43
|
-
const asyncbox_1 = require("asyncbox");
|
|
44
|
-
const chai_1 = __importStar(require("chai"));
|
|
45
|
-
const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
|
|
46
|
-
chai_1.default.use(chai_as_promised_1.default);
|
|
47
|
-
const GET_ELEM_SYNC = `return document.getElementsByTagName('h1')[0].innerHTML;`;
|
|
48
|
-
const GET_ELEM_ASYNC = `arguments[arguments.length - 1](document.getElementsByTagName('h1')[0].innerHTML);`;
|
|
49
|
-
const FRAMESET_TITLE = 'Frameset guinea pig';
|
|
50
|
-
const IFRAME_FRAMESET_TITLE = 'Iframe guinea pig';
|
|
51
|
-
const SUB_FRAME_1_TITLE = 'Sub frame 1';
|
|
52
|
-
const SUB_FRAME_2_TITLE = 'Sub frame 2';
|
|
53
|
-
const SUB_FRAME_3_TITLE = 'Sub frame 3';
|
|
54
|
-
const DEFAULT_IMPLICIT_TIMEOUT_MS = 1000;
|
|
55
|
-
describe('safari - windows and frames', function () {
|
|
56
|
-
describe('without safariAllowPopups', function () {
|
|
57
|
-
this.timeout(session_1.MOCHA_TIMEOUT);
|
|
58
|
-
let driver;
|
|
59
|
-
before(async function () {
|
|
60
|
-
const caps = (0, desired_1.amendCapabilities)(desired_1.SAFARI_CAPS, {
|
|
61
|
-
'appium:safariInitialUrl': helpers_1.GUINEA_PIG_PAGE,
|
|
62
|
-
'appium:safariAllowPopups': false,
|
|
63
|
-
});
|
|
64
|
-
driver = await (0, session_1.initSession)(caps);
|
|
65
|
-
await driver.setTimeout({ pageLoad: 100 });
|
|
66
|
-
});
|
|
67
|
-
after(async function () {
|
|
68
|
-
await (0, session_1.deleteSession)();
|
|
69
|
-
});
|
|
70
|
-
it('should not be able to open js popup windows', async function () {
|
|
71
|
-
await driver.executeScript("window.open('/test/guinea-pig2.html', null)", []);
|
|
72
|
-
await (0, chai_1.expect)((0, helpers_1.spinTitleEquals)(driver, 'I am another page title', 5)).to.be.rejected;
|
|
73
|
-
});
|
|
74
|
-
});
|
|
75
|
-
describe('with safariAllowPopups', function () {
|
|
76
|
-
this.timeout(session_1.MOCHA_TIMEOUT);
|
|
77
|
-
let driver;
|
|
78
|
-
before(async function () {
|
|
79
|
-
const caps = (0, desired_1.amendCapabilities)(desired_1.SAFARI_CAPS, {
|
|
80
|
-
'appium:safariInitialUrl': helpers_1.GUINEA_PIG_PAGE,
|
|
81
|
-
'appium:safariAllowPopups': true,
|
|
82
|
-
// using JS atoms to open new window will, even if safari does not disable
|
|
83
|
-
// popups, open an alert asking if it is ok.
|
|
84
|
-
'appium:nativeWebTap': true,
|
|
85
|
-
});
|
|
86
|
-
driver = await (0, session_1.initSession)(caps);
|
|
87
|
-
await driver.setTimeout({ pageLoad: 90000 });
|
|
88
|
-
});
|
|
89
|
-
after(async function () {
|
|
90
|
-
await (0, session_1.deleteSession)();
|
|
91
|
-
});
|
|
92
|
-
describe('windows', function () {
|
|
93
|
-
before(async function () {
|
|
94
|
-
await driver.setTimeout({ implicit: DEFAULT_IMPLICIT_TIMEOUT_MS });
|
|
95
|
-
});
|
|
96
|
-
beforeEach(async function () {
|
|
97
|
-
await (0, helpers_1.openPage)(driver, helpers_1.GUINEA_PIG_PAGE);
|
|
98
|
-
});
|
|
99
|
-
it('should be able to open js popup windows', async function () {
|
|
100
|
-
await driver.updateSettings({ autoClickAlertSelector: '**/XCUIElementTypeStaticText[`label == "Allow"`]' });
|
|
101
|
-
await driver.executeScript(`window.open('/test/guinea-pig2.html', '_blank');`, []);
|
|
102
|
-
await (0, chai_1.expect)((0, helpers_1.spinTitleEquals)(driver, 'I am another page title', 5)).to.eventually.not.be
|
|
103
|
-
.rejected;
|
|
104
|
-
await driver.updateSettings({ autoClickAlertSelector: '' });
|
|
105
|
-
await driver.closeWindow();
|
|
106
|
-
});
|
|
107
|
-
it('should throw nosuchwindow if there is not one', async function () {
|
|
108
|
-
await (0, chai_1.expect)(driver
|
|
109
|
-
.switchToWindow('noexistman')).to.be.rejectedWith(/window could not be found/);
|
|
110
|
-
});
|
|
111
|
-
it('should be able to open and close windows', async function () {
|
|
112
|
-
if (process.env.CI && (0, desired_1.isIosVersionBelow)('18.0')) {
|
|
113
|
-
this.skip();
|
|
114
|
-
}
|
|
115
|
-
const el = await driver.$('#blanklink');
|
|
116
|
-
await el.click();
|
|
117
|
-
await (0, helpers_1.spinTitleEquals)(driver, 'I am another page title');
|
|
118
|
-
await driver.closeWindow();
|
|
119
|
-
await (0, helpers_1.spinTitleEquals)(driver, 'I am a page title');
|
|
120
|
-
});
|
|
121
|
-
it('should be able to use window handles', async function () {
|
|
122
|
-
if (process.env.CI && (0, desired_1.isIosVersionBelow)('18.0')) {
|
|
123
|
-
this.skip();
|
|
124
|
-
}
|
|
125
|
-
const initialWindowHandle = await driver.getWindowHandle();
|
|
126
|
-
const el = await driver.$('#blanklink');
|
|
127
|
-
await el.click();
|
|
128
|
-
await (0, helpers_1.spinTitleEquals)(driver, 'I am another page title');
|
|
129
|
-
const newWindowHandle = await driver.getWindowHandle();
|
|
130
|
-
// should still have the first page
|
|
131
|
-
await driver.switchToWindow(initialWindowHandle);
|
|
132
|
-
await (0, helpers_1.spinTitleEquals)(driver, 'I am a page title');
|
|
133
|
-
// should still have the second page
|
|
134
|
-
await driver.switchToWindow(newWindowHandle);
|
|
135
|
-
await (0, helpers_1.spinTitleEquals)(driver, 'I am another page title');
|
|
136
|
-
// close and we should have the original page
|
|
137
|
-
await driver.closeWindow();
|
|
138
|
-
await (0, helpers_1.spinTitleEquals)(driver, 'I am a page title');
|
|
139
|
-
});
|
|
140
|
-
it('should be able to go back and forward', async function () {
|
|
141
|
-
if (process.env.CI && (0, desired_1.isIosVersionBelow)('18.0')) {
|
|
142
|
-
this.skip();
|
|
143
|
-
}
|
|
144
|
-
const link = await driver.$('=i am a link');
|
|
145
|
-
await link.click();
|
|
146
|
-
const waitUntilNotExist = async (locator, timeout = 5000) => {
|
|
147
|
-
await driver.setTimeout({ implicit: 0 });
|
|
148
|
-
try {
|
|
149
|
-
await (0, asyncbox_1.waitForCondition)(async () => lodash_1.default.isEmpty(await driver.$$(locator)), {
|
|
150
|
-
waitMs: timeout,
|
|
151
|
-
intervalMs: 300,
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
catch {
|
|
155
|
-
throw new Error(`Element located by '${locator}' still exists after ${timeout}ms timeout`);
|
|
156
|
-
}
|
|
157
|
-
finally {
|
|
158
|
-
await driver.setTimeout({ implicit: DEFAULT_IMPLICIT_TIMEOUT_MS });
|
|
159
|
-
}
|
|
160
|
-
};
|
|
161
|
-
await waitUntilNotExist('#i_am_a_textbox');
|
|
162
|
-
await driver.back();
|
|
163
|
-
await waitUntilNotExist('#only_on_page_2');
|
|
164
|
-
await driver.forward();
|
|
165
|
-
await waitUntilNotExist('#i_am_a_textbox');
|
|
166
|
-
await driver.back();
|
|
167
|
-
});
|
|
168
|
-
// broken on real devices, see https://github.com/appium/appium/issues/5167
|
|
169
|
-
it('should be able to open js popup windows with safariAllowPopups set to true @skip-real-device', async function () {
|
|
170
|
-
if (process.env.CI && (0, desired_1.isIosVersionBelow)('18.0')) {
|
|
171
|
-
this.skip();
|
|
172
|
-
}
|
|
173
|
-
const link = await driver.$('=i am a new window link');
|
|
174
|
-
await link.click();
|
|
175
|
-
await (0, helpers_1.spinTitleEquals)(driver, 'I am another page title', 30);
|
|
176
|
-
});
|
|
177
|
-
});
|
|
178
|
-
describe('frames', function () {
|
|
179
|
-
beforeEach(async function () {
|
|
180
|
-
await (0, helpers_1.openPage)(driver, helpers_1.GUINEA_PIG_FRAME_PAGE);
|
|
181
|
-
});
|
|
182
|
-
it('should switch to frame by index', async function () {
|
|
183
|
-
await driver.switchToFrame(0);
|
|
184
|
-
await (0, chai_1.expect)(driver.getTitle()).to.eventually.equal(FRAMESET_TITLE);
|
|
185
|
-
const h1 = await driver.$('<h1 />');
|
|
186
|
-
await (0, chai_1.expect)(h1.getText()).to.eventually.equal(SUB_FRAME_1_TITLE);
|
|
187
|
-
});
|
|
188
|
-
it('should switch to frame by element', async function () {
|
|
189
|
-
await driver.switchToFrame(await driver.$('#frame3'));
|
|
190
|
-
await (0, chai_1.expect)(driver.getTitle()).to.eventually.equal(FRAMESET_TITLE);
|
|
191
|
-
const h1 = await driver.$('<h1 />');
|
|
192
|
-
await (0, chai_1.expect)(h1.getText()).to.eventually.equal(SUB_FRAME_3_TITLE);
|
|
193
|
-
});
|
|
194
|
-
it('should switch back to default content from frame', async function () {
|
|
195
|
-
await driver.switchToFrame(await driver.$('[name="first"]'));
|
|
196
|
-
await (0, chai_1.expect)(driver.getTitle()).to.eventually.equal(FRAMESET_TITLE);
|
|
197
|
-
const h1 = await driver.$('<h1 />');
|
|
198
|
-
await (0, chai_1.expect)(h1.getText()).to.eventually.equal(SUB_FRAME_1_TITLE);
|
|
199
|
-
await driver.switchToFrame(null);
|
|
200
|
-
(0, chai_1.expect)(lodash_1.default.isEmpty(await driver.$$('<frameset />'))).to.be.false;
|
|
201
|
-
});
|
|
202
|
-
it('should switch to child frames', async function () {
|
|
203
|
-
await driver.switchToFrame(await driver.$('[name="third"]'));
|
|
204
|
-
await (0, chai_1.expect)(driver.getTitle()).to.eventually.equal(FRAMESET_TITLE);
|
|
205
|
-
await driver.switchToFrame(await driver.$('[name="childframe"]'));
|
|
206
|
-
(0, chai_1.expect)(lodash_1.default.isEmpty(await driver.$$('#only_on_page_2'))).to.be.false;
|
|
207
|
-
});
|
|
208
|
-
it('should execute javascript in frame', async function () {
|
|
209
|
-
await driver.switchToFrame(1);
|
|
210
|
-
await (0, chai_1.expect)(driver.executeScript(GET_ELEM_SYNC, [])).to.eventually.equal(SUB_FRAME_2_TITLE);
|
|
211
|
-
});
|
|
212
|
-
it('should execute async javascript in frame', async function () {
|
|
213
|
-
await driver.setTimeout({ script: 2000 });
|
|
214
|
-
await driver.switchToFrame(0);
|
|
215
|
-
await (0, chai_1.expect)(driver.executeAsync(GET_ELEM_ASYNC)).to.eventually.equal(SUB_FRAME_1_TITLE);
|
|
216
|
-
});
|
|
217
|
-
it('should get source within a frame', async function () {
|
|
218
|
-
await (0, chai_1.expect)(driver.getPageSource()).to.eventually.include(FRAMESET_TITLE);
|
|
219
|
-
await driver.switchToFrame(0);
|
|
220
|
-
const frameSource = await driver.getPageSource();
|
|
221
|
-
(0, chai_1.expect)(frameSource).to.include(SUB_FRAME_1_TITLE);
|
|
222
|
-
(0, chai_1.expect)(frameSource).to.not.include(FRAMESET_TITLE);
|
|
223
|
-
});
|
|
224
|
-
});
|
|
225
|
-
describe('iframes', function () {
|
|
226
|
-
beforeEach(async function () {
|
|
227
|
-
await (0, helpers_1.openPage)(driver, helpers_1.GUINEA_PIG_IFRAME_PAGE);
|
|
228
|
-
});
|
|
229
|
-
it('should switch to iframe by index', async function () {
|
|
230
|
-
await driver.switchToFrame(0);
|
|
231
|
-
await (0, chai_1.expect)(driver.getTitle()).to.eventually.equal(IFRAME_FRAMESET_TITLE);
|
|
232
|
-
const h1 = await driver.$('<h1 />');
|
|
233
|
-
await (0, chai_1.expect)(h1.getText()).to.eventually.equal(SUB_FRAME_1_TITLE);
|
|
234
|
-
});
|
|
235
|
-
it('should switch to iframe by element', async function () {
|
|
236
|
-
await driver.switchToFrame(await driver.$('#id-iframe3'));
|
|
237
|
-
await (0, chai_1.expect)(driver.getTitle()).to.eventually.equal(IFRAME_FRAMESET_TITLE);
|
|
238
|
-
const h1 = await driver.$('<h1 />');
|
|
239
|
-
await (0, chai_1.expect)(h1.getText()).to.eventually.equal(SUB_FRAME_3_TITLE);
|
|
240
|
-
});
|
|
241
|
-
it('should not switch to iframe by element of wrong type', async function () {
|
|
242
|
-
const h1 = await driver.findElement('tag name', 'h1');
|
|
243
|
-
await (0, chai_1.expect)(driver.switchToFrame(h1)).to.be.rejected;
|
|
244
|
-
});
|
|
245
|
-
it('should switch back to default content from iframe', async function () {
|
|
246
|
-
await driver.switchToFrame(await driver.$('[name="iframe1"]'));
|
|
247
|
-
await (0, chai_1.expect)(driver.getTitle()).to.eventually.equal(IFRAME_FRAMESET_TITLE);
|
|
248
|
-
const h1 = await driver.$('<h1 />');
|
|
249
|
-
await (0, chai_1.expect)(h1.getText()).to.eventually.equal(SUB_FRAME_1_TITLE);
|
|
250
|
-
await driver.switchToFrame(null);
|
|
251
|
-
(0, chai_1.expect)(lodash_1.default.size(await driver.$$('<iframe />'))).to.eql(3);
|
|
252
|
-
});
|
|
253
|
-
it('should get source within an iframe', async function () {
|
|
254
|
-
await (0, chai_1.expect)(driver.getPageSource()).to.eventually.include(IFRAME_FRAMESET_TITLE);
|
|
255
|
-
await driver.switchToFrame(await driver.$('[name="iframe1"]'));
|
|
256
|
-
const frameSource = await driver.getPageSource();
|
|
257
|
-
(0, chai_1.expect)(frameSource).to.include(SUB_FRAME_1_TITLE);
|
|
258
|
-
(0, chai_1.expect)(frameSource).to.not.include(IFRAME_FRAMESET_TITLE);
|
|
259
|
-
});
|
|
260
|
-
});
|
|
261
|
-
});
|
|
262
|
-
});
|
|
263
|
-
//# sourceMappingURL=safari-window-e2e-specs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"safari-window-e2e-specs.js","sourceRoot":"","sources":["../../../../test/functional/web/safari-window-e2e-specs.ts"],"names":[],"mappings":"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"}
|
package/build/test/setup.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export declare const UICATALOG_BUNDLE_ID = "com.example.apple-samplecode.UICatalog";
|
|
2
|
-
export declare const TESTAPP_BUNDLE_ID = "org.reactjs.native.example.VodQAReactNative";
|
|
3
|
-
/**
|
|
4
|
-
* Downloads and extracts the UIKitCatalog app from GitHub if it doesn't already exist locally.
|
|
5
|
-
* This function handles concurrent requests by reusing the same download promise.
|
|
6
|
-
*
|
|
7
|
-
* @returns {Promise<string>} The path to the cached app directory
|
|
8
|
-
* @throws {Error} If the download or extraction fails
|
|
9
|
-
*/
|
|
10
|
-
export declare function getUIKitCatalogPath(): Promise<string>;
|
|
11
|
-
/**
|
|
12
|
-
* Downloads and extracts the VodQAReactNative (TestApp) app from GitHub if it doesn't already exist locally.
|
|
13
|
-
* This function handles concurrent requests by reusing the same download promise.
|
|
14
|
-
*
|
|
15
|
-
* @returns {Promise<string>} The path to the cached app directory
|
|
16
|
-
* @throws {Error} If the download or extraction fails
|
|
17
|
-
*/
|
|
18
|
-
export declare function getTestAppPath(): Promise<string>;
|
|
19
|
-
//# sourceMappingURL=setup.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../test/setup.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,mBAAmB,2CAA2C,CAAC;AAI5E,eAAO,MAAM,iBAAiB,gDAAgD,CAAC;AA8F/E;;;;;;GAMG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAM3D;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAMtD"}
|
package/build/test/setup.js
DELETED
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.TESTAPP_BUNDLE_ID = exports.UICATALOG_BUNDLE_ID = void 0;
|
|
7
|
-
exports.getUIKitCatalogPath = getUIKitCatalogPath;
|
|
8
|
-
exports.getTestAppPath = getTestAppPath;
|
|
9
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
10
|
-
const support_1 = require("appium/support");
|
|
11
|
-
const UICATALOG_URL = 'https://github.com/appium/ios-uicatalog/releases/download/v4.0.1/UIKitCatalog-iphonesimulator.zip';
|
|
12
|
-
const UICATALOG_CACHE_PATH = node_path_1.default.resolve(__dirname, 'fixtures', 'UIKitCatalog-iphonesimulator.app');
|
|
13
|
-
exports.UICATALOG_BUNDLE_ID = 'com.example.apple-samplecode.UICatalog';
|
|
14
|
-
const TESTAPP_URL = 'https://github.com/appium/VodQAReactNative/releases/download/v1.2.5/VodQAReactNative-simulator-release.zip';
|
|
15
|
-
const TESTAPP_CACHE_PATH = node_path_1.default.resolve(__dirname, 'fixtures', 'VodQAReactNative.app');
|
|
16
|
-
exports.TESTAPP_BUNDLE_ID = 'org.reactjs.native.example.VodQAReactNative';
|
|
17
|
-
// Cache the download promises to prevent concurrent downloads
|
|
18
|
-
const downloadPromises = new Map();
|
|
19
|
-
/**
|
|
20
|
-
* Finds .app bundles in a directory (similar to findApps in app-utils.js)
|
|
21
|
-
* @param {string} searchPath Directory to search in
|
|
22
|
-
* @returns {Promise<string[]>} Array of relative paths to .app bundles
|
|
23
|
-
*/
|
|
24
|
-
async function findApps(searchPath) {
|
|
25
|
-
const globPattern = '**/*.app';
|
|
26
|
-
const sortedBundleItems = (await support_1.fs.glob(globPattern, {
|
|
27
|
-
cwd: searchPath,
|
|
28
|
-
})).sort((a, b) => a.split(node_path_1.default.sep).length - b.split(node_path_1.default.sep).length);
|
|
29
|
-
return sortedBundleItems;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Downloads and extracts an app from a zip URL if it doesn't already exist locally.
|
|
33
|
-
* This function handles concurrent requests by reusing the same download promise.
|
|
34
|
-
*
|
|
35
|
-
* @param {string} url The URL to download the zip file from
|
|
36
|
-
* @param {string} cachePath The path where the app should be cached
|
|
37
|
-
* @param {string} zipFileName The name to use for the temporary zip file
|
|
38
|
-
* @returns {Promise<string>} The path to the cached app directory
|
|
39
|
-
* @throws {Error} If the download or extraction fails
|
|
40
|
-
*/
|
|
41
|
-
async function downloadAndExtractApp(url, cachePath, zipFileName) {
|
|
42
|
-
// If a download is already in progress, wait for it first
|
|
43
|
-
// This prevents returning a partially downloaded file
|
|
44
|
-
if (downloadPromises.has(cachePath)) {
|
|
45
|
-
return downloadPromises.get(cachePath);
|
|
46
|
-
}
|
|
47
|
-
// Check if the app already exists locally (only after ensuring no download is in progress)
|
|
48
|
-
if (await support_1.fs.exists(cachePath)) {
|
|
49
|
-
return cachePath;
|
|
50
|
-
}
|
|
51
|
-
// Start the download
|
|
52
|
-
const downloadPromise = (async () => {
|
|
53
|
-
try {
|
|
54
|
-
// Double-check if file exists (another process might have downloaded it)
|
|
55
|
-
if (await support_1.fs.exists(cachePath)) {
|
|
56
|
-
return cachePath;
|
|
57
|
-
}
|
|
58
|
-
// Ensure the fixtures directory exists
|
|
59
|
-
const fixturesDir = node_path_1.default.dirname(cachePath);
|
|
60
|
-
await support_1.fs.mkdir(fixturesDir, { recursive: true });
|
|
61
|
-
// Create a temporary directory for the zip file
|
|
62
|
-
const tmpDir = await support_1.tempDir.openDir();
|
|
63
|
-
const zipPath = node_path_1.default.join(tmpDir, zipFileName);
|
|
64
|
-
try {
|
|
65
|
-
// Download the zip file
|
|
66
|
-
await support_1.net.downloadFile(url, zipPath);
|
|
67
|
-
// Extract the zip file
|
|
68
|
-
const extractDir = await support_1.tempDir.openDir();
|
|
69
|
-
try {
|
|
70
|
-
await support_1.zip.extractAllTo(zipPath, extractDir);
|
|
71
|
-
// Find the .app bundle in the extracted directory
|
|
72
|
-
const appPaths = await findApps(extractDir);
|
|
73
|
-
if (appPaths.length === 0) {
|
|
74
|
-
throw new Error('Could not find any .app bundle in the extracted zip file');
|
|
75
|
-
}
|
|
76
|
-
// Use the first (shallowest) .app bundle found
|
|
77
|
-
const extractedAppPath = node_path_1.default.join(extractDir, appPaths[0]);
|
|
78
|
-
await support_1.fs.mv(extractedAppPath, cachePath, { mkdirp: true });
|
|
79
|
-
}
|
|
80
|
-
finally {
|
|
81
|
-
await support_1.fs.rimraf(extractDir);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
finally {
|
|
85
|
-
await support_1.fs.rimraf(tmpDir);
|
|
86
|
-
}
|
|
87
|
-
return cachePath;
|
|
88
|
-
}
|
|
89
|
-
finally {
|
|
90
|
-
// Clear the promise so future calls can download again if needed
|
|
91
|
-
downloadPromises.delete(cachePath);
|
|
92
|
-
}
|
|
93
|
-
})();
|
|
94
|
-
downloadPromises.set(cachePath, downloadPromise);
|
|
95
|
-
return downloadPromise;
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Downloads and extracts the UIKitCatalog app from GitHub if it doesn't already exist locally.
|
|
99
|
-
* This function handles concurrent requests by reusing the same download promise.
|
|
100
|
-
*
|
|
101
|
-
* @returns {Promise<string>} The path to the cached app directory
|
|
102
|
-
* @throws {Error} If the download or extraction fails
|
|
103
|
-
*/
|
|
104
|
-
async function getUIKitCatalogPath() {
|
|
105
|
-
return downloadAndExtractApp(UICATALOG_URL, UICATALOG_CACHE_PATH, 'UIKitCatalog-iphonesimulator.zip');
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Downloads and extracts the VodQAReactNative (TestApp) app from GitHub if it doesn't already exist locally.
|
|
109
|
-
* This function handles concurrent requests by reusing the same download promise.
|
|
110
|
-
*
|
|
111
|
-
* @returns {Promise<string>} The path to the cached app directory
|
|
112
|
-
* @throws {Error} If the download or extraction fails
|
|
113
|
-
*/
|
|
114
|
-
async function getTestAppPath() {
|
|
115
|
-
return downloadAndExtractApp(TESTAPP_URL, TESTAPP_CACHE_PATH, 'VodQAReactNative-simulator-release.zip');
|
|
116
|
-
}
|
|
117
|
-
//# sourceMappingURL=setup.js.map
|
package/build/test/setup.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../test/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app-infos-cache-specs.d.ts","sourceRoot":"","sources":["../../../test/unit/app-infos-cache-specs.ts"],"names":[],"mappings":""}
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
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 () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
const app_infos_cache_1 = require("../../lib/app-infos-cache");
|
|
40
|
-
const support_1 = require("appium/support");
|
|
41
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
42
|
-
const logger_1 = require("../../lib/logger");
|
|
43
|
-
const setup_1 = require("../setup");
|
|
44
|
-
const chai_1 = __importStar(require("chai"));
|
|
45
|
-
const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
|
|
46
|
-
chai_1.default.use(chai_as_promised_1.default);
|
|
47
|
-
describe('AppInfosCache', function () {
|
|
48
|
-
describe('retrives info from different types of apps', function () {
|
|
49
|
-
let ipaPath;
|
|
50
|
-
let appPath;
|
|
51
|
-
/** @type {AppInfosCache} */
|
|
52
|
-
let cache;
|
|
53
|
-
before(async function () {
|
|
54
|
-
// Download the UIKitCatalog app dynamically
|
|
55
|
-
appPath = await (0, setup_1.getUIKitCatalogPath)();
|
|
56
|
-
const tmpDir = await support_1.tempDir.openDir();
|
|
57
|
-
try {
|
|
58
|
-
const destDir = node_path_1.default.join(tmpDir, 'Payload', 'UIKitCatalog-iphonesimulator.app');
|
|
59
|
-
await support_1.fs.mkdirp(destDir);
|
|
60
|
-
await support_1.fs.copyFile(appPath, destDir);
|
|
61
|
-
ipaPath = await support_1.tempDir.path({
|
|
62
|
-
prefix: 'foo',
|
|
63
|
-
suffix: '.ipa',
|
|
64
|
-
});
|
|
65
|
-
await support_1.zip.toArchive(ipaPath, {
|
|
66
|
-
cwd: tmpDir,
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
finally {
|
|
70
|
-
await support_1.fs.rimraf(tmpDir);
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
after(async function () {
|
|
74
|
-
if (ipaPath && await support_1.fs.exists(ipaPath)) {
|
|
75
|
-
await support_1.fs.rimraf(ipaPath);
|
|
76
|
-
ipaPath = undefined;
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
beforeEach(function () {
|
|
80
|
-
cache = new app_infos_cache_1.AppInfosCache(logger_1.log);
|
|
81
|
-
});
|
|
82
|
-
it('should cache ipa', async function () {
|
|
83
|
-
const info = await cache.put(ipaPath);
|
|
84
|
-
(0, chai_1.expect)(info.CFBundleIdentifier).to.eql(setup_1.UICATALOG_BUNDLE_ID);
|
|
85
|
-
const info2 = await cache.put(ipaPath);
|
|
86
|
-
(0, chai_1.expect)(info).to.equal(info2);
|
|
87
|
-
});
|
|
88
|
-
it('should cache app', async function () {
|
|
89
|
-
const info = await cache.put(appPath);
|
|
90
|
-
(0, chai_1.expect)(info.CFBundleIdentifier).to.eql(setup_1.UICATALOG_BUNDLE_ID);
|
|
91
|
-
const info2 = await cache.put(appPath);
|
|
92
|
-
(0, chai_1.expect)(info).to.equal(info2);
|
|
93
|
-
});
|
|
94
|
-
it('should extract cached info', async function () {
|
|
95
|
-
await (0, chai_1.expect)(cache.extractAppPlatforms(appPath)).to.eventually.eql(['iPhoneSimulator']);
|
|
96
|
-
await (0, chai_1.expect)(cache.extractBundleId(ipaPath)).to.eventually.eql(setup_1.UICATALOG_BUNDLE_ID);
|
|
97
|
-
await (0, chai_1.expect)(cache.extractExecutableName(ipaPath)).to.eventually.eql('UIKitCatalog');
|
|
98
|
-
});
|
|
99
|
-
});
|
|
100
|
-
});
|
|
101
|
-
//# sourceMappingURL=app-infos-cache-specs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app-infos-cache-specs.js","sourceRoot":"","sources":["../../../test/unit/app-infos-cache-specs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app-utils-specs.d.ts","sourceRoot":"","sources":["../../../test/unit/app-utils-specs.ts"],"names":[],"mappings":""}
|