@testchimp/playwright 0.2.13 → 0.2.14
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/README.md +16 -0
- package/dist/api-coverage/capture.d.ts +28 -6
- package/dist/api-coverage/capture.d.ts.map +1 -1
- package/dist/api-coverage/capture.js +104 -24
- package/dist/api-coverage/capture.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +1 -0
- package/dist/runtime.js.map +1 -1
- package/dist/testchimp-reporter.d.ts +2 -2
- package/dist/testchimp-reporter.js +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -101,6 +101,10 @@ Set these so the reporter can talk to TestChimp (env vars override programmatic
|
|
|
101
101
|
| `TESTCHIMP_TESTS_FOLDER` | No | Base folder for relative paths (default: `tests`). |
|
|
102
102
|
| `TESTCHIMP_RELEASE` | No | Release/version identifier. |
|
|
103
103
|
| `TESTCHIMP_ENV` | No | Environment (e.g. `staging`, `prod`). |
|
|
104
|
+
| `TESTCHIMP_ENABLE_API_CAPTURE` | No | Set to `1`/`true`/`yes` to opt in to API operation capture + payload ingest (default **off**). |
|
|
105
|
+
| `TESTCHIMP_API_COVERAGE_URL_REGEX` | No | Optional client-side URL allow-list regex (full URL). |
|
|
106
|
+
| `TESTCHIMP_API_COVERAGE_BODY_TIMEOUT_MS` | No | Per-response body read timeout in ms (default **1500**). |
|
|
107
|
+
| `TESTCHIMP_API_COVERAGE_DRAIN_TIMEOUT_MS` | No | Page teardown drain timeout in ms (default **5000**). |
|
|
104
108
|
| `TESTCHIMP_RUM_AUTOMATION_SET_PREFIX` | No | Override set-URL prefix (default `testchimp-rum://truecoverage/v1/set?p=` + base64url JSON). |
|
|
105
109
|
| `TESTCHIMP_RUM_AUTOMATION_CLEAR_URL` | No | Override clear URL (default `testchimp-rum://truecoverage/v1/clear`). |
|
|
106
110
|
| `TESTCHIMP_RUM_AUTOMATION_CLEAR_BETWEEN_TESTS` | No | When `1`/`true`/`yes`, each test’s **`device`** fixture sends `/v1/clear` before `SET` (legacy). **Default off** so CI stays set until overwritten, avoiding null `ci_test_info` on RUM during the clear→set window. |
|
|
@@ -110,6 +114,18 @@ Set these so the reporter can talk to TestChimp (env vars override programmatic
|
|
|
110
114
|
|
|
111
115
|
If `TESTCHIMP_API_KEY` is missing, the reporter logs a warning and disables reporting (no request is sent).
|
|
112
116
|
|
|
117
|
+
### API operation capture (Operations coverage)
|
|
118
|
+
|
|
119
|
+
**Off by default.** Set **`TESTCHIMP_ENABLE_API_CAPTURE=1`** to enable both HTTP interaction capture (via the web `page` fixture from `installTestChimp`) and reporter ingest of those interactions. One flag controls both; leave it unset so the plugin never attaches network listeners or reads response bodies.
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
export TESTCHIMP_API_KEY=your-api-key
|
|
123
|
+
export TESTCHIMP_ENABLE_API_CAPTURE=1
|
|
124
|
+
npx playwright test
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Capture is best-effort and bounded (body / drain timeouts above) so it must not hang test teardown. Project **Operations** config can further restrict which URLs are stored and whether payloads are retained.
|
|
128
|
+
|
|
113
129
|
### 3. Run tests
|
|
114
130
|
|
|
115
131
|
```bash
|
|
@@ -2,10 +2,15 @@
|
|
|
2
2
|
* API operation coverage capture for Playwright (US-185).
|
|
3
3
|
* Collects HTTP interactions; ingest is append-only (no coverage math client-side).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* P0: never disrupt test execution. Body reads and drain are hard-timeout’d; on timeout we
|
|
6
|
+
* keep metadata (or drop the interaction) rather than hang fixture teardown.
|
|
7
|
+
*
|
|
8
|
+
* Opt-in via TESTCHIMP_ENABLE_API_CAPTURE=1 (default off). One flag enables page capture,
|
|
9
|
+
* payload reads, attachment, and reporter ingest together — leave unset to avoid any impact
|
|
10
|
+
* on test execution from API capturing.
|
|
6
11
|
* Scope capture to matching URLs via TESTCHIMP_API_COVERAGE_URL_REGEX (optional; matches full URL).
|
|
7
|
-
*
|
|
8
|
-
*
|
|
12
|
+
* Body read timeout: TESTCHIMP_API_COVERAGE_BODY_TIMEOUT_MS (default 1500).
|
|
13
|
+
* Drain timeout: TESTCHIMP_API_COVERAGE_DRAIN_TIMEOUT_MS (default 5000).
|
|
9
14
|
*
|
|
10
15
|
* Mocked vs real: interactions default to REAL. To mark a route as MOCKED, fulfill it via
|
|
11
16
|
* {@link fulfillMocked} instead of `route.fulfill(...)` directly — it stamps a response header
|
|
@@ -63,12 +68,26 @@ export interface ApiOperationInteractionPayload {
|
|
|
63
68
|
}
|
|
64
69
|
/** Alias matching the `ApiOperationInteraction` proto message name used in ingest requests. */
|
|
65
70
|
export type ApiOperationInteraction = ApiOperationInteractionPayload;
|
|
66
|
-
/**
|
|
71
|
+
/**
|
|
72
|
+
* Whether API operation capture + payload ingest should run.
|
|
73
|
+
* Controlled solely by TESTCHIMP_ENABLE_API_CAPTURE (default off / unset).
|
|
74
|
+
* Truthy: 1, true, yes. Falsy / unset: disabled.
|
|
75
|
+
*/
|
|
67
76
|
export declare function isApiCoverageEnabled(): boolean;
|
|
68
|
-
/**
|
|
77
|
+
/**
|
|
78
|
+
* Payload capture follows the same opt-in as {@link isApiCoverageEnabled}.
|
|
79
|
+
* Kept as a named export for callers that previously branched on payloads separately.
|
|
80
|
+
*/
|
|
69
81
|
export declare function apiCoveragePayloadsEnabled(): boolean;
|
|
82
|
+
/** Per-response body read cap so SSE/long-poll cannot hang the pending set. */
|
|
83
|
+
export declare function resolveApiCoverageBodyTimeoutMs(): number;
|
|
84
|
+
/** Fixture-teardown drain budget (same spirit as RUM flush). */
|
|
85
|
+
export declare function resolveApiCoverageDrainTimeoutMs(): number;
|
|
70
86
|
/** Optional URL allow-list regex from TESTCHIMP_API_COVERAGE_URL_REGEX (matches full URL). */
|
|
71
87
|
export declare function buildApiCoverageUrlRegex(): RegExp | null;
|
|
88
|
+
/** Statuses with no useful body — skip body read. */
|
|
89
|
+
export declare function shouldSkipBodyForStatus(status: number): boolean;
|
|
90
|
+
export declare function shouldSkipResourceType(resourceType: string): boolean;
|
|
72
91
|
/**
|
|
73
92
|
* Fulfill a route as mocked and mark the request for coverage (interactionType=MOCKED).
|
|
74
93
|
*/
|
|
@@ -80,7 +99,10 @@ export declare function attachApiCoverageCapture(page: Page, opts?: {
|
|
|
80
99
|
urlRegex?: RegExp | null;
|
|
81
100
|
capturePayloads?: boolean;
|
|
82
101
|
}): void;
|
|
83
|
-
/**
|
|
102
|
+
/**
|
|
103
|
+
* Wait (bounded) for in-flight response handlers, then drain the buffer.
|
|
104
|
+
* On drain timeout, returns whatever is already buffered and abandons remaining pending work.
|
|
105
|
+
*/
|
|
84
106
|
export declare function drainApiCoverageInteractions(page: Page): Promise<ApiOperationInteractionPayload[]>;
|
|
85
107
|
/** Serialize buffered interactions for a Playwright `testInfo.attach(...)` body. */
|
|
86
108
|
export declare function toApiCoverageAttachmentBody(interactions: ApiOperationInteractionPayload[]): Buffer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../src/api-coverage/capture.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../src/api-coverage/capture.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ApiPayloadKind = exports.ApiOperationInteractionType = exports.ApiOperationTestMode = exports.API_COVERAGE_ATTACHMENT_NAME = exports.TESTCHIMP_MOCKED_HEADER = void 0;
|
|
4
4
|
exports.isApiCoverageEnabled = isApiCoverageEnabled;
|
|
5
5
|
exports.apiCoveragePayloadsEnabled = apiCoveragePayloadsEnabled;
|
|
6
|
+
exports.resolveApiCoverageBodyTimeoutMs = resolveApiCoverageBodyTimeoutMs;
|
|
7
|
+
exports.resolveApiCoverageDrainTimeoutMs = resolveApiCoverageDrainTimeoutMs;
|
|
6
8
|
exports.buildApiCoverageUrlRegex = buildApiCoverageUrlRegex;
|
|
9
|
+
exports.shouldSkipBodyForStatus = shouldSkipBodyForStatus;
|
|
10
|
+
exports.shouldSkipResourceType = shouldSkipResourceType;
|
|
7
11
|
exports.fulfillMocked = fulfillMocked;
|
|
8
12
|
exports.attachApiCoverageCapture = attachApiCoverageCapture;
|
|
9
13
|
exports.drainApiCoverageInteractions = drainApiCoverageInteractions;
|
|
@@ -38,13 +42,37 @@ function envFlag(name, defaultValue) {
|
|
|
38
42
|
return defaultValue;
|
|
39
43
|
return raw !== '0' && raw !== 'false' && raw !== 'no';
|
|
40
44
|
}
|
|
41
|
-
|
|
45
|
+
function envTimeoutMs(name, defaultMs, minMs, maxMs) {
|
|
46
|
+
const raw = process.env[name];
|
|
47
|
+
if (raw === undefined || raw === '')
|
|
48
|
+
return defaultMs;
|
|
49
|
+
const n = parseInt(raw, 10);
|
|
50
|
+
if (Number.isNaN(n))
|
|
51
|
+
return defaultMs;
|
|
52
|
+
return Math.max(minMs, Math.min(maxMs, n));
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Whether API operation capture + payload ingest should run.
|
|
56
|
+
* Controlled solely by TESTCHIMP_ENABLE_API_CAPTURE (default off / unset).
|
|
57
|
+
* Truthy: 1, true, yes. Falsy / unset: disabled.
|
|
58
|
+
*/
|
|
42
59
|
function isApiCoverageEnabled() {
|
|
43
|
-
return envFlag('
|
|
60
|
+
return envFlag('TESTCHIMP_ENABLE_API_CAPTURE', false);
|
|
44
61
|
}
|
|
45
|
-
/**
|
|
62
|
+
/**
|
|
63
|
+
* Payload capture follows the same opt-in as {@link isApiCoverageEnabled}.
|
|
64
|
+
* Kept as a named export for callers that previously branched on payloads separately.
|
|
65
|
+
*/
|
|
46
66
|
function apiCoveragePayloadsEnabled() {
|
|
47
|
-
return
|
|
67
|
+
return isApiCoverageEnabled();
|
|
68
|
+
}
|
|
69
|
+
/** Per-response body read cap so SSE/long-poll cannot hang the pending set. */
|
|
70
|
+
function resolveApiCoverageBodyTimeoutMs() {
|
|
71
|
+
return envTimeoutMs('TESTCHIMP_API_COVERAGE_BODY_TIMEOUT_MS', 1500, 50, 10000);
|
|
72
|
+
}
|
|
73
|
+
/** Fixture-teardown drain budget (same spirit as RUM flush). */
|
|
74
|
+
function resolveApiCoverageDrainTimeoutMs() {
|
|
75
|
+
return envTimeoutMs('TESTCHIMP_API_COVERAGE_DRAIN_TIMEOUT_MS', 5000, 100, 30000);
|
|
48
76
|
}
|
|
49
77
|
/** Optional URL allow-list regex from TESTCHIMP_API_COVERAGE_URL_REGEX (matches full URL). */
|
|
50
78
|
function buildApiCoverageUrlRegex() {
|
|
@@ -63,6 +91,18 @@ function buildApiCoverageUrlRegex() {
|
|
|
63
91
|
const PAYLOAD_MAX = 65536;
|
|
64
92
|
const BUFFER_KEY = '__testchimpApiCoverageBuffers';
|
|
65
93
|
const PENDING_KEY = '__testchimpApiCoveragePending';
|
|
94
|
+
const SKIP_RESOURCE_TYPES = new Set([
|
|
95
|
+
'image',
|
|
96
|
+
'media',
|
|
97
|
+
'font',
|
|
98
|
+
'stylesheet',
|
|
99
|
+
'script',
|
|
100
|
+
'document',
|
|
101
|
+
'websocket',
|
|
102
|
+
'eventsource',
|
|
103
|
+
'manifest',
|
|
104
|
+
'texttrack',
|
|
105
|
+
]);
|
|
66
106
|
function getBuffers(page) {
|
|
67
107
|
const p = page;
|
|
68
108
|
if (!p[BUFFER_KEY])
|
|
@@ -113,16 +153,26 @@ function truncate(s) {
|
|
|
113
153
|
return undefined;
|
|
114
154
|
return s.length <= PAYLOAD_MAX ? s : s.slice(0, PAYLOAD_MAX);
|
|
115
155
|
}
|
|
156
|
+
/** Binary / multipart / streaming content types — never call response.text(). */
|
|
116
157
|
function isSkippableContentType(ct) {
|
|
117
158
|
if (!ct)
|
|
118
159
|
return false;
|
|
119
160
|
const c = ct.toLowerCase();
|
|
120
161
|
return (c.includes('multipart/form-data') ||
|
|
121
162
|
c.includes('octet-stream') ||
|
|
163
|
+
c.includes('text/event-stream') ||
|
|
164
|
+
c.includes('text/html') ||
|
|
122
165
|
c.startsWith('image/') ||
|
|
123
166
|
c.startsWith('video/') ||
|
|
124
167
|
c.startsWith('audio/'));
|
|
125
168
|
}
|
|
169
|
+
/** Statuses with no useful body — skip body read. */
|
|
170
|
+
function shouldSkipBodyForStatus(status) {
|
|
171
|
+
return status < 200 || status === 204 || status === 304;
|
|
172
|
+
}
|
|
173
|
+
function shouldSkipResourceType(resourceType) {
|
|
174
|
+
return SKIP_RESOURCE_TYPES.has(resourceType);
|
|
175
|
+
}
|
|
126
176
|
function isJsonContentType(ct) {
|
|
127
177
|
if (!ct)
|
|
128
178
|
return false;
|
|
@@ -185,14 +235,31 @@ function textToApiPayload(contentType, text) {
|
|
|
185
235
|
return undefined;
|
|
186
236
|
}
|
|
187
237
|
}
|
|
188
|
-
async function
|
|
238
|
+
async function withTimeout(promise, ms) {
|
|
239
|
+
let timer;
|
|
240
|
+
try {
|
|
241
|
+
return await Promise.race([
|
|
242
|
+
promise,
|
|
243
|
+
new Promise((_, reject) => {
|
|
244
|
+
timer = setTimeout(() => reject(new Error(`timed out after ${ms}ms`)), ms);
|
|
245
|
+
}),
|
|
246
|
+
]);
|
|
247
|
+
}
|
|
248
|
+
finally {
|
|
249
|
+
if (timer !== undefined)
|
|
250
|
+
clearTimeout(timer);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
async function bodyToApiPayload(contentType, getText, timeoutMs) {
|
|
189
254
|
if (isSkippableContentType(contentType)) {
|
|
190
255
|
return { kind: ApiPayloadKind.OMITTED, contentType };
|
|
191
256
|
}
|
|
192
257
|
try {
|
|
193
|
-
|
|
258
|
+
const text = await withTimeout(getText(), timeoutMs);
|
|
259
|
+
return textToApiPayload(contentType, text);
|
|
194
260
|
}
|
|
195
261
|
catch {
|
|
262
|
+
// Timeout or body read failure: omit payload rather than fail the test.
|
|
196
263
|
return undefined;
|
|
197
264
|
}
|
|
198
265
|
}
|
|
@@ -203,6 +270,13 @@ async function fulfillMocked(route, options) {
|
|
|
203
270
|
const headers = { ...(options?.headers || {}), [exports.TESTCHIMP_MOCKED_HEADER]: '1' };
|
|
204
271
|
await route.fulfill({ ...options, headers });
|
|
205
272
|
}
|
|
273
|
+
function pushInteraction(page, interaction) {
|
|
274
|
+
const buf = getBuffers(page);
|
|
275
|
+
buf.push(interaction);
|
|
276
|
+
if (buf.length > 500) {
|
|
277
|
+
buf.splice(0, buf.length - 500);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
206
280
|
/**
|
|
207
281
|
* Attach API coverage listeners to a page. Call once per page (idempotent).
|
|
208
282
|
*/
|
|
@@ -214,6 +288,7 @@ function attachApiCoverageCapture(page, opts) {
|
|
|
214
288
|
const starts = new WeakMap();
|
|
215
289
|
const regex = opts?.urlRegex ?? null;
|
|
216
290
|
const capturePayloads = opts?.capturePayloads !== false;
|
|
291
|
+
const bodyTimeoutMs = resolveApiCoverageBodyTimeoutMs();
|
|
217
292
|
page.on('request', (req) => {
|
|
218
293
|
starts.set(req, Date.now());
|
|
219
294
|
});
|
|
@@ -224,15 +299,11 @@ function attachApiCoverageCapture(page, opts) {
|
|
|
224
299
|
const url = req.url();
|
|
225
300
|
if (regex && !regex.test(url))
|
|
226
301
|
return;
|
|
227
|
-
// Skip binary navigations / assets loosely
|
|
228
302
|
const resourceType = req.resourceType();
|
|
229
|
-
if (resourceType
|
|
230
|
-
resourceType === 'media' ||
|
|
231
|
-
resourceType === 'font' ||
|
|
232
|
-
resourceType === 'stylesheet' ||
|
|
233
|
-
resourceType === 'script') {
|
|
303
|
+
if (shouldSkipResourceType(resourceType)) {
|
|
234
304
|
return;
|
|
235
305
|
}
|
|
306
|
+
const status = response.status();
|
|
236
307
|
const start = starts.get(req) ?? Date.now();
|
|
237
308
|
const rt = Math.max(0, Date.now() - start);
|
|
238
309
|
const reqCt = req.headers()['content-type'];
|
|
@@ -251,14 +322,17 @@ function attachApiCoverageCapture(page, opts) {
|
|
|
251
322
|
/* ignore */
|
|
252
323
|
}
|
|
253
324
|
}
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
325
|
+
let responsePayload;
|
|
326
|
+
if (capturePayloads && !shouldSkipBodyForStatus(status) && !isSkippableContentType(resCt)) {
|
|
327
|
+
responsePayload = await bodyToApiPayload(resCt, () => response.text(), bodyTimeoutMs);
|
|
328
|
+
}
|
|
329
|
+
else if (capturePayloads && isSkippableContentType(resCt)) {
|
|
330
|
+
responsePayload = { kind: ApiPayloadKind.OMITTED, contentType: resCt };
|
|
331
|
+
}
|
|
332
|
+
pushInteraction(page, {
|
|
259
333
|
endpoint: stripPath(url),
|
|
260
334
|
httpMethod: req.method(),
|
|
261
|
-
responseCode:
|
|
335
|
+
responseCode: status,
|
|
262
336
|
requestPayload,
|
|
263
337
|
responsePayload,
|
|
264
338
|
queryParams: parseQueryParams(url),
|
|
@@ -266,12 +340,9 @@ function attachApiCoverageCapture(page, opts) {
|
|
|
266
340
|
testMode: ApiOperationTestMode.AUTOMATION,
|
|
267
341
|
interactionType: mocked ? ApiOperationInteractionType.MOCKED : ApiOperationInteractionType.REAL,
|
|
268
342
|
});
|
|
269
|
-
if (buf.length > 500) {
|
|
270
|
-
buf.splice(0, buf.length - 500);
|
|
271
|
-
}
|
|
272
343
|
}
|
|
273
344
|
catch {
|
|
274
|
-
/* ignore */
|
|
345
|
+
/* ignore — capture must never throw into the test */
|
|
275
346
|
}
|
|
276
347
|
})();
|
|
277
348
|
const pending = getPending(page);
|
|
@@ -279,11 +350,20 @@ function attachApiCoverageCapture(page, opts) {
|
|
|
279
350
|
void work.finally(() => pending.delete(work));
|
|
280
351
|
});
|
|
281
352
|
}
|
|
282
|
-
/**
|
|
353
|
+
/**
|
|
354
|
+
* Wait (bounded) for in-flight response handlers, then drain the buffer.
|
|
355
|
+
* On drain timeout, returns whatever is already buffered and abandons remaining pending work.
|
|
356
|
+
*/
|
|
283
357
|
async function drainApiCoverageInteractions(page) {
|
|
284
358
|
const pending = getPending(page);
|
|
285
359
|
if (pending.size > 0) {
|
|
286
|
-
|
|
360
|
+
const drainMs = resolveApiCoverageDrainTimeoutMs();
|
|
361
|
+
try {
|
|
362
|
+
await withTimeout(Promise.allSettled([...pending]).then(() => undefined), drainMs);
|
|
363
|
+
}
|
|
364
|
+
catch {
|
|
365
|
+
// Abandon unfinished body reads; do not block page fixture teardown.
|
|
366
|
+
}
|
|
287
367
|
}
|
|
288
368
|
const buf = getBuffers(page);
|
|
289
369
|
const copy = buf.slice();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../../src/api-coverage/capture.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../../src/api-coverage/capture.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -25,6 +25,8 @@
|
|
|
25
25
|
* - TESTCHIMP_TESTS_FOLDER (optional): Base folder for relative path calculation
|
|
26
26
|
* - TESTCHIMP_RELEASE (optional): Release/version identifier
|
|
27
27
|
* - TESTCHIMP_ENV (optional): Environment name (e.g., staging, prod)
|
|
28
|
+
* - TESTCHIMP_ENABLE_API_CAPTURE (optional): set to 1/true to opt in to API operation
|
|
29
|
+
* capture + payload ingest (default off — no page listeners / no ingest)
|
|
28
30
|
* Runtime (`@testchimp/playwright/runtime`): use `installTrueCoverage` or `installTestChimp` (same behavior).
|
|
29
31
|
* Platform is read from Mobilewright `projects[].use.platform` (`ios`/`android`); omitted means web (`page` fixture).
|
|
30
32
|
* Pass `{ uiFixture: 'screen' }` when wrapping `@mobilewright/test`; default `page` for `@playwright/test`.
|
|
@@ -48,7 +50,7 @@ export { DataSourceEnum } from './explorechimp/agents-explorechimp-json';
|
|
|
48
50
|
* `installTestChimp` / `installTrueCoverage` (see `./runtime`); `fulfillMocked` is exported here
|
|
49
51
|
* for tests that need to mark a stubbed route as MOCKED (vs the default REAL) for coverage.
|
|
50
52
|
*/
|
|
51
|
-
export { API_COVERAGE_ATTACHMENT_NAME, ApiOperationInteractionType, ApiOperationTestMode, ApiPayloadKind, TESTCHIMP_MOCKED_HEADER, attachApiCoverageCapture, apiCoveragePayloadsEnabled, buildApiCoverageUrlRegex, drainApiCoverageInteractions, fulfillMocked, isApiCoverageEnabled, type ApiOperationInteraction, type ApiOperationInteractionPayload, type ApiPayload, } from './api-coverage/capture';
|
|
53
|
+
export { API_COVERAGE_ATTACHMENT_NAME, ApiOperationInteractionType, ApiOperationTestMode, ApiPayloadKind, TESTCHIMP_MOCKED_HEADER, attachApiCoverageCapture, apiCoveragePayloadsEnabled, buildApiCoverageUrlRegex, drainApiCoverageInteractions, fulfillMocked, isApiCoverageEnabled, resolveApiCoverageBodyTimeoutMs, resolveApiCoverageDrainTimeoutMs, shouldSkipBodyForStatus, shouldSkipResourceType, type ApiOperationInteraction, type ApiOperationInteractionPayload, type ApiPayload, } from './api-coverage/capture';
|
|
52
54
|
import { TestChimpReporter } from './testchimp-reporter';
|
|
53
55
|
export default TestChimpReporter;
|
|
54
56
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACjH,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,sCAAsC,EACtC,0BAA0B,EAC1B,8BAA8B,EAC9B,mCAAmC,EACnC,sBAAsB,EACtB,uBAAuB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,GAC7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,iCAAiC,EACjC,4BAA4B,GAC7B,MAAM,kCAAkC,CAAC;AAC1C,4DAA4D;AAC5D,mBAAmB,yCAAyC,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE;;;;GAIG;AACH,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,EAC3B,oBAAoB,EACpB,cAAc,EACd,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,wBAAwB,EACxB,4BAA4B,EAC5B,aAAa,EACb,oBAAoB,EACpB,+BAA+B,EAC/B,gCAAgC,EAChC,uBAAuB,EACvB,sBAAsB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,KAAK,UAAU,GAChB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,eAAe,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -26,6 +26,8 @@
|
|
|
26
26
|
* - TESTCHIMP_TESTS_FOLDER (optional): Base folder for relative path calculation
|
|
27
27
|
* - TESTCHIMP_RELEASE (optional): Release/version identifier
|
|
28
28
|
* - TESTCHIMP_ENV (optional): Environment name (e.g., staging, prod)
|
|
29
|
+
* - TESTCHIMP_ENABLE_API_CAPTURE (optional): set to 1/true to opt in to API operation
|
|
30
|
+
* capture + payload ingest (default off — no page listeners / no ingest)
|
|
29
31
|
* Runtime (`@testchimp/playwright/runtime`): use `installTrueCoverage` or `installTestChimp` (same behavior).
|
|
30
32
|
* Platform is read from Mobilewright `projects[].use.platform` (`ios`/`android`); omitted means web (`page` fixture).
|
|
31
33
|
* Pass `{ uiFixture: 'screen' }` when wrapping `@mobilewright/test`; default `page` for `@playwright/test`.
|
|
@@ -48,7 +50,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
48
50
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
49
51
|
};
|
|
50
52
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51
|
-
exports.isApiCoverageEnabled = exports.fulfillMocked = exports.drainApiCoverageInteractions = exports.buildApiCoverageUrlRegex = exports.apiCoveragePayloadsEnabled = exports.attachApiCoverageCapture = exports.TESTCHIMP_MOCKED_HEADER = exports.ApiPayloadKind = exports.ApiOperationTestMode = exports.ApiOperationInteractionType = exports.API_COVERAGE_ATTACHMENT_NAME = exports.DataSourceEnum = exports.wrapScreenForTransportResync = exports.attachMobileScreenTransportResync = exports.resolveWebRumFlushTimeoutMs = exports.flushWebRumBuffer = exports.attachWebRumAutomationHooks = exports.transportResyncDisabled = exports.resolvePostSetSettleMs = exports.resyncTrueCoverageSetForCurrentTest = exports.isLikelyMobileTransportFailure = exports.getMobileRumAutomationUrls = exports.extendMobileTestWithTrueCoverageDevice = exports.suiteTeardownClearEnabled = exports.clearBetweenTestsEnabled = exports.buildAutomationSetOpenUrl = exports.attachMobileRumAutomationHooks = exports.buildCiTestInfoObject = exports.buildCiTestInfoJson = exports.TestChimpApiClient = exports.TestChimpReporter = void 0;
|
|
53
|
+
exports.shouldSkipResourceType = exports.shouldSkipBodyForStatus = exports.resolveApiCoverageDrainTimeoutMs = exports.resolveApiCoverageBodyTimeoutMs = exports.isApiCoverageEnabled = exports.fulfillMocked = exports.drainApiCoverageInteractions = exports.buildApiCoverageUrlRegex = exports.apiCoveragePayloadsEnabled = exports.attachApiCoverageCapture = exports.TESTCHIMP_MOCKED_HEADER = exports.ApiPayloadKind = exports.ApiOperationTestMode = exports.ApiOperationInteractionType = exports.API_COVERAGE_ATTACHMENT_NAME = exports.DataSourceEnum = exports.wrapScreenForTransportResync = exports.attachMobileScreenTransportResync = exports.resolveWebRumFlushTimeoutMs = exports.flushWebRumBuffer = exports.attachWebRumAutomationHooks = exports.transportResyncDisabled = exports.resolvePostSetSettleMs = exports.resyncTrueCoverageSetForCurrentTest = exports.isLikelyMobileTransportFailure = exports.getMobileRumAutomationUrls = exports.extendMobileTestWithTrueCoverageDevice = exports.suiteTeardownClearEnabled = exports.clearBetweenTestsEnabled = exports.buildAutomationSetOpenUrl = exports.attachMobileRumAutomationHooks = exports.buildCiTestInfoObject = exports.buildCiTestInfoJson = exports.TestChimpApiClient = exports.TestChimpReporter = void 0;
|
|
52
54
|
var testchimp_reporter_1 = require("./testchimp-reporter");
|
|
53
55
|
Object.defineProperty(exports, "TestChimpReporter", { enumerable: true, get: function () { return testchimp_reporter_1.TestChimpReporter; } });
|
|
54
56
|
var api_client_1 = require("./api-client");
|
|
@@ -95,6 +97,10 @@ Object.defineProperty(exports, "buildApiCoverageUrlRegex", { enumerable: true, g
|
|
|
95
97
|
Object.defineProperty(exports, "drainApiCoverageInteractions", { enumerable: true, get: function () { return capture_1.drainApiCoverageInteractions; } });
|
|
96
98
|
Object.defineProperty(exports, "fulfillMocked", { enumerable: true, get: function () { return capture_1.fulfillMocked; } });
|
|
97
99
|
Object.defineProperty(exports, "isApiCoverageEnabled", { enumerable: true, get: function () { return capture_1.isApiCoverageEnabled; } });
|
|
100
|
+
Object.defineProperty(exports, "resolveApiCoverageBodyTimeoutMs", { enumerable: true, get: function () { return capture_1.resolveApiCoverageBodyTimeoutMs; } });
|
|
101
|
+
Object.defineProperty(exports, "resolveApiCoverageDrainTimeoutMs", { enumerable: true, get: function () { return capture_1.resolveApiCoverageDrainTimeoutMs; } });
|
|
102
|
+
Object.defineProperty(exports, "shouldSkipBodyForStatus", { enumerable: true, get: function () { return capture_1.shouldSkipBodyForStatus; } });
|
|
103
|
+
Object.defineProperty(exports, "shouldSkipResourceType", { enumerable: true, get: function () { return capture_1.shouldSkipResourceType; } });
|
|
98
104
|
// Default export for Playwright reporter configuration
|
|
99
105
|
const testchimp_reporter_2 = require("./testchimp-reporter");
|
|
100
106
|
exports.default = testchimp_reporter_2.TestChimpReporter;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;;;;;;;;;;;;;;;;;AAEH,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA;AAC1B,2CAAkD;AAAzC,gHAAA,kBAAkB,OAAA;AAC3B,0CAAwB;AACxB,0CAAwB;AACxB,+CAAiH;AAAxG,mHAAA,mBAAmB,OAAA;AAAE,qHAAA,qBAAqB,OAAA;AACnD,iEAaiC;AAZ/B,uIAAA,8BAA8B,OAAA;AAC9B,kIAAA,yBAAyB,OAAA;AACzB,iIAAA,wBAAwB,OAAA;AACxB,kIAAA,yBAAyB,OAAA;AACzB,+IAAA,sCAAsC,OAAA;AACtC,mIAAA,0BAA0B,OAAA;AAC1B,uIAAA,8BAA8B,OAAA;AAC9B,4IAAA,mCAAmC,OAAA;AACnC,+HAAA,sBAAsB,OAAA;AACtB,gIAAA,uBAAuB,OAAA;AAIzB,2DAI8B;AAH5B,iIAAA,2BAA2B,OAAA;AAC3B,uHAAA,iBAAiB,OAAA;AACjB,iIAAA,2BAA2B,OAAA;AAE7B,mFAG0C;AAFxC,mJAAA,iCAAiC,OAAA;AACjC,8IAAA,4BAA4B,OAAA;AAI9B,oFAAyE;AAAhE,0HAAA,cAAc,OAAA;AACvB;;;;GAIG;AACH,kDAmBgC;AAlB9B,uHAAA,4BAA4B,OAAA;AAC5B,sHAAA,2BAA2B,OAAA;AAC3B,+GAAA,oBAAoB,OAAA;AACpB,yGAAA,cAAc,OAAA;AACd,kHAAA,uBAAuB,OAAA;AACvB,mHAAA,wBAAwB,OAAA;AACxB,qHAAA,0BAA0B,OAAA;AAC1B,mHAAA,wBAAwB,OAAA;AACxB,uHAAA,4BAA4B,OAAA;AAC5B,wGAAA,aAAa,OAAA;AACb,+GAAA,oBAAoB,OAAA;AACpB,0HAAA,+BAA+B,OAAA;AAC/B,2HAAA,gCAAgC,OAAA;AAChC,kHAAA,uBAAuB,OAAA;AACvB,iHAAA,sBAAsB,OAAA;AAMxB,uDAAuD;AACvD,6DAAyD;AACzD,kBAAe,sCAAiB,CAAC"}
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAGL,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAA0C,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAkBzF,+EAA+E;AAC/E,MAAM,MAAM,sBAAsB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE/F,MAAM,MAAM,uBAAuB,GAAG;IACpC,0FAA0F;IAC1F,SAAS,CAAC,EAAE,UAAU,CAAC;CACxB,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAGL,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAA0C,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAkBzF,+EAA+E;AAC/E,MAAM,MAAM,sBAAsB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE/F,MAAM,MAAM,uBAAuB,GAAG;IACpC,0FAA0F;IAC1F,SAAS,CAAC,EAAE,UAAU,CAAC;CACxB,CAAC;AAmIF;;;GAGG;AAEH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,GAAE,uBAA4B,GAAG,GAAG,CA6BzF;AAED,+GAA+G;AAC/G,eAAO,MAAM,gBAAgB,4BAAsB,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
|
package/dist/runtime.js
CHANGED
|
@@ -81,6 +81,7 @@ function extendWebTrueCoveragePage(test) {
|
|
|
81
81
|
try {
|
|
82
82
|
(0, capture_1.attachApiCoverageCapture)(page, {
|
|
83
83
|
urlRegex: (0, capture_1.buildApiCoverageUrlRegex)(),
|
|
84
|
+
// Same opt-in as isApiCoverageEnabled (TESTCHIMP_ENABLE_API_CAPTURE).
|
|
84
85
|
capturePayloads: (0, capture_1.apiCoveragePayloadsEnabled)(),
|
|
85
86
|
});
|
|
86
87
|
}
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -82,8 +82,8 @@ export declare class TestChimpReporter implements Reporter {
|
|
|
82
82
|
* US-185: read the buffered API operation interactions attached by the `page` fixture
|
|
83
83
|
* (see runtime.ts `extendWebTrueCoveragePage`) and forward them for ingest, filling in
|
|
84
84
|
* whatever test/execution identity is available at the call site. Best-effort — never
|
|
85
|
-
* throws, and no-ops when the attachment is absent (e.g.
|
|
86
|
-
* fixture used, or no matching traffic observed).
|
|
85
|
+
* throws, and no-ops when the attachment is absent (e.g. TESTCHIMP_ENABLE_API_CAPTURE unset,
|
|
86
|
+
* no page fixture used, or no matching traffic observed).
|
|
87
87
|
*/
|
|
88
88
|
private ingestApiCoverageIfPresent;
|
|
89
89
|
private _onTestEndInner;
|
|
@@ -392,8 +392,8 @@ class TestChimpReporter {
|
|
|
392
392
|
* US-185: read the buffered API operation interactions attached by the `page` fixture
|
|
393
393
|
* (see runtime.ts `extendWebTrueCoveragePage`) and forward them for ingest, filling in
|
|
394
394
|
* whatever test/execution identity is available at the call site. Best-effort — never
|
|
395
|
-
* throws, and no-ops when the attachment is absent (e.g.
|
|
396
|
-
* fixture used, or no matching traffic observed).
|
|
395
|
+
* throws, and no-ops when the attachment is absent (e.g. TESTCHIMP_ENABLE_API_CAPTURE unset,
|
|
396
|
+
* no page fixture used, or no matching traffic observed).
|
|
397
397
|
*/
|
|
398
398
|
async ingestApiCoverageIfPresent(result, ids) {
|
|
399
399
|
if (!this.apiClient)
|
package/package.json
CHANGED