appium-remote-debugger 11.5.8 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +51 -0
- package/build/lib/mixins/connect.d.ts +31 -30
- package/build/lib/mixins/connect.d.ts.map +1 -1
- package/build/lib/mixins/connect.js +55 -45
- package/build/lib/mixins/connect.js.map +1 -1
- package/build/lib/mixins/cookies.d.ts +8 -4
- package/build/lib/mixins/cookies.d.ts.map +1 -1
- package/build/lib/mixins/cookies.js +12 -7
- package/build/lib/mixins/cookies.js.map +1 -1
- package/build/lib/mixins/events.d.ts +32 -4
- package/build/lib/mixins/events.d.ts.map +1 -1
- package/build/lib/mixins/events.js +46 -2
- package/build/lib/mixins/events.js.map +1 -1
- package/build/lib/mixins/execute.d.ts +16 -5
- package/build/lib/mixins/execute.d.ts.map +1 -1
- package/build/lib/mixins/execute.js +21 -13
- package/build/lib/mixins/execute.js.map +1 -1
- package/build/lib/mixins/message-handlers.d.ts +25 -16
- package/build/lib/mixins/message-handlers.d.ts.map +1 -1
- package/build/lib/mixins/message-handlers.js +34 -24
- package/build/lib/mixins/message-handlers.js.map +1 -1
- package/build/lib/mixins/misc.d.ts +11 -29
- package/build/lib/mixins/misc.d.ts.map +1 -1
- package/build/lib/mixins/misc.js +16 -51
- package/build/lib/mixins/misc.js.map +1 -1
- package/build/lib/mixins/navigate.d.ts +29 -15
- package/build/lib/mixins/navigate.d.ts.map +1 -1
- package/build/lib/mixins/navigate.js +40 -28
- package/build/lib/mixins/navigate.js.map +1 -1
- package/build/lib/mixins/screenshot.d.ts +10 -2
- package/build/lib/mixins/screenshot.d.ts.map +1 -1
- package/build/lib/mixins/screenshot.js +9 -3
- package/build/lib/mixins/screenshot.js.map +1 -1
- package/build/lib/remote-debugger-real-device.d.ts +7 -19
- package/build/lib/remote-debugger-real-device.d.ts.map +1 -1
- package/build/lib/remote-debugger-real-device.js +12 -20
- package/build/lib/remote-debugger-real-device.js.map +1 -1
- package/build/lib/remote-debugger.d.ts +60 -167
- package/build/lib/remote-debugger.d.ts.map +1 -1
- package/build/lib/remote-debugger.js +62 -119
- package/build/lib/remote-debugger.js.map +1 -1
- package/build/lib/types.d.ts +41 -1
- package/build/lib/types.d.ts.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/lib/mixins/connect.js +65 -51
- package/lib/mixins/cookies.js +13 -7
- package/lib/mixins/events.js +47 -2
- package/lib/mixins/execute.js +22 -13
- package/lib/mixins/message-handlers.js +35 -24
- package/lib/mixins/misc.js +17 -51
- package/lib/mixins/navigate.js +41 -28
- package/lib/mixins/screenshot.js +10 -3
- package/lib/remote-debugger-real-device.ts +28 -0
- package/lib/remote-debugger.ts +251 -0
- package/lib/types.ts +44 -1
- package/package.json +1 -2
- package/scripts/common.js +3 -1
- package/lib/remote-debugger-real-device.js +0 -39
- package/lib/remote-debugger.js +0 -299
package/build/lib/mixins/misc.js
CHANGED
|
@@ -6,10 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.launchSafari = launchSafari;
|
|
7
7
|
exports.startTimeline = startTimeline;
|
|
8
8
|
exports.stopTimeline = stopTimeline;
|
|
9
|
-
exports.startConsole = startConsole;
|
|
10
|
-
exports.stopConsole = stopConsole;
|
|
11
|
-
exports.startNetwork = startNetwork;
|
|
12
|
-
exports.stopNetwork = stopNetwork;
|
|
13
9
|
exports.overrideUserAgent = overrideUserAgent;
|
|
14
10
|
exports.garbageCollect = garbageCollect;
|
|
15
11
|
const utils_1 = require("../utils");
|
|
@@ -27,15 +23,15 @@ async function launchSafari() {
|
|
|
27
23
|
}
|
|
28
24
|
/**
|
|
29
25
|
* @this {RemoteDebugger}
|
|
30
|
-
* @param {
|
|
26
|
+
* @param {import('../types').EventListener} fn
|
|
31
27
|
* @returns {Promise<any>}
|
|
32
28
|
*/
|
|
33
29
|
async function startTimeline(fn) {
|
|
34
30
|
this.log.debug('Starting to record the timeline');
|
|
35
31
|
this.requireRpcClient().on('Timeline.eventRecorded', fn);
|
|
36
32
|
return await this.requireRpcClient().send('Timeline.start', {
|
|
37
|
-
appIdKey: this.
|
|
38
|
-
pageIdKey: this.
|
|
33
|
+
appIdKey: this._appIdKey,
|
|
34
|
+
pageIdKey: this._pageIdKey,
|
|
39
35
|
});
|
|
40
36
|
}
|
|
41
37
|
/**
|
|
@@ -45,46 +41,10 @@ async function startTimeline(fn) {
|
|
|
45
41
|
async function stopTimeline() {
|
|
46
42
|
this.log.debug('Stopping to record the timeline');
|
|
47
43
|
await this.requireRpcClient().send('Timeline.stop', {
|
|
48
|
-
appIdKey: this.
|
|
49
|
-
pageIdKey: this.
|
|
44
|
+
appIdKey: this._appIdKey,
|
|
45
|
+
pageIdKey: this._pageIdKey,
|
|
50
46
|
});
|
|
51
47
|
}
|
|
52
|
-
/**
|
|
53
|
-
* @this {RemoteDebugger}
|
|
54
|
-
* @param {(event: import('@appium/types').StringRecord) => any} listener
|
|
55
|
-
* @returns {void}
|
|
56
|
-
*/
|
|
57
|
-
function startConsole(listener) {
|
|
58
|
-
this.log.debug('Starting to listen for JavaScript console');
|
|
59
|
-
this.addClientEventListener('Console.messageAdded', listener);
|
|
60
|
-
this.addClientEventListener('Console.messageRepeatCountUpdated', listener);
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* @this {RemoteDebugger}
|
|
64
|
-
* @returns {void}
|
|
65
|
-
*/
|
|
66
|
-
function stopConsole() {
|
|
67
|
-
this.log.debug('Stopping to listen for JavaScript console');
|
|
68
|
-
this.removeClientEventListener('Console.messageAdded');
|
|
69
|
-
this.removeClientEventListener('Console.messageRepeatCountUpdated');
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* @this {RemoteDebugger}
|
|
73
|
-
* @param {(event: import('@appium/types').StringRecord) => any} listener
|
|
74
|
-
* @returns {void}
|
|
75
|
-
*/
|
|
76
|
-
function startNetwork(listener) {
|
|
77
|
-
this.log.debug('Starting to listen for network events');
|
|
78
|
-
this.addClientEventListener('NetworkEvent', listener);
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* @this {RemoteDebugger}
|
|
82
|
-
* @returns {void}
|
|
83
|
-
*/
|
|
84
|
-
function stopNetwork() {
|
|
85
|
-
this.log.debug('Stopping to listen for network events');
|
|
86
|
-
this.removeClientEventListener('NetworkEvent');
|
|
87
|
-
}
|
|
88
48
|
// Potentially this does not work for mobile safari
|
|
89
49
|
/**
|
|
90
50
|
* @this {RemoteDebugger}
|
|
@@ -94,8 +54,8 @@ function stopNetwork() {
|
|
|
94
54
|
async function overrideUserAgent(value) {
|
|
95
55
|
this.log.debug('Setting overrideUserAgent');
|
|
96
56
|
return await this.requireRpcClient().send('Page.overrideUserAgent', {
|
|
97
|
-
appIdKey: this.
|
|
98
|
-
pageIdKey: this.
|
|
57
|
+
appIdKey: this._appIdKey,
|
|
58
|
+
pageIdKey: this._pageIdKey,
|
|
99
59
|
value
|
|
100
60
|
});
|
|
101
61
|
}
|
|
@@ -107,7 +67,7 @@ async function overrideUserAgent(value) {
|
|
|
107
67
|
async function garbageCollect(timeoutMs = GARBAGE_COLLECT_TIMEOUT_MS) {
|
|
108
68
|
this.log.debug(`Garbage collecting with ${timeoutMs}ms timeout`);
|
|
109
69
|
try {
|
|
110
|
-
(0, utils_1.checkParams)({ appIdKey: this.
|
|
70
|
+
(0, utils_1.checkParams)({ appIdKey: this._appIdKey, pageIdKey: this._pageIdKey });
|
|
111
71
|
}
|
|
112
72
|
catch (err) {
|
|
113
73
|
this.log.debug(`Unable to collect garbage at this time`);
|
|
@@ -115,8 +75,8 @@ async function garbageCollect(timeoutMs = GARBAGE_COLLECT_TIMEOUT_MS) {
|
|
|
115
75
|
}
|
|
116
76
|
try {
|
|
117
77
|
await bluebird_1.default.resolve(this.requireRpcClient().send('Heap.gc', {
|
|
118
|
-
appIdKey: this.
|
|
119
|
-
pageIdKey: this.
|
|
78
|
+
appIdKey: this._appIdKey,
|
|
79
|
+
pageIdKey: this._pageIdKey,
|
|
120
80
|
})).timeout(timeoutMs);
|
|
121
81
|
this.log.debug(`Garbage collection successful`);
|
|
122
82
|
}
|
|
@@ -130,6 +90,11 @@ async function garbageCollect(timeoutMs = GARBAGE_COLLECT_TIMEOUT_MS) {
|
|
|
130
90
|
}
|
|
131
91
|
}
|
|
132
92
|
/**
|
|
133
|
-
* @typedef {
|
|
93
|
+
* @typedef {Object} HasMiscRelatedProperties
|
|
94
|
+
* @property {string | null | undefined} _appIdKey
|
|
95
|
+
* @property {string | number | null | undefined} _pageIdKey
|
|
96
|
+
*/
|
|
97
|
+
/**
|
|
98
|
+
* @typedef {import('../remote-debugger').RemoteDebugger & HasMiscRelatedProperties} RemoteDebugger
|
|
134
99
|
*/
|
|
135
100
|
//# sourceMappingURL=misc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../../lib/mixins/misc.js"],"names":[],"mappings":";;;;;AAUA,oCAIC;AAOD,sCAOC;AAMD,oCAMC;
|
|
1
|
+
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../../lib/mixins/misc.js"],"names":[],"mappings":"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"}
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
* @this {RemoteDebugger}
|
|
3
3
|
* @returns {void}
|
|
4
4
|
*/
|
|
5
|
-
export function frameDetached(this:
|
|
5
|
+
export function frameDetached(this: RemoteDebugger): void;
|
|
6
6
|
/**
|
|
7
|
-
* @this {RemoteDebugger}
|
|
7
|
+
* @this {RemoteDebugger & HasNavigationRelatedProperties}
|
|
8
8
|
* @returns {void}
|
|
9
9
|
*/
|
|
10
|
-
export function cancelPageLoad(this: import("../remote-debugger").RemoteDebugger): void;
|
|
10
|
+
export function cancelPageLoad(this: import("../remote-debugger").RemoteDebugger & HasNavigationRelatedProperties): void;
|
|
11
11
|
export class cancelPageLoad {
|
|
12
|
-
|
|
12
|
+
_pageLoading: boolean;
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* Return if current readState can be handles as page load completes
|
|
@@ -19,47 +19,61 @@ export class cancelPageLoad {
|
|
|
19
19
|
* @param {string} readyState
|
|
20
20
|
* @returns {boolean}
|
|
21
21
|
*/
|
|
22
|
-
export function isPageLoadingCompleted(this:
|
|
22
|
+
export function isPageLoadingCompleted(this: RemoteDebugger, readyState: string): boolean;
|
|
23
23
|
/**
|
|
24
24
|
* @this {RemoteDebugger}
|
|
25
25
|
* @param {timing.Timer?} [startPageLoadTimer]
|
|
26
26
|
* @returns {Promise<void>}
|
|
27
27
|
*/
|
|
28
|
-
export function waitForDom(this:
|
|
28
|
+
export function waitForDom(this: RemoteDebugger, startPageLoadTimer?: timing.Timer | null | undefined): Promise<void>;
|
|
29
29
|
export class waitForDom {
|
|
30
30
|
/**
|
|
31
31
|
* @this {RemoteDebugger}
|
|
32
32
|
* @param {timing.Timer?} [startPageLoadTimer]
|
|
33
33
|
* @returns {Promise<void>}
|
|
34
34
|
*/
|
|
35
|
-
constructor(this:
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
constructor(this: RemoteDebugger, startPageLoadTimer?: timing.Timer | null | undefined);
|
|
36
|
+
_pageLoading: boolean;
|
|
37
|
+
_pageLoadDelay: B<void>;
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
40
|
* @this {RemoteDebugger}
|
|
41
41
|
* @param {number} [timeoutMs]
|
|
42
42
|
* @returns {Promise<boolean>}
|
|
43
43
|
*/
|
|
44
|
-
export function checkPageIsReady(this:
|
|
44
|
+
export function checkPageIsReady(this: RemoteDebugger, timeoutMs?: number | undefined): Promise<boolean>;
|
|
45
45
|
/**
|
|
46
46
|
* @this {RemoteDebugger}
|
|
47
47
|
* @param {string} url
|
|
48
48
|
* @returns {Promise<void>}
|
|
49
49
|
*/
|
|
50
|
-
export function navToUrl(this:
|
|
50
|
+
export function navToUrl(this: RemoteDebugger, url: string): Promise<void>;
|
|
51
51
|
export class navToUrl {
|
|
52
52
|
/**
|
|
53
53
|
* @this {RemoteDebugger}
|
|
54
54
|
* @param {string} url
|
|
55
55
|
* @returns {Promise<void>}
|
|
56
56
|
*/
|
|
57
|
-
constructor(this:
|
|
57
|
+
constructor(this: RemoteDebugger, url: string);
|
|
58
58
|
_navigatingToPage: boolean;
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
_pageLoadDelay: B<void>;
|
|
60
|
+
_pageLoading: boolean;
|
|
61
61
|
}
|
|
62
|
-
export type
|
|
62
|
+
export type HasNavigationRelatedProperties = {
|
|
63
|
+
_pageLoading: boolean;
|
|
64
|
+
_pageLoadDelay: B<void>;
|
|
65
|
+
_pageLoadStrategy: string | undefined;
|
|
66
|
+
_pageLoadMs: number | undefined;
|
|
67
|
+
_appIdKey: string | null | undefined;
|
|
68
|
+
_pageIdKey: string | number | null | undefined;
|
|
69
|
+
_navigatingToPage: boolean;
|
|
70
|
+
_pageReadyTimeout: number;
|
|
71
|
+
/**
|
|
72
|
+
* :
|
|
73
|
+
*/
|
|
74
|
+
execute: (this: RemoteDebugger, command: string, override?: boolean | undefined) => Promise<any>;
|
|
75
|
+
};
|
|
76
|
+
export type RemoteDebugger = import("../remote-debugger").RemoteDebugger & HasNavigationRelatedProperties;
|
|
63
77
|
import { timing } from '@appium/support';
|
|
64
78
|
import B from 'bluebird';
|
|
65
79
|
//# sourceMappingURL=navigate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigate.d.ts","sourceRoot":"","sources":["../../../lib/mixins/navigate.js"],"names":[],"mappings":"AAsBA;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"navigate.d.ts","sourceRoot":"","sources":["../../../lib/mixins/navigate.js"],"names":[],"mappings":"AAsBA;;;GAGG;AACH,qDAFa,IAAI,CAIhB;AAED;;;GAGG;AACH,oHAFa,IAAI,CAQhB;;IAJC,sBAAyB;;AAM3B;;;;;;;GAOG;AACH,yEAHW,MAAM,GACJ,OAAO,CAenB;AAED;;;;GAIG;AACH,wGAFa,OAAO,CAAC,IAAI,CAAC,CAgEzB;;IAnED;;;;OAIG;IACH,wFA8DC;IArDC,sBAAwB;IACxB,wBAA+D;;AAsDjE;;;;GAIG;AACH,wFAFa,OAAO,CAAC,OAAO,CAAC,CAmB5B;AAED;;;;GAIG;AACH,oDAHW,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAyHzB;;IA5HD;;;;OAIG;IACH,uCAHW,MAAM,EA0HhB;IA7GC,2BAA6B;IAS7B,wBAA+D;IAC/D,sBAAwB;;;kBAuGZ,OAAO;oBACP,CAAC,CAAC,IAAI,CAAC;uBACP,MAAM,GAAG,SAAS;iBAClB,MAAM,GAAG,SAAS;eAClB,MAAM,GAAG,IAAI,GAAG,SAAS;gBACzB,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS;uBAClC,OAAO;uBACP,MAAM;;;;aACN,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,KAAK,OAAO,CAAC,GAAG,CAAC;;6BAIxF,OAAO,oBAAoB,EAAE,cAAc,GAAG,8BAA8B;uBAxS5D,iBAAiB;cAEhC,UAAU"}
|
|
@@ -36,14 +36,14 @@ function frameDetached() {
|
|
|
36
36
|
this.emit(events_1.default.EVENT_FRAMES_DETACHED);
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
|
-
* @this {RemoteDebugger}
|
|
39
|
+
* @this {RemoteDebugger & HasNavigationRelatedProperties}
|
|
40
40
|
* @returns {void}
|
|
41
41
|
*/
|
|
42
42
|
function cancelPageLoad() {
|
|
43
43
|
this.log.debug('Unregistering from page readiness notifications');
|
|
44
|
-
this.
|
|
45
|
-
if (this.
|
|
46
|
-
this.
|
|
44
|
+
this._pageLoading = false;
|
|
45
|
+
if (this._pageLoadDelay) {
|
|
46
|
+
this._pageLoadDelay.cancel();
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
/**
|
|
@@ -55,7 +55,7 @@ function cancelPageLoad() {
|
|
|
55
55
|
* @returns {boolean}
|
|
56
56
|
*/
|
|
57
57
|
function isPageLoadingCompleted(readyState) {
|
|
58
|
-
const _pageLoadStrategy = lodash_1.default.toLower(this.
|
|
58
|
+
const _pageLoadStrategy = lodash_1.default.toLower(this._pageLoadStrategy);
|
|
59
59
|
if (_pageLoadStrategy === PAGE_LOAD_STRATEGY.NONE) {
|
|
60
60
|
return true;
|
|
61
61
|
}
|
|
@@ -73,14 +73,14 @@ function isPageLoadingCompleted(readyState) {
|
|
|
73
73
|
*/
|
|
74
74
|
async function waitForDom(startPageLoadTimer) {
|
|
75
75
|
this.log.debug('Waiting for page readiness');
|
|
76
|
-
const readinessTimeoutMs = this.
|
|
76
|
+
const readinessTimeoutMs = this._pageLoadMs || DEFAULT_PAGE_READINESS_TIMEOUT_MS;
|
|
77
77
|
if (!lodash_1.default.isFunction(startPageLoadTimer?.getDuration)) {
|
|
78
78
|
this.log.debug(`Page load timer not a timer. Creating new timer`);
|
|
79
79
|
startPageLoadTimer = new support_1.timing.Timer().start();
|
|
80
80
|
}
|
|
81
81
|
let isPageLoading = true;
|
|
82
|
-
this.
|
|
83
|
-
this.
|
|
82
|
+
this._pageLoading = true;
|
|
83
|
+
this._pageLoadDelay = support_1.util.cancellableDelay(readinessTimeoutMs);
|
|
84
84
|
/** @type {B<void>} */
|
|
85
85
|
const pageReadinessPromise = bluebird_1.default.resolve((async () => {
|
|
86
86
|
let retry = 0;
|
|
@@ -92,7 +92,7 @@ async function waitForDom(startPageLoadTimer) {
|
|
|
92
92
|
const intervalMs = Math.min(PAGE_READINESS_CHECK_INTERVAL_MS * Math.pow(2, retry), readinessTimeoutMs - elapsedMs);
|
|
93
93
|
await bluebird_1.default.delay(intervalMs);
|
|
94
94
|
// we can get this called in the middle of trying to find a new app
|
|
95
|
-
if (!this.
|
|
95
|
+
if (!this._appIdKey) {
|
|
96
96
|
this.log.debug('Not connected to an application. Ignoring page readiess check');
|
|
97
97
|
return;
|
|
98
98
|
}
|
|
@@ -117,7 +117,7 @@ async function waitForDom(startPageLoadTimer) {
|
|
|
117
117
|
/** @type {B<void>} */
|
|
118
118
|
const cancellationPromise = bluebird_1.default.resolve((async () => {
|
|
119
119
|
try {
|
|
120
|
-
await this.
|
|
120
|
+
await this._pageLoadDelay;
|
|
121
121
|
}
|
|
122
122
|
catch (ign) { }
|
|
123
123
|
})());
|
|
@@ -126,8 +126,8 @@ async function waitForDom(startPageLoadTimer) {
|
|
|
126
126
|
}
|
|
127
127
|
finally {
|
|
128
128
|
isPageLoading = false;
|
|
129
|
-
this.
|
|
130
|
-
this.
|
|
129
|
+
this._pageLoading = false;
|
|
130
|
+
this._pageLoadDelay = bluebird_1.default.resolve();
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
/**
|
|
@@ -136,20 +136,20 @@ async function waitForDom(startPageLoadTimer) {
|
|
|
136
136
|
* @returns {Promise<boolean>}
|
|
137
137
|
*/
|
|
138
138
|
async function checkPageIsReady(timeoutMs) {
|
|
139
|
-
(0, utils_1.checkParams)({ appIdKey: this.
|
|
139
|
+
(0, utils_1.checkParams)({ appIdKey: this._appIdKey });
|
|
140
140
|
const readyCmd = 'document.readyState;';
|
|
141
141
|
try {
|
|
142
142
|
const readyState = await bluebird_1.default.resolve(this.execute(readyCmd, true))
|
|
143
|
-
.timeout(timeoutMs ?? this.
|
|
143
|
+
.timeout(timeoutMs ?? this._pageReadyTimeout);
|
|
144
144
|
this.log.debug(`Document readyState is '${readyState}'. ` +
|
|
145
|
-
`The pageLoadStrategy is '${this.
|
|
145
|
+
`The pageLoadStrategy is '${this._pageLoadStrategy || PAGE_LOAD_STRATEGY.NORMAL}'`);
|
|
146
146
|
return this.isPageLoadingCompleted(readyState);
|
|
147
147
|
}
|
|
148
148
|
catch (err) {
|
|
149
149
|
if (!(err instanceof bluebird_1.default.TimeoutError)) {
|
|
150
150
|
throw err;
|
|
151
151
|
}
|
|
152
|
-
this.log.debug(`Page readiness check timed out after ${this.
|
|
152
|
+
this.log.debug(`Page readiness check timed out after ${this._pageReadyTimeout}ms`);
|
|
153
153
|
return false;
|
|
154
154
|
}
|
|
155
155
|
}
|
|
@@ -159,7 +159,7 @@ async function checkPageIsReady(timeoutMs) {
|
|
|
159
159
|
* @returns {Promise<void>}
|
|
160
160
|
*/
|
|
161
161
|
async function navToUrl(url) {
|
|
162
|
-
(0, utils_1.checkParams)({ appIdKey: this.
|
|
162
|
+
(0, utils_1.checkParams)({ appIdKey: this._appIdKey, pageIdKey: this._pageIdKey });
|
|
163
163
|
const rpcClient = this.requireRpcClient();
|
|
164
164
|
try {
|
|
165
165
|
new URL(url);
|
|
@@ -169,15 +169,15 @@ async function navToUrl(url) {
|
|
|
169
169
|
}
|
|
170
170
|
this._navigatingToPage = true;
|
|
171
171
|
this.log.debug(`Navigating to new URL: '${url}'`);
|
|
172
|
-
const readinessTimeoutMs = this.
|
|
172
|
+
const readinessTimeoutMs = this._pageLoadMs || DEFAULT_PAGE_READINESS_TIMEOUT_MS;
|
|
173
173
|
/** @type {(() => void)|undefined} */
|
|
174
174
|
let onPageLoaded;
|
|
175
175
|
/** @type {(() => void)|undefined} */
|
|
176
176
|
let onTargetProvisioned;
|
|
177
177
|
/** @type {NodeJS.Timeout|undefined|null} */
|
|
178
178
|
let onPageLoadedTimeout;
|
|
179
|
-
this.
|
|
180
|
-
this.
|
|
179
|
+
this._pageLoadDelay = support_1.util.cancellableDelay(readinessTimeoutMs);
|
|
180
|
+
this._pageLoading = true;
|
|
181
181
|
let isPageLoading = true;
|
|
182
182
|
let didPageFinishLoad = false;
|
|
183
183
|
const start = new support_1.timing.Timer().start();
|
|
@@ -228,14 +228,14 @@ async function navToUrl(url) {
|
|
|
228
228
|
rpcClient.targetSubscriptions.once(rpc_1.rpcConstants.ON_TARGET_PROVISIONED_EVENT, onTargetProvisioned);
|
|
229
229
|
rpcClient.send('Page.navigate', {
|
|
230
230
|
url,
|
|
231
|
-
appIdKey: this.
|
|
232
|
-
pageIdKey: this.
|
|
231
|
+
appIdKey: this._appIdKey,
|
|
232
|
+
pageIdKey: this._pageIdKey,
|
|
233
233
|
});
|
|
234
234
|
});
|
|
235
235
|
/** @type {B<void>} */
|
|
236
236
|
const cancellationPromise = bluebird_1.default.resolve((async () => {
|
|
237
237
|
try {
|
|
238
|
-
await this.
|
|
238
|
+
await this._pageLoadDelay;
|
|
239
239
|
}
|
|
240
240
|
catch (ign) { }
|
|
241
241
|
})());
|
|
@@ -243,10 +243,10 @@ async function navToUrl(url) {
|
|
|
243
243
|
await bluebird_1.default.any([cancellationPromise, pageReadinessPromise]);
|
|
244
244
|
}
|
|
245
245
|
finally {
|
|
246
|
-
this.
|
|
246
|
+
this._pageLoading = false;
|
|
247
247
|
isPageLoading = false;
|
|
248
248
|
this._navigatingToPage = false;
|
|
249
|
-
this.
|
|
249
|
+
this._pageLoadDelay = bluebird_1.default.resolve();
|
|
250
250
|
if (onPageLoadedTimeout && pageReadinessPromise.isFulfilled()) {
|
|
251
251
|
clearTimeout(onPageLoadedTimeout);
|
|
252
252
|
onPageLoadedTimeout = null;
|
|
@@ -262,8 +262,8 @@ async function navToUrl(url) {
|
|
|
262
262
|
// get notified when navigating to a local page
|
|
263
263
|
try {
|
|
264
264
|
await bluebird_1.default.resolve(rpcClient.send('Console.enable', {
|
|
265
|
-
appIdKey: this.
|
|
266
|
-
pageIdKey: this.
|
|
265
|
+
appIdKey: this._appIdKey,
|
|
266
|
+
pageIdKey: this._pageIdKey,
|
|
267
267
|
}, didPageFinishLoad)).timeout(CONSOLE_ENABLEMENT_TIMEOUT_MS);
|
|
268
268
|
}
|
|
269
269
|
catch (err) {
|
|
@@ -275,6 +275,18 @@ async function navToUrl(url) {
|
|
|
275
275
|
}
|
|
276
276
|
}
|
|
277
277
|
/**
|
|
278
|
-
* @typedef {
|
|
278
|
+
* @typedef {Object} HasNavigationRelatedProperties
|
|
279
|
+
* @property {boolean} _pageLoading
|
|
280
|
+
* @property {B<void>} _pageLoadDelay
|
|
281
|
+
* @property {string | undefined} _pageLoadStrategy
|
|
282
|
+
* @property {number | undefined} _pageLoadMs
|
|
283
|
+
* @property {string | null | undefined} _appIdKey
|
|
284
|
+
* @property {string | number | null | undefined} _pageIdKey
|
|
285
|
+
* @property {boolean} _navigatingToPage
|
|
286
|
+
* @property {number} _pageReadyTimeout
|
|
287
|
+
* @property {(this: RemoteDebugger, command: string, override?: boolean | undefined) => Promise<any>} execute:
|
|
288
|
+
*/
|
|
289
|
+
/**
|
|
290
|
+
* @typedef {import('../remote-debugger').RemoteDebugger & HasNavigationRelatedProperties} RemoteDebugger
|
|
279
291
|
*/
|
|
280
292
|
//# sourceMappingURL=navigate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigate.js","sourceRoot":"","sources":["../../../lib/mixins/navigate.js"],"names":[],"mappings":";;;;;AA0BA,sCAEC;AAMD,wCAMC;AAUD,wDAaC;AAOD,gCA8DC;AAOD,4CAiBC;AAOD,4BAuHC;AA1RD,oCAAuC;AACvC,sDAA8B;AAC9B,6CAA+C;AAC/C,oDAAuB;AACvB,wDAAyB;AACzB,qDAA6C;AAC7C,gCAAsC;AAEtC,MAAM,iCAAiC,GAAG,EAAE,GAAG,IAAI,CAAC;AACpD,MAAM,gCAAgC,GAAG,EAAE,CAAC;AAC5C,MAAM,uCAAuC,GAAG,IAAI,CAAC;AACrD,MAAM,6BAA6B,GAAG,EAAE,GAAG,IAAI,CAAC;AAEhD;;GAEG;AACH,MAAM,kBAAkB,GAAG;IACzB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF;;;GAGG;AACH,SAAgB,aAAa;IAC3B,IAAI,CAAC,IAAI,CAAC,gBAAM,CAAC,qBAAqB,CAAC,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc;IAC5B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAClE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"navigate.js","sourceRoot":"","sources":["../../../lib/mixins/navigate.js"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,18 @@
|
|
|
5
5
|
* coordinate system else capture the rect in the given coordinateSystem
|
|
6
6
|
* @returns {Promise<string>} a base64 encoded string of the screenshot
|
|
7
7
|
*/
|
|
8
|
-
export function captureScreenshot(this:
|
|
8
|
+
export function captureScreenshot(this: RemoteDebugger, opts?: ScreenshotCaptureOptions | undefined): Promise<string>;
|
|
9
9
|
export type ScreenshotCaptureOptions = {
|
|
10
10
|
rect?: import("@appium/types").Rect | null | undefined;
|
|
11
11
|
coordinateSystem?: "Viewport" | "Page" | undefined;
|
|
12
12
|
};
|
|
13
|
-
export type
|
|
13
|
+
export type HasScreenshotRelatedProperties = {
|
|
14
|
+
_appIdKey: string | null | undefined;
|
|
15
|
+
_pageIdKey: string | number | null | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* :
|
|
18
|
+
*/
|
|
19
|
+
executeAtom: (this: RemoteDebugger, atom: string, args?: any[], frames?: string[]) => Promise<any>;
|
|
20
|
+
};
|
|
21
|
+
export type RemoteDebugger = import("../remote-debugger").RemoteDebugger & HasScreenshotRelatedProperties;
|
|
14
22
|
//# sourceMappingURL=screenshot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../../lib/mixins/screenshot.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,
|
|
1
|
+
{"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../../lib/mixins/screenshot.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,sGAFa,OAAO,CAAC,MAAM,CAAC,CAsB3B;;;;;;eAUa,MAAM,GAAG,IAAI,GAAG,SAAS;gBACzB,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS;;;;iBAClC,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC;;6BAItF,OAAO,oBAAoB,EAAE,cAAc,GAAG,8BAA8B"}
|
|
@@ -14,8 +14,8 @@ async function captureScreenshot(opts = {}) {
|
|
|
14
14
|
const arect = rect ?? /** @type {import('@appium/types').Rect} */ (await this.executeAtom('execute_script', ['return {x: 0, y: 0, width: window.innerWidth, height: window.innerHeight}', []]));
|
|
15
15
|
const response = await this.requireRpcClient().send('Page.snapshotRect', {
|
|
16
16
|
...arect,
|
|
17
|
-
appIdKey: this.
|
|
18
|
-
pageIdKey: this.
|
|
17
|
+
appIdKey: this._appIdKey,
|
|
18
|
+
pageIdKey: this._pageIdKey,
|
|
19
19
|
coordinateSystem,
|
|
20
20
|
});
|
|
21
21
|
if (response.error) {
|
|
@@ -29,6 +29,12 @@ async function captureScreenshot(opts = {}) {
|
|
|
29
29
|
* @property {"Viewport" | "Page"} [coordinateSystem="Viewport"]
|
|
30
30
|
*/
|
|
31
31
|
/**
|
|
32
|
-
* @typedef {
|
|
32
|
+
* @typedef {Object} HasScreenshotRelatedProperties
|
|
33
|
+
* @property {string | null | undefined} _appIdKey
|
|
34
|
+
* @property {string | number | null | undefined} _pageIdKey
|
|
35
|
+
* @property {(this: RemoteDebugger, atom: string, args?: any[], frames?: string[]) => Promise<any>} executeAtom:
|
|
36
|
+
*/
|
|
37
|
+
/**
|
|
38
|
+
* @typedef {import('../remote-debugger').RemoteDebugger & HasScreenshotRelatedProperties} RemoteDebugger
|
|
33
39
|
*/
|
|
34
40
|
//# sourceMappingURL=screenshot.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../../lib/mixins/screenshot.js"],"names":[],"mappings":";;AAOA,8CAoBC;AA3BD;;;;;;GAMG;AACI,KAAK,UAAU,iBAAiB,CAAC,IAAI,GAAG,EAAE;IAC/C,MAAM,EAAC,IAAI,GAAG,IAAI,EAAE,gBAAgB,GAAG,UAAU,EAAC,GAAG,IAAI,CAAC;IAC1D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAEvC,MAAM,KAAK,GAAG,IAAI,IAAI,2CAA2C,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CACvF,gBAAgB,EAChB,CAAC,2EAA2E,EAAE,EAAE,CAAC,CAClF,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE;QACvE,GAAG,KAAK;QACR,QAAQ,EAAE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../../lib/mixins/screenshot.js"],"names":[],"mappings":";;AAOA,8CAoBC;AA3BD;;;;;;GAMG;AACI,KAAK,UAAU,iBAAiB,CAAC,IAAI,GAAG,EAAE;IAC/C,MAAM,EAAC,IAAI,GAAG,IAAI,EAAE,gBAAgB,GAAG,UAAU,EAAC,GAAG,IAAI,CAAC;IAC1D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAEvC,MAAM,KAAK,GAAG,IAAI,IAAI,2CAA2C,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CACvF,gBAAgB,EAChB,CAAC,2EAA2E,EAAE,EAAE,CAAC,CAClF,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE;QACvE,GAAG,KAAK;QACR,QAAQ,EAAE,IAAI,CAAC,SAAS;QACxB,SAAS,EAAE,IAAI,CAAC,UAAU;QAC1B,gBAAgB;KACjB,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;AAClE,CAAC;AAED;;;;GAIG;AAEH;;;;;GAKG;AAEH;;GAEG"}
|
|
@@ -1,21 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @typedef {Object} RemoteDebuggerRealDeviceOptions
|
|
3
|
-
* @property {string} udid Real device UDID
|
|
4
|
-
*/
|
|
5
|
-
export default class RemoteDebuggerRealDevice extends RemoteDebugger {
|
|
6
|
-
/**
|
|
7
|
-
* @param {RemoteDebuggerRealDeviceOptions & import('./remote-debugger').RemoteDebuggerOptions} opts
|
|
8
|
-
*/
|
|
9
|
-
constructor(opts: RemoteDebuggerRealDeviceOptions & import("./remote-debugger").RemoteDebuggerOptions);
|
|
10
|
-
/** @type {string} */
|
|
11
|
-
udid: string;
|
|
12
|
-
_skippedApps: string[];
|
|
13
|
-
}
|
|
14
|
-
export type RemoteDebuggerRealDeviceOptions = {
|
|
15
|
-
/**
|
|
16
|
-
* Real device UDID
|
|
17
|
-
*/
|
|
18
|
-
udid: string;
|
|
19
|
-
};
|
|
20
1
|
import RemoteDebugger from './remote-debugger';
|
|
2
|
+
import type { RemoteDebuggerRealDeviceOptions } from './types';
|
|
3
|
+
export declare class RemoteDebuggerRealDevice extends RemoteDebugger {
|
|
4
|
+
private readonly _udid;
|
|
5
|
+
constructor(opts: RemoteDebuggerRealDeviceOptions);
|
|
6
|
+
initRpcClient(): void;
|
|
7
|
+
}
|
|
8
|
+
export default RemoteDebuggerRealDevice;
|
|
21
9
|
//# sourceMappingURL=remote-debugger-real-device.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-debugger-real-device.d.ts","sourceRoot":"","sources":["../../lib/remote-debugger-real-device.
|
|
1
|
+
{"version":3,"file":"remote-debugger-real-device.d.ts","sourceRoot":"","sources":["../../lib/remote-debugger-real-device.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAE/C,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAC;AAE/D,qBAAa,wBAAyB,SAAQ,cAAc;IAC1D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAElB,IAAI,EAAE,+BAA+B;IAMzC,aAAa,IAAK,IAAI;CAYhC;AAED,eAAe,wBAAwB,CAAC"}
|
|
@@ -3,36 +3,28 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.RemoteDebuggerRealDevice = void 0;
|
|
6
7
|
const remote_debugger_1 = __importDefault(require("./remote-debugger"));
|
|
7
8
|
const rpc_1 = require("./rpc");
|
|
8
|
-
/**
|
|
9
|
-
* @typedef {Object} RemoteDebuggerRealDeviceOptions
|
|
10
|
-
* @property {string} udid Real device UDID
|
|
11
|
-
*/
|
|
12
9
|
class RemoteDebuggerRealDevice extends remote_debugger_1.default {
|
|
13
|
-
/**
|
|
14
|
-
* @param {RemoteDebuggerRealDeviceOptions & import('./remote-debugger').RemoteDebuggerOptions} opts
|
|
15
|
-
*/
|
|
16
10
|
constructor(opts) {
|
|
17
11
|
super(opts);
|
|
18
|
-
this.
|
|
12
|
+
this._udid = opts.udid;
|
|
19
13
|
this._skippedApps = ['lockdownd'];
|
|
20
14
|
}
|
|
21
|
-
/**
|
|
22
|
-
* @override
|
|
23
|
-
*/
|
|
24
15
|
initRpcClient() {
|
|
25
|
-
this.
|
|
26
|
-
bundleId: this.
|
|
27
|
-
platformVersion: this.
|
|
28
|
-
isSafari: this.
|
|
29
|
-
logAllCommunication: this.
|
|
30
|
-
logAllCommunicationHexDump: this.
|
|
31
|
-
socketChunkSize: this.
|
|
32
|
-
webInspectorMaxFrameLength: this.
|
|
33
|
-
udid: this.
|
|
16
|
+
this._rpcClient = new rpc_1.RpcClientRealDevice({
|
|
17
|
+
bundleId: this._bundleId,
|
|
18
|
+
platformVersion: this._platformVersion,
|
|
19
|
+
isSafari: this._isSafari,
|
|
20
|
+
logAllCommunication: this._logAllCommunication,
|
|
21
|
+
logAllCommunicationHexDump: this._logAllCommunicationHexDump,
|
|
22
|
+
socketChunkSize: this._socketChunkSize,
|
|
23
|
+
webInspectorMaxFrameLength: this._webInspectorMaxFrameLength,
|
|
24
|
+
udid: this._udid,
|
|
34
25
|
});
|
|
35
26
|
}
|
|
36
27
|
}
|
|
28
|
+
exports.RemoteDebuggerRealDevice = RemoteDebuggerRealDevice;
|
|
37
29
|
exports.default = RemoteDebuggerRealDevice;
|
|
38
30
|
//# sourceMappingURL=remote-debugger-real-device.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-debugger-real-device.js","sourceRoot":"","sources":["../../lib/remote-debugger-real-device.
|
|
1
|
+
{"version":3,"file":"remote-debugger-real-device.js","sourceRoot":"","sources":["../../lib/remote-debugger-real-device.ts"],"names":[],"mappings":";;;;;;AAAA,wEAA+C;AAC/C,+BAA4C;AAG5C,MAAa,wBAAyB,SAAQ,yBAAc;IAG1D,YAAa,IAAqC;QAChD,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAEQ,aAAa;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,yBAAmB,CAAC;YACxC,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,mBAAmB,EAAE,IAAI,CAAC,oBAAoB;YAC9C,0BAA0B,EAAE,IAAI,CAAC,2BAA2B;YAC5D,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,0BAA0B,EAAE,IAAI,CAAC,2BAA2B;YAC5D,IAAI,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC,CAAC;IACL,CAAC;CACF;AArBD,4DAqBC;AAED,kBAAe,wBAAwB,CAAC"}
|