@glubean/browser 0.8.0 → 0.8.4
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/dist/evidence.d.ts +274 -0
- package/dist/evidence.d.ts.map +1 -0
- package/dist/evidence.js +343 -0
- package/dist/evidence.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/network.d.ts +15 -5
- package/dist/network.d.ts.map +1 -1
- package/dist/network.js +16 -12
- package/dist/network.js.map +1 -1
- package/dist/page.d.ts +67 -15
- package/dist/page.d.ts.map +1 -1
- package/dist/page.js +112 -111
- package/dist/page.js.map +1 -1
- package/package.json +2 -2
package/dist/network.d.ts
CHANGED
|
@@ -5,9 +5,14 @@
|
|
|
5
5
|
* emits them as Glubean trace events so they appear in the same timeline as
|
|
6
6
|
* `ctx.http` calls.
|
|
7
7
|
*
|
|
8
|
+
* This is one capability of the shared evidence CDP session (see
|
|
9
|
+
* {@link EvidenceSession}). It attaches to a session the caller owns — it does
|
|
10
|
+
* **not** create or detach the session, so `Network`, `Fetch`, and `Emulation`
|
|
11
|
+
* can all live on the same self-opened session.
|
|
12
|
+
*
|
|
8
13
|
* @module network
|
|
9
14
|
*/
|
|
10
|
-
import type {
|
|
15
|
+
import type { CDPSession } from "puppeteer-core";
|
|
11
16
|
/** Callback shape matching `ctx.trace()`. */
|
|
12
17
|
export type TraceFn = (trace: {
|
|
13
18
|
protocol: "http";
|
|
@@ -53,10 +58,15 @@ export interface NetworkTracerOptions {
|
|
|
53
58
|
filter?: NetworkFilter;
|
|
54
59
|
}
|
|
55
60
|
/**
|
|
56
|
-
* Attach a CDP Network listener to the
|
|
57
|
-
* for every in-page network request.
|
|
61
|
+
* Attach a CDP Network listener to the given (shared) session that emits
|
|
62
|
+
* Glubean trace events for every in-page network request.
|
|
63
|
+
*
|
|
64
|
+
* The caller owns the session lifecycle: this enables the `Network` domain and
|
|
65
|
+
* registers listeners, and the returned cleanup only removes those listeners —
|
|
66
|
+
* it does **not** detach the session (the session may also host `Fetch` and
|
|
67
|
+
* `Emulation`). See {@link EvidenceSession}.
|
|
58
68
|
*
|
|
59
|
-
*
|
|
69
|
+
* @returns A cleanup function that removes the Network listeners.
|
|
60
70
|
*/
|
|
61
|
-
export declare function attachNetworkTracer(
|
|
71
|
+
export declare function attachNetworkTracer(cdp: CDPSession, options: NetworkTracerOptions): Promise<() => void>;
|
|
62
72
|
//# sourceMappingURL=network.d.ts.map
|
package/dist/network.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../src/network.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../src/network.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,6CAA6C;AAC7C,MAAM,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,KAAK,IAAI,CAAC;AAkBX,sCAAsC;AACtC,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAKvD;AAED,sCAAsC;AACtC,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAU3E;AAED,sCAAsC;AACtC,wBAAgB,aAAa,CAC3B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAMT;AAED,6CAA6C;AAC7C,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB,KAAK,OAAO,CAAC;AAEd,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAcD;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,MAAM,IAAI,CAAC,CA4HrB"}
|
package/dist/network.js
CHANGED
|
@@ -5,6 +5,11 @@
|
|
|
5
5
|
* emits them as Glubean trace events so they appear in the same timeline as
|
|
6
6
|
* `ctx.http` calls.
|
|
7
7
|
*
|
|
8
|
+
* This is one capability of the shared evidence CDP session (see
|
|
9
|
+
* {@link EvidenceSession}). It attaches to a session the caller owns — it does
|
|
10
|
+
* **not** create or detach the session, so `Network`, `Fetch`, and `Emulation`
|
|
11
|
+
* can all live on the same self-opened session.
|
|
12
|
+
*
|
|
8
13
|
* @module network
|
|
9
14
|
*/
|
|
10
15
|
const SKIP_PROTOCOLS = ["data:", "chrome-extension:", "devtools:", "blob:"];
|
|
@@ -51,14 +56,18 @@ export function shouldInclude(contentType, include) {
|
|
|
51
56
|
return false;
|
|
52
57
|
}
|
|
53
58
|
/**
|
|
54
|
-
* Attach a CDP Network listener to the
|
|
55
|
-
* for every in-page network request.
|
|
59
|
+
* Attach a CDP Network listener to the given (shared) session that emits
|
|
60
|
+
* Glubean trace events for every in-page network request.
|
|
61
|
+
*
|
|
62
|
+
* The caller owns the session lifecycle: this enables the `Network` domain and
|
|
63
|
+
* registers listeners, and the returned cleanup only removes those listeners —
|
|
64
|
+
* it does **not** detach the session (the session may also host `Fetch` and
|
|
65
|
+
* `Emulation`). See {@link EvidenceSession}.
|
|
56
66
|
*
|
|
57
|
-
*
|
|
67
|
+
* @returns A cleanup function that removes the Network listeners.
|
|
58
68
|
*/
|
|
59
|
-
export async function attachNetworkTracer(
|
|
69
|
+
export async function attachNetworkTracer(cdp, options) {
|
|
60
70
|
const { trace, filter, include = DEFAULT_INCLUDE, excludePaths = DEFAULT_EXCLUDE_PATHS } = options;
|
|
61
|
-
const cdp = await page.createCDPSession();
|
|
62
71
|
await cdp.send("Network.enable");
|
|
63
72
|
const pending = new Map();
|
|
64
73
|
// ── requestWillBeSent: capture request info ─────────────────────────
|
|
@@ -155,17 +164,12 @@ export async function attachNetworkTracer(page, options) {
|
|
|
155
164
|
cdp.on("Network.responseReceived", onResponseReceived);
|
|
156
165
|
cdp.on("Network.loadingFinished", onLoadingFinished);
|
|
157
166
|
cdp.on("Network.loadingFailed", onLoadingFailed);
|
|
158
|
-
return
|
|
167
|
+
return () => {
|
|
159
168
|
cdp.off("Network.requestWillBeSent", onRequestWillBeSent);
|
|
160
169
|
cdp.off("Network.responseReceived", onResponseReceived);
|
|
161
170
|
cdp.off("Network.loadingFinished", onLoadingFinished);
|
|
162
171
|
cdp.off("Network.loadingFailed", onLoadingFailed);
|
|
163
|
-
|
|
164
|
-
await cdp.detach();
|
|
165
|
-
}
|
|
166
|
-
catch {
|
|
167
|
-
// page may already be closed
|
|
168
|
-
}
|
|
172
|
+
// Note: the session is shared and owned by EvidenceSession — do not detach.
|
|
169
173
|
};
|
|
170
174
|
}
|
|
171
175
|
function shortPath(url) {
|
package/dist/network.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.js","sourceRoot":"","sources":["../src/network.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../src/network.ts"],"names":[],"mappings":"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"}
|
package/dist/page.d.ts
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* @module page
|
|
13
13
|
*/
|
|
14
14
|
import type { Browser, ElementHandle, HTTPRequest, HTTPResponse, Page } from "puppeteer-core";
|
|
15
|
+
import { type EmulationOptions, type MockRule, type ScreenshotMode } from "./evidence.js";
|
|
15
16
|
import { type WrappedLocator } from "./locator.js";
|
|
16
17
|
/**
|
|
17
18
|
* A GlubeanPage that also exposes every Puppeteer `Page` method/property
|
|
@@ -54,8 +55,6 @@ export type BrowserOptions = BrowserOptionsBase & ({
|
|
|
54
55
|
launch?: never;
|
|
55
56
|
executablePath?: never;
|
|
56
57
|
});
|
|
57
|
-
/** Auto-screenshot behavior. */
|
|
58
|
-
export type ScreenshotMode = "off" | "on-failure" | "every-step";
|
|
59
58
|
/** Network trace filter configuration. */
|
|
60
59
|
export interface NetworkTraceOptions {
|
|
61
60
|
/**
|
|
@@ -124,6 +123,50 @@ interface BrowserOptionsBase {
|
|
|
124
123
|
* Default: `true`.
|
|
125
124
|
*/
|
|
126
125
|
networkTrace?: boolean | NetworkTraceOptions;
|
|
126
|
+
/**
|
|
127
|
+
* Request mocking. Matching requests are fulfilled with a canned response on
|
|
128
|
+
* the shared evidence CDP session (via the CDP `Fetch` domain); everything
|
|
129
|
+
* else passes through untouched and is still network-traced.
|
|
130
|
+
*
|
|
131
|
+
* When set, Glubean owns request interception on the page. **Do not also call
|
|
132
|
+
* `page.setRequestInterception(true)`** — it conflicts with the mock handler
|
|
133
|
+
* and Glubean throws a clear error if you try. Leave `mock` unset to manage
|
|
134
|
+
* interception yourself.
|
|
135
|
+
*
|
|
136
|
+
* @example
|
|
137
|
+
* ```ts
|
|
138
|
+
* browser({
|
|
139
|
+
* launch: true,
|
|
140
|
+
* mock: [
|
|
141
|
+
* { url: "/api/user", body: { id: 1, name: "Ada" } },
|
|
142
|
+
* { url: /\/api\/flaky/, status: 500, body: "boom" },
|
|
143
|
+
* ],
|
|
144
|
+
* })
|
|
145
|
+
* ```
|
|
146
|
+
*/
|
|
147
|
+
mock?: MockRule[];
|
|
148
|
+
/**
|
|
149
|
+
* Environment emulation applied on the shared evidence CDP session (via the
|
|
150
|
+
* CDP `Emulation` domain): `timezone`, `geolocation`, and `viewport`.
|
|
151
|
+
*
|
|
152
|
+
* When `emulate.viewport` is set, **Glubean is the sole viewport owner** — do
|
|
153
|
+
* **not** also call `page.setViewport()`. Both drive device metrics and clobber
|
|
154
|
+
* each other last-wins, so Glubean applies the viewport last and throws a clear
|
|
155
|
+
* error if `page.setViewport()` is called.
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* ```ts
|
|
159
|
+
* browser({
|
|
160
|
+
* launch: true,
|
|
161
|
+
* emulate: {
|
|
162
|
+
* timezone: "America/New_York",
|
|
163
|
+
* geolocation: { latitude: 40.71, longitude: -74.0 },
|
|
164
|
+
* viewport: { width: 390, height: 844, mobile: true },
|
|
165
|
+
* },
|
|
166
|
+
* })
|
|
167
|
+
* ```
|
|
168
|
+
*/
|
|
169
|
+
emulate?: EmulationOptions;
|
|
127
170
|
/** Emit `ctx.metric()` for navigation timing. Default: true. */
|
|
128
171
|
metrics?: boolean;
|
|
129
172
|
/** Forward browser console output to `ctx.log()`/`ctx.warn()`. Default: true. */
|
|
@@ -260,28 +303,37 @@ export declare class GlubeanPage {
|
|
|
260
303
|
private readonly _baseUrl;
|
|
261
304
|
private readonly _ctx;
|
|
262
305
|
private readonly _metricsEnabled;
|
|
263
|
-
private readonly _screenshotMode;
|
|
264
|
-
private readonly _screenshotDir;
|
|
265
|
-
private readonly _testId;
|
|
266
306
|
private readonly _actionTimeout;
|
|
267
|
-
private
|
|
268
|
-
private _networkCleanup;
|
|
307
|
+
private _evidence;
|
|
269
308
|
private constructor();
|
|
270
309
|
/** @internal */
|
|
271
310
|
static _create(page: Page, baseUrl: string | undefined, ctx: BrowserTestContext, options: BrowserOptions, runtimeTestId?: string): Promise<InstrumentedPage>;
|
|
272
|
-
private _formatTimestamp;
|
|
273
|
-
private _sanitizeLabel;
|
|
274
|
-
private _ensureDir;
|
|
275
|
-
private _saveScreenshot;
|
|
276
|
-
private _captureStep;
|
|
277
|
-
private _captureFailure;
|
|
278
311
|
/**
|
|
279
312
|
* Capture a screenshot for a test-level failure (e.g. assertion error).
|
|
280
313
|
*
|
|
281
314
|
* Call this in the fixture's catch block to get a final-state screenshot
|
|
282
|
-
* when the test body throws.
|
|
315
|
+
* when the test body throws. Delegates to the shared {@link EvidenceSession}
|
|
316
|
+
* so the capture obeys the configured {@link ScreenshotMode} and the
|
|
317
|
+
* screenshot is recorded in the unified evidence timeline.
|
|
283
318
|
*/
|
|
284
319
|
screenshotOnFailure(): Promise<void>;
|
|
320
|
+
/**
|
|
321
|
+
* Manually capture a screenshot into the evidence stream.
|
|
322
|
+
*
|
|
323
|
+
* Unlike the raw `screenshot()` method (which returns bytes and skips the
|
|
324
|
+
* evidence flow), this always records the capture in the timeline regardless
|
|
325
|
+
* of the configured auto-screenshot mode. Use it for explicit checkpoints
|
|
326
|
+
* inside the test body.
|
|
327
|
+
*
|
|
328
|
+
* @param label — human label for this checkpoint (default: `"manual"`)
|
|
329
|
+
*
|
|
330
|
+
* @example
|
|
331
|
+
* ```ts
|
|
332
|
+
* await page.goto("/checkout");
|
|
333
|
+
* await page.captureScreenshot("cart-loaded");
|
|
334
|
+
* ```
|
|
335
|
+
*/
|
|
336
|
+
captureScreenshot(label?: string): Promise<void>;
|
|
285
337
|
/**
|
|
286
338
|
* Navigate to a URL. Relative paths are resolved against the configured `baseUrl`.
|
|
287
339
|
*
|
|
@@ -581,7 +633,7 @@ export declare class GlubeanPage {
|
|
|
581
633
|
expectResponse(pattern: string | RegExp | ((res: HTTPResponse) => boolean), checks?: ResponseChecks, options?: {
|
|
582
634
|
timeout?: number;
|
|
583
635
|
}): Promise<HTTPResponse>;
|
|
584
|
-
/** Clean up:
|
|
636
|
+
/** Clean up: detach the shared evidence CDP session and close the page. */
|
|
585
637
|
close(): Promise<void>;
|
|
586
638
|
private _resolveUrl;
|
|
587
639
|
}
|
package/dist/page.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,WAAW,EACX,YAAY,EACZ,IAAI,EACL,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"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"}
|