appium-remote-debugger 15.2.9 → 15.2.11
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/mixins/connect.d.ts +47 -31
- package/build/lib/mixins/connect.d.ts.map +1 -1
- package/build/lib/mixins/connect.js +105 -86
- package/build/lib/mixins/connect.js.map +1 -1
- package/build/lib/mixins/cookies.d.ts +17 -13
- package/build/lib/mixins/cookies.d.ts.map +1 -1
- package/build/lib/mixins/cookies.js +12 -12
- package/build/lib/mixins/cookies.js.map +1 -1
- package/build/lib/mixins/events.d.ts +32 -31
- package/build/lib/mixins/events.d.ts.map +1 -1
- package/build/lib/mixins/events.js +21 -24
- package/build/lib/mixins/events.js.map +1 -1
- package/build/lib/mixins/execute.d.ts +35 -24
- package/build/lib/mixins/execute.d.ts.map +1 -1
- package/build/lib/mixins/execute.js +34 -26
- package/build/lib/mixins/execute.js.map +1 -1
- package/build/lib/mixins/message-handlers.d.ts +63 -43
- package/build/lib/mixins/message-handlers.d.ts.map +1 -1
- package/build/lib/mixins/message-handlers.js +74 -57
- package/build/lib/mixins/message-handlers.js.map +1 -1
- package/build/lib/mixins/misc.d.ts +34 -24
- package/build/lib/mixins/misc.d.ts.map +1 -1
- package/build/lib/mixins/misc.js +27 -21
- package/build/lib/mixins/misc.js.map +1 -1
- package/build/lib/mixins/navigate.d.ts +39 -27
- package/build/lib/mixins/navigate.d.ts.map +1 -1
- package/build/lib/mixins/navigate.js +31 -31
- package/build/lib/mixins/navigate.js.map +1 -1
- package/build/lib/mixins/screenshot.d.ts +21 -11
- package/build/lib/mixins/screenshot.d.ts.map +1 -1
- package/build/lib/mixins/screenshot.js +10 -14
- package/build/lib/mixins/screenshot.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/lib/mixins/{connect.js → connect.ts} +153 -113
- package/lib/mixins/cookies.ts +61 -0
- package/lib/mixins/events.ts +91 -0
- package/lib/mixins/{execute.js → execute.ts} +59 -33
- package/lib/mixins/message-handlers.ts +272 -0
- package/lib/mixins/misc.ts +136 -0
- package/lib/mixins/{navigate.js → navigate.ts} +44 -41
- package/lib/mixins/screenshot.ts +52 -0
- package/package.json +1 -1
- package/lib/mixins/cookies.js +0 -53
- package/lib/mixins/events.js +0 -81
- package/lib/mixins/message-handlers.js +0 -224
- package/lib/mixins/misc.js +0 -121
- package/lib/mixins/screenshot.js +0 -43
|
@@ -60,15 +60,15 @@ const PAGE_LOAD_STRATEGY = Object.freeze({
|
|
|
60
60
|
NORMAL: 'normal'
|
|
61
61
|
});
|
|
62
62
|
/**
|
|
63
|
-
*
|
|
64
|
-
*
|
|
63
|
+
* Emits a frame detached event when a frame is detached from the page.
|
|
64
|
+
* This is typically called by the RPC client when receiving a Page.frameDetached event.
|
|
65
65
|
*/
|
|
66
66
|
function frameDetached() {
|
|
67
67
|
this.emit(events_1.events.EVENT_FRAMES_DETACHED);
|
|
68
68
|
}
|
|
69
69
|
/**
|
|
70
|
-
*
|
|
71
|
-
*
|
|
70
|
+
* Cancels the current page load operation by unregistering from page readiness
|
|
71
|
+
* notifications and canceling any pending page load delay.
|
|
72
72
|
*/
|
|
73
73
|
function cancelPageLoad() {
|
|
74
74
|
this.log.debug('Unregistering from page readiness notifications');
|
|
@@ -76,12 +76,14 @@ function cancelPageLoad() {
|
|
|
76
76
|
(0, property_accessors_1.getPageLoadDelay)(this)?.cancel();
|
|
77
77
|
}
|
|
78
78
|
/**
|
|
79
|
-
*
|
|
80
|
-
*
|
|
79
|
+
* Determines if the current readyState indicates that page loading is completed
|
|
80
|
+
* based on the configured page load strategy.
|
|
81
81
|
*
|
|
82
|
-
* @
|
|
83
|
-
* @
|
|
84
|
-
*
|
|
82
|
+
* @param readyState - The document readyState value ('loading', 'interactive', or 'complete').
|
|
83
|
+
* @returns True if the page load is considered complete for the current strategy:
|
|
84
|
+
* - 'eager': returns true when readyState is not 'loading'
|
|
85
|
+
* - 'none': always returns true
|
|
86
|
+
* - 'normal' (default): returns true only when readyState is 'complete'
|
|
85
87
|
*/
|
|
86
88
|
function isPageLoadingCompleted(readyState) {
|
|
87
89
|
const pageLoadStrategy = lodash_1.default.toLower((0, property_accessors_1.getPageLoadStartegy)(this));
|
|
@@ -97,9 +99,12 @@ function isPageLoadingCompleted(readyState) {
|
|
|
97
99
|
}
|
|
98
100
|
}
|
|
99
101
|
/**
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
*
|
|
102
|
+
* Waits for the DOM to be ready by periodically checking the page readiness state.
|
|
103
|
+
* Uses exponential backoff for retry intervals and respects the configured page load
|
|
104
|
+
* strategy and timeout settings.
|
|
105
|
+
*
|
|
106
|
+
* @param startPageLoadTimer - Optional timer instance to use for tracking elapsed time.
|
|
107
|
+
* If not provided, a new timer will be created and started.
|
|
103
108
|
*/
|
|
104
109
|
async function waitForDom(startPageLoadTimer) {
|
|
105
110
|
const readinessTimeoutMs = this.pageLoadMs;
|
|
@@ -108,7 +113,6 @@ async function waitForDom(startPageLoadTimer) {
|
|
|
108
113
|
let isPageLoading = true;
|
|
109
114
|
(0, property_accessors_1.setPageLoading)(this, true);
|
|
110
115
|
(0, property_accessors_1.setPageLoadDelay)(this, support_1.util.cancellableDelay(readinessTimeoutMs));
|
|
111
|
-
/** @type {B<void>} */
|
|
112
116
|
const pageReadinessPromise = bluebird_1.default.resolve((async () => {
|
|
113
117
|
let retry = 0;
|
|
114
118
|
while (isPageLoading) {
|
|
@@ -141,7 +145,6 @@ async function waitForDom(startPageLoadTimer) {
|
|
|
141
145
|
retry++;
|
|
142
146
|
}
|
|
143
147
|
})());
|
|
144
|
-
/** @type {B<void>} */
|
|
145
148
|
const cancellationPromise = bluebird_1.default.resolve((async () => {
|
|
146
149
|
try {
|
|
147
150
|
await (0, property_accessors_1.getPageLoadDelay)(this);
|
|
@@ -158,9 +161,13 @@ async function waitForDom(startPageLoadTimer) {
|
|
|
158
161
|
}
|
|
159
162
|
}
|
|
160
163
|
/**
|
|
161
|
-
*
|
|
162
|
-
*
|
|
163
|
-
*
|
|
164
|
+
* Checks if the current page is ready by executing a JavaScript command to
|
|
165
|
+
* retrieve the document readyState and evaluating it against the page load strategy.
|
|
166
|
+
*
|
|
167
|
+
* @param timeoutMs - Optional timeout in milliseconds for the readyState check.
|
|
168
|
+
* If not provided, uses the configured page ready timeout.
|
|
169
|
+
* @returns A promise that resolves to true if the page is ready according to
|
|
170
|
+
* the page load strategy, false otherwise or if the check times out.
|
|
164
171
|
*/
|
|
165
172
|
async function checkPageIsReady(timeoutMs) {
|
|
166
173
|
const readyCmd = 'document.readyState;';
|
|
@@ -185,9 +192,12 @@ async function checkPageIsReady(timeoutMs) {
|
|
|
185
192
|
}
|
|
186
193
|
}
|
|
187
194
|
/**
|
|
188
|
-
*
|
|
189
|
-
*
|
|
190
|
-
*
|
|
195
|
+
* Navigates to a new URL and waits for the page to be ready.
|
|
196
|
+
* Validates the URL format, waits for the page to be available, sends the navigation
|
|
197
|
+
* command, and monitors for the Page.loadEventFired event or timeout.
|
|
198
|
+
*
|
|
199
|
+
* @param url - The URL to navigate to. Must be a valid URL format.
|
|
200
|
+
* @throws TypeError if the provided URL is not a valid URL format.
|
|
191
201
|
*/
|
|
192
202
|
async function navToUrl(url) {
|
|
193
203
|
const { appIdKey, pageIdKey } = (0, utils_1.checkParams)({
|
|
@@ -203,20 +213,14 @@ async function navToUrl(url) {
|
|
|
203
213
|
}
|
|
204
214
|
this.log.debug(`Navigating to new URL: '${url}'`);
|
|
205
215
|
(0, property_accessors_1.setNavigatingToPage)(this, true);
|
|
206
|
-
await rpcClient.waitForPage(
|
|
207
|
-
/** @type {import('../types').AppIdKey} */ (appIdKey),
|
|
208
|
-
/** @type {import('../types').PageIdKey} */ (pageIdKey));
|
|
216
|
+
await rpcClient.waitForPage(appIdKey, pageIdKey);
|
|
209
217
|
const readinessTimeoutMs = this.pageLoadMs;
|
|
210
|
-
/** @type {(() => void)|undefined} */
|
|
211
218
|
let onPageLoaded;
|
|
212
|
-
/** @type {NodeJS.Timeout|undefined|null} */
|
|
213
219
|
let onPageLoadedTimeout;
|
|
214
220
|
(0, property_accessors_1.setPageLoadDelay)(this, support_1.util.cancellableDelay(readinessTimeoutMs));
|
|
215
221
|
(0, property_accessors_1.setPageLoading)(this, true);
|
|
216
222
|
let isPageLoading = true;
|
|
217
|
-
// /** @type {Promise<void>|null} */
|
|
218
223
|
const start = new support_1.timing.Timer().start();
|
|
219
|
-
/** @type {B<void>} */
|
|
220
224
|
const pageReadinessPromise = new bluebird_1.default((resolve) => {
|
|
221
225
|
onPageLoadedTimeout = setTimeout(() => {
|
|
222
226
|
if (isPageLoading) {
|
|
@@ -245,7 +249,6 @@ async function navToUrl(url) {
|
|
|
245
249
|
pageIdKey,
|
|
246
250
|
});
|
|
247
251
|
});
|
|
248
|
-
/** @type {B<void>} */
|
|
249
252
|
const cancellationPromise = bluebird_1.default.resolve((async () => {
|
|
250
253
|
try {
|
|
251
254
|
await (0, property_accessors_1.getPageLoadDelay)(this);
|
|
@@ -269,7 +272,4 @@ async function navToUrl(url) {
|
|
|
269
272
|
}
|
|
270
273
|
}
|
|
271
274
|
}
|
|
272
|
-
/**
|
|
273
|
-
* @typedef {import('../remote-debugger').RemoteDebugger} RemoteDebugger
|
|
274
|
-
*/
|
|
275
275
|
//# sourceMappingURL=navigate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigate.js","sourceRoot":"","sources":["../../../lib/mixins/navigate.
|
|
1
|
+
{"version":3,"file":"navigate.js","sourceRoot":"","sources":["../../../lib/mixins/navigate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,24 @@
|
|
|
1
|
+
import type { RemoteDebugger } from '../remote-debugger';
|
|
2
|
+
import type { Rect } from '@appium/types';
|
|
1
3
|
/**
|
|
2
|
-
*
|
|
3
|
-
* @this {RemoteDebugger}
|
|
4
|
-
* @param {ScreenshotCaptureOptions} [opts={}] if rect is null capture the whole
|
|
5
|
-
* coordinate system else capture the rect in the given coordinateSystem
|
|
6
|
-
* @returns {Promise<string>} a base64 encoded string of the screenshot
|
|
4
|
+
* Options for capturing a screenshot.
|
|
7
5
|
*/
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
rect?:
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
6
|
+
export interface ScreenshotCaptureOptions {
|
|
7
|
+
/** The rectangle to capture. If null, captures the whole viewport. */
|
|
8
|
+
rect?: Rect | null;
|
|
9
|
+
/** The coordinate system to use for the rectangle. */
|
|
10
|
+
coordinateSystem?: 'Viewport' | 'Page';
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Captures a screenshot of a rectangular area of the page or the entire viewport.
|
|
14
|
+
* If no rectangle is provided, captures the full viewport by default.
|
|
15
|
+
*
|
|
16
|
+
* @param opts - Screenshot capture options. If not provided, captures the entire viewport.
|
|
17
|
+
* - rect: The rectangle to capture. If null, captures the whole viewport.
|
|
18
|
+
* - coordinateSystem: The coordinate system to use ('Viewport' or 'Page').
|
|
19
|
+
* Defaults to 'Viewport'.
|
|
20
|
+
* @returns A promise that resolves to a base64-encoded string of the screenshot
|
|
21
|
+
* (without the data URL prefix).
|
|
22
|
+
*/
|
|
23
|
+
export declare function captureScreenshot(this: RemoteDebugger, opts?: ScreenshotCaptureOptions): Promise<string>;
|
|
14
24
|
//# sourceMappingURL=screenshot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../../lib/mixins/screenshot.
|
|
1
|
+
{"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../../lib/mixins/screenshot.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,sEAAsE;IACtE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;CACxC;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,cAAc,EACpB,IAAI,GAAE,wBAA6B,GAClC,OAAO,CAAC,MAAM,CAAC,CAoBjB"}
|
|
@@ -3,16 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.captureScreenshot = captureScreenshot;
|
|
4
4
|
const property_accessors_1 = require("./property-accessors");
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
6
|
+
* Captures a screenshot of a rectangular area of the page or the entire viewport.
|
|
7
|
+
* If no rectangle is provided, captures the full viewport by default.
|
|
8
|
+
*
|
|
9
|
+
* @param opts - Screenshot capture options. If not provided, captures the entire viewport.
|
|
10
|
+
* - rect: The rectangle to capture. If null, captures the whole viewport.
|
|
11
|
+
* - coordinateSystem: The coordinate system to use ('Viewport' or 'Page').
|
|
12
|
+
* Defaults to 'Viewport'.
|
|
13
|
+
* @returns A promise that resolves to a base64-encoded string of the screenshot
|
|
14
|
+
* (without the data URL prefix).
|
|
11
15
|
*/
|
|
12
16
|
async function captureScreenshot(opts = {}) {
|
|
13
17
|
const { rect = null, coordinateSystem = 'Viewport' } = opts;
|
|
14
18
|
this.log.debug('Capturing screenshot');
|
|
15
|
-
const arect = rect ??
|
|
19
|
+
const arect = rect ?? await this.executeAtom('execute_script', ['return {x: 0, y: 0, width: window.innerWidth, height: window.innerHeight}', []]);
|
|
16
20
|
const response = await this.requireRpcClient().send('Page.snapshotRect', {
|
|
17
21
|
...arect,
|
|
18
22
|
appIdKey: (0, property_accessors_1.getAppIdKey)(this),
|
|
@@ -24,12 +28,4 @@ async function captureScreenshot(opts = {}) {
|
|
|
24
28
|
}
|
|
25
29
|
return response.dataURL.replace(/^data:image\/png;base64,/, '');
|
|
26
30
|
}
|
|
27
|
-
/**
|
|
28
|
-
* @typedef {Object} ScreenshotCaptureOptions
|
|
29
|
-
* @property {import('@appium/types').Rect | null} [rect=null]
|
|
30
|
-
* @property {"Viewport" | "Page"} [coordinateSystem="Viewport"]
|
|
31
|
-
*/
|
|
32
|
-
/**
|
|
33
|
-
* @typedef {import('../remote-debugger').RemoteDebugger} RemoteDebugger
|
|
34
|
-
*/
|
|
35
31
|
//# sourceMappingURL=screenshot.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../../lib/mixins/screenshot.
|
|
1
|
+
{"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../../lib/mixins/screenshot.ts"],"names":[],"mappings":";;AA4BA,8CAuBC;AAnDD,6DAG8B;AAc9B;;;;;;;;;;GAUG;AACI,KAAK,UAAU,iBAAiB,CAErC,OAAiC,EAAE;IAEnC,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,IAAK,MAAM,IAAI,CAAC,WAAW,CAC3C,gBAAgB,EAChB,CAAC,2EAA2E,EAAE,EAAE,CAAC,CACzE,CAAC;IACX,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE;QACvE,GAAG,KAAK;QACR,QAAQ,EAAE,IAAA,gCAAW,EAAC,IAAI,CAAC;QAC3B,SAAS,EAAE,IAAA,iCAAY,EAAC,IAAI,CAAC;QAC7B,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"}
|