@testchimp/playwright 0.1.9 → 0.1.13
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/api-client.d.ts +19 -0
- package/dist/api-client.d.ts.map +1 -1
- package/dist/api-client.js +34 -0
- package/dist/api-client.js.map +1 -1
- package/dist/explorechimp/agents-explorechimp-json.d.ts +153 -0
- package/dist/explorechimp/agents-explorechimp-json.d.ts.map +1 -0
- package/dist/explorechimp/agents-explorechimp-json.js +25 -0
- package/dist/explorechimp/agents-explorechimp-json.js.map +1 -0
- package/dist/explorechimp/index.d.ts +3 -9
- package/dist/explorechimp/index.d.ts.map +1 -1
- package/dist/explorechimp/index.js +32 -32
- package/dist/explorechimp/index.js.map +1 -1
- package/dist/explorechimp/perf-metrics.d.ts +4 -3
- package/dist/explorechimp/perf-metrics.d.ts.map +1 -1
- package/dist/explorechimp/perf-metrics.js +64 -70
- package/dist/explorechimp/perf-metrics.js.map +1 -1
- package/dist/explorechimp/sanitize-metrics-payload.d.ts +11 -0
- package/dist/explorechimp/sanitize-metrics-payload.d.ts.map +1 -0
- package/dist/explorechimp/sanitize-metrics-payload.js +156 -0
- package/dist/explorechimp/sanitize-metrics-payload.js.map +1 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +14 -1
- package/dist/runtime.js.map +1 -1
- package/dist/testchimp-reporter.d.ts +5 -0
- package/dist/testchimp-reporter.d.ts.map +1 -1
- package/dist/testchimp-reporter.js +58 -1
- package/dist/testchimp-reporter.js.map +1 -1
- package/dist/utils.d.ts +5 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +11 -0
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Browser performance metrics for ExploreChimp
|
|
4
|
-
* `
|
|
3
|
+
* Browser performance metrics for ExploreChimp — builds {@link MetricsPayload}
|
|
4
|
+
* (`agents.proto`) in the page and returns it to Node.
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.parseExploreChimpLongTaskThresholdMs = parseExploreChimpLongTaskThresholdMs;
|
|
@@ -26,7 +26,6 @@ async function installExploreChimpPerfMetricsObservers(page, longTaskThresholdMs
|
|
|
26
26
|
return;
|
|
27
27
|
g.__exploreChimpPerfInstalled = true;
|
|
28
28
|
g.__perfMetrics = g.__perfMetrics || { entries: [], cls: 0, startTime: Date.now() };
|
|
29
|
-
g.__layoutShiftEntries = g.__layoutShiftEntries || [];
|
|
30
29
|
function observeLcp() {
|
|
31
30
|
try {
|
|
32
31
|
const lcpObserver = new PerformanceObserver((list) => {
|
|
@@ -78,54 +77,6 @@ async function installExploreChimpPerfMetricsObservers(page, longTaskThresholdMs
|
|
|
78
77
|
cumulative: g.__perfMetrics.cls,
|
|
79
78
|
timestamp: Date.now(),
|
|
80
79
|
});
|
|
81
|
-
const sources = (le.sources || []).map((source) => {
|
|
82
|
-
const s = source;
|
|
83
|
-
const node = s.node;
|
|
84
|
-
const currentRect = s.currentRect;
|
|
85
|
-
let element;
|
|
86
|
-
if (node && currentRect) {
|
|
87
|
-
const tag = node.tagName?.toLowerCase();
|
|
88
|
-
const role = node.getAttribute?.('role') || undefined;
|
|
89
|
-
const id = node.id || undefined;
|
|
90
|
-
const syntheticId = node.getAttribute?.('data-synthetic-id') || undefined;
|
|
91
|
-
const ariaLabel = node.getAttribute?.('aria-label') || undefined;
|
|
92
|
-
let text;
|
|
93
|
-
try {
|
|
94
|
-
const tc = node.textContent || '';
|
|
95
|
-
if (tc.trim())
|
|
96
|
-
text = tc.trim().substring(0, 100);
|
|
97
|
-
}
|
|
98
|
-
catch {
|
|
99
|
-
/* ignore */
|
|
100
|
-
}
|
|
101
|
-
let className;
|
|
102
|
-
try {
|
|
103
|
-
const ca = node.getAttribute?.('class') || String(node.className || '');
|
|
104
|
-
if (ca)
|
|
105
|
-
className = ca.substring(0, 100);
|
|
106
|
-
}
|
|
107
|
-
catch {
|
|
108
|
-
/* ignore */
|
|
109
|
-
}
|
|
110
|
-
element = { tag, role, text, id, className, syntheticId, ariaLabel };
|
|
111
|
-
}
|
|
112
|
-
const viewportWidth = window.innerWidth || 1;
|
|
113
|
-
const viewportHeight = window.innerHeight || 1;
|
|
114
|
-
const cr = currentRect || { left: 0, top: 0, width: 0, height: 0 };
|
|
115
|
-
const boundingBox = {
|
|
116
|
-
xPct: (cr.left / viewportWidth) * 100,
|
|
117
|
-
yPct: (cr.top / viewportHeight) * 100,
|
|
118
|
-
widthPct: (cr.width / viewportWidth) * 100,
|
|
119
|
-
heightPct: (cr.height / viewportHeight) * 100,
|
|
120
|
-
};
|
|
121
|
-
return { element, boundingBox };
|
|
122
|
-
});
|
|
123
|
-
g.__layoutShiftEntries.push({
|
|
124
|
-
value: le.value || 0,
|
|
125
|
-
cumulative: g.__perfMetrics.cls,
|
|
126
|
-
timestamp: Date.now(),
|
|
127
|
-
sources,
|
|
128
|
-
});
|
|
129
80
|
}
|
|
130
81
|
}
|
|
131
82
|
});
|
|
@@ -348,6 +299,62 @@ async function installExploreChimpPerfMetricsObservers(page, longTaskThresholdMs
|
|
|
348
299
|
async function collectMetricsSince(page, sinceTimestamp) {
|
|
349
300
|
return page.evaluate((since) => {
|
|
350
301
|
const w = globalThis;
|
|
302
|
+
function toProtoInteractionEntry(e) {
|
|
303
|
+
const row = {
|
|
304
|
+
duration: e.duration,
|
|
305
|
+
eventType: e.eventType,
|
|
306
|
+
timestamp: e.timestamp,
|
|
307
|
+
};
|
|
308
|
+
if (e.inputDelay !== undefined)
|
|
309
|
+
row.inputDelay = e.inputDelay;
|
|
310
|
+
if (e.processingDuration !== undefined)
|
|
311
|
+
row.processingDuration = e.processingDuration;
|
|
312
|
+
if (e.presentationDelay !== undefined)
|
|
313
|
+
row.presentationDelay = e.presentationDelay;
|
|
314
|
+
if (e.targetElementId !== undefined)
|
|
315
|
+
row.targetElementId = e.targetElementId;
|
|
316
|
+
if (e.targetLocator !== undefined)
|
|
317
|
+
row.targetLocator = e.targetLocator;
|
|
318
|
+
if (e.boundingBox) {
|
|
319
|
+
const bb = {
|
|
320
|
+
xPct: e.boundingBox.xPct,
|
|
321
|
+
yPct: e.boundingBox.yPct,
|
|
322
|
+
widthPct: e.boundingBox.widthPct,
|
|
323
|
+
heightPct: e.boundingBox.heightPct,
|
|
324
|
+
};
|
|
325
|
+
row.boundingBox = bb;
|
|
326
|
+
}
|
|
327
|
+
return row;
|
|
328
|
+
}
|
|
329
|
+
function toProtoResourceEntry(e) {
|
|
330
|
+
const row = {
|
|
331
|
+
url: e.url,
|
|
332
|
+
initiatorType: e.initiatorType,
|
|
333
|
+
duration: e.duration,
|
|
334
|
+
timestamp: e.timestamp,
|
|
335
|
+
};
|
|
336
|
+
if (e.dnsLookupMs !== undefined)
|
|
337
|
+
row.dnsLookupMs = e.dnsLookupMs;
|
|
338
|
+
if (e.tcpConnectionMs !== undefined)
|
|
339
|
+
row.tcpConnectionMs = e.tcpConnectionMs;
|
|
340
|
+
if (e.tlsNegotiationMs !== undefined)
|
|
341
|
+
row.tlsNegotiationMs = e.tlsNegotiationMs;
|
|
342
|
+
if (e.requestTimeMs !== undefined)
|
|
343
|
+
row.requestTimeMs = e.requestTimeMs;
|
|
344
|
+
if (e.responseTimeMs !== undefined)
|
|
345
|
+
row.responseTimeMs = e.responseTimeMs;
|
|
346
|
+
if (e.transferSizeBytes !== undefined)
|
|
347
|
+
row.transferSizeBytes = e.transferSizeBytes;
|
|
348
|
+
if (e.encodedSizeBytes !== undefined)
|
|
349
|
+
row.encodedSizeBytes = e.encodedSizeBytes;
|
|
350
|
+
if (e.decodedSizeBytes !== undefined)
|
|
351
|
+
row.decodedSizeBytes = e.decodedSizeBytes;
|
|
352
|
+
if (e.fromCache !== undefined)
|
|
353
|
+
row.fromCache = e.fromCache;
|
|
354
|
+
if (e.resourceType !== undefined)
|
|
355
|
+
row.resourceType = e.resourceType;
|
|
356
|
+
return row;
|
|
357
|
+
}
|
|
351
358
|
function fallbackFromPerformanceTimeline() {
|
|
352
359
|
const nav = performance.getEntriesByType('navigation')[0];
|
|
353
360
|
const paint = performance.getEntriesByType('paint');
|
|
@@ -375,7 +382,7 @@ async function collectMetricsSince(page, sinceTimestamp) {
|
|
|
375
382
|
lcp: lcpMs,
|
|
376
383
|
fcp,
|
|
377
384
|
cls,
|
|
378
|
-
collectedAt:
|
|
385
|
+
collectedAt: Date.now(),
|
|
379
386
|
longTasksCount: 0,
|
|
380
387
|
longTasksTotalMs: 0,
|
|
381
388
|
memoryHeapUsedMb: mem?.usedJSHeapSize ? mem.usedJSHeapSize / (1024 * 1024) : undefined,
|
|
@@ -419,20 +426,13 @@ async function collectMetricsSince(page, sinceTimestamp) {
|
|
|
419
426
|
if (w.__interactionMetrics && w.__interactionMetrics.length > 0) {
|
|
420
427
|
const filtered = w.__interactionMetrics.filter((entry) => entry.timestamp >= since);
|
|
421
428
|
if (filtered.length > 0)
|
|
422
|
-
interactionLatencies = filtered;
|
|
429
|
+
interactionLatencies = filtered.map(toProtoInteractionEntry);
|
|
423
430
|
}
|
|
424
431
|
let resourceTimings;
|
|
425
432
|
if (w.__resourceTimings && w.__resourceTimings.length > 0) {
|
|
426
433
|
const filtered = w.__resourceTimings.filter((entry) => entry.timestamp >= since);
|
|
427
434
|
if (filtered.length > 0)
|
|
428
|
-
resourceTimings = filtered;
|
|
429
|
-
}
|
|
430
|
-
let layoutShiftEntries;
|
|
431
|
-
if (w.__layoutShiftEntries && w.__layoutShiftEntries.length > 0) {
|
|
432
|
-
const filtered = w.__layoutShiftEntries.filter((entry) => entry.timestamp >= since);
|
|
433
|
-
w.__layoutShiftEntries = w.__layoutShiftEntries.filter((entry) => entry.timestamp < since);
|
|
434
|
-
if (filtered.length > 0)
|
|
435
|
-
layoutShiftEntries = filtered;
|
|
435
|
+
resourceTimings = filtered.map(toProtoResourceEntry);
|
|
436
436
|
}
|
|
437
437
|
const base = {
|
|
438
438
|
lcp,
|
|
@@ -445,16 +445,12 @@ async function collectMetricsSince(page, sinceTimestamp) {
|
|
|
445
445
|
memoryHeapUsedMb,
|
|
446
446
|
memoryHeapTotalMb,
|
|
447
447
|
collectedAt: Date.now(),
|
|
448
|
+
...(interactionLatencies ? { interactionLatencies } : {}),
|
|
449
|
+
...(resourceTimings ? { resourceTimings } : {}),
|
|
448
450
|
};
|
|
449
|
-
if (interactionLatencies)
|
|
450
|
-
base.interactionLatencies = interactionLatencies;
|
|
451
|
-
if (resourceTimings)
|
|
452
|
-
base.resourceTimings = resourceTimings;
|
|
453
|
-
if (layoutShiftEntries)
|
|
454
|
-
base.layoutShiftEntries = layoutShiftEntries;
|
|
455
451
|
const hasAny = lcp !== undefined ||
|
|
456
452
|
fcp !== undefined ||
|
|
457
|
-
cls
|
|
453
|
+
(typeof cls === 'number' && cls > 0) ||
|
|
458
454
|
tbt > 0 ||
|
|
459
455
|
longTasksCount > 0 ||
|
|
460
456
|
(interactionLatencies && interactionLatencies.length > 0) ||
|
|
@@ -478,8 +474,6 @@ async function resetExploreChimpPerfMetricsBuffers(page) {
|
|
|
478
474
|
w.__interactionMetrics = [];
|
|
479
475
|
if (w.__resourceTimings)
|
|
480
476
|
w.__resourceTimings = [];
|
|
481
|
-
if (w.__layoutShiftEntries)
|
|
482
|
-
w.__layoutShiftEntries = [];
|
|
483
477
|
});
|
|
484
478
|
}
|
|
485
479
|
//# sourceMappingURL=perf-metrics.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"perf-metrics.js","sourceRoot":"","sources":["../../src/explorechimp/perf-metrics.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"perf-metrics.js","sourceRoot":"","sources":["../../src/explorechimp/perf-metrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whitelist metrics JSON to match `com.aware.agents.MetricsPayload` in `agents.proto`
|
|
3
|
+
* before POSTing to `/smart-test/analyze_explorechimp_data_sources`. Java protobuf JSON
|
|
4
|
+
* merge rejects unknown field names (e.g. historical `layoutShiftEntries`).
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Returns a new object containing only fields defined on `MetricsPayload` and nested
|
|
8
|
+
* messages (`LongTaskDetail`, `InteractionLatencyEntry`, `BoundingBox`, `ResourceTimingEntry`).
|
|
9
|
+
*/
|
|
10
|
+
export declare function sanitizeMetricsPayloadForProto(raw: Record<string, unknown>): Record<string, unknown>;
|
|
11
|
+
//# sourceMappingURL=sanitize-metrics-payload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitize-metrics-payload.d.ts","sourceRoot":"","sources":["../../src/explorechimp/sanitize-metrics-payload.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiFH;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA+DpG"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Whitelist metrics JSON to match `com.aware.agents.MetricsPayload` in `agents.proto`
|
|
4
|
+
* before POSTing to `/smart-test/analyze_explorechimp_data_sources`. Java protobuf JSON
|
|
5
|
+
* merge rejects unknown field names (e.g. historical `layoutShiftEntries`).
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.sanitizeMetricsPayloadForProto = sanitizeMetricsPayloadForProto;
|
|
9
|
+
const METRICS_ROOT_KEYS = new Set([
|
|
10
|
+
'lcp',
|
|
11
|
+
'fcp',
|
|
12
|
+
'cls',
|
|
13
|
+
'tbt',
|
|
14
|
+
'longTasksCount',
|
|
15
|
+
'longTasksTotalMs',
|
|
16
|
+
'longTaskDetails',
|
|
17
|
+
'memoryHeapUsedMb',
|
|
18
|
+
'memoryHeapTotalMb',
|
|
19
|
+
'collectedAt',
|
|
20
|
+
'screenState',
|
|
21
|
+
'interactionLatencies',
|
|
22
|
+
'resourceTimings',
|
|
23
|
+
]);
|
|
24
|
+
const LONG_TASK_DETAIL_KEYS = new Set([
|
|
25
|
+
'name',
|
|
26
|
+
'startTime',
|
|
27
|
+
'duration',
|
|
28
|
+
'attributionName',
|
|
29
|
+
'attributionType',
|
|
30
|
+
'containerType',
|
|
31
|
+
'containerSrc',
|
|
32
|
+
'containerId',
|
|
33
|
+
]);
|
|
34
|
+
const BOUNDING_BOX_KEYS = new Set(['xPct', 'yPct', 'widthPct', 'heightPct']);
|
|
35
|
+
const INTERACTION_LATENCY_KEYS = new Set([
|
|
36
|
+
'duration',
|
|
37
|
+
'inputDelay',
|
|
38
|
+
'processingDuration',
|
|
39
|
+
'presentationDelay',
|
|
40
|
+
'eventType',
|
|
41
|
+
'timestamp',
|
|
42
|
+
'targetElementId',
|
|
43
|
+
'targetLocator',
|
|
44
|
+
'boundingBox',
|
|
45
|
+
]);
|
|
46
|
+
const RESOURCE_TIMING_KEYS = new Set([
|
|
47
|
+
'url',
|
|
48
|
+
'initiatorType',
|
|
49
|
+
'duration',
|
|
50
|
+
'dnsLookupMs',
|
|
51
|
+
'tcpConnectionMs',
|
|
52
|
+
'tlsNegotiationMs',
|
|
53
|
+
'requestTimeMs',
|
|
54
|
+
'responseTimeMs',
|
|
55
|
+
'transferSizeBytes',
|
|
56
|
+
'encodedSizeBytes',
|
|
57
|
+
'decodedSizeBytes',
|
|
58
|
+
'fromCache',
|
|
59
|
+
'timestamp',
|
|
60
|
+
'resourceType',
|
|
61
|
+
]);
|
|
62
|
+
function pickFields(obj, allowed) {
|
|
63
|
+
if (!obj || typeof obj !== 'object' || Array.isArray(obj))
|
|
64
|
+
return undefined;
|
|
65
|
+
const o = obj;
|
|
66
|
+
const out = {};
|
|
67
|
+
for (const k of allowed) {
|
|
68
|
+
if (!Object.prototype.hasOwnProperty.call(o, k))
|
|
69
|
+
continue;
|
|
70
|
+
const v = o[k];
|
|
71
|
+
if (v !== undefined)
|
|
72
|
+
out[k] = v;
|
|
73
|
+
}
|
|
74
|
+
return Object.keys(out).length > 0 ? out : undefined;
|
|
75
|
+
}
|
|
76
|
+
function normalizeCollectedAt(v) {
|
|
77
|
+
if (typeof v === 'number' && Number.isFinite(v))
|
|
78
|
+
return Math.trunc(v);
|
|
79
|
+
if (typeof v === 'string') {
|
|
80
|
+
const n = Number(v);
|
|
81
|
+
if (Number.isFinite(n))
|
|
82
|
+
return Math.trunc(n);
|
|
83
|
+
}
|
|
84
|
+
return Date.now();
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Returns a new object containing only fields defined on `MetricsPayload` and nested
|
|
88
|
+
* messages (`LongTaskDetail`, `InteractionLatencyEntry`, `BoundingBox`, `ResourceTimingEntry`).
|
|
89
|
+
*/
|
|
90
|
+
function sanitizeMetricsPayloadForProto(raw) {
|
|
91
|
+
const out = {};
|
|
92
|
+
for (const key of METRICS_ROOT_KEYS) {
|
|
93
|
+
if (!Object.prototype.hasOwnProperty.call(raw, key))
|
|
94
|
+
continue;
|
|
95
|
+
const v = raw[key];
|
|
96
|
+
if (v === undefined)
|
|
97
|
+
continue;
|
|
98
|
+
if (key === 'longTaskDetails' && Array.isArray(v)) {
|
|
99
|
+
const rows = v
|
|
100
|
+
.map((item) => pickFields(item, LONG_TASK_DETAIL_KEYS))
|
|
101
|
+
.filter((row) => row != null);
|
|
102
|
+
if (rows.length > 0)
|
|
103
|
+
out.longTaskDetails = rows;
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
if (key === 'interactionLatencies' && Array.isArray(v)) {
|
|
107
|
+
const rows = v
|
|
108
|
+
.map((item) => {
|
|
109
|
+
const row = pickFields(item, INTERACTION_LATENCY_KEYS);
|
|
110
|
+
if (!row)
|
|
111
|
+
return undefined;
|
|
112
|
+
if (row.boundingBox && typeof row.boundingBox === 'object') {
|
|
113
|
+
const bb = pickFields(row.boundingBox, BOUNDING_BOX_KEYS);
|
|
114
|
+
if (bb)
|
|
115
|
+
row.boundingBox = bb;
|
|
116
|
+
else
|
|
117
|
+
delete row.boundingBox;
|
|
118
|
+
}
|
|
119
|
+
return row;
|
|
120
|
+
})
|
|
121
|
+
.filter((row) => row != null);
|
|
122
|
+
if (rows.length > 0)
|
|
123
|
+
out.interactionLatencies = rows;
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
if (key === 'resourceTimings' && Array.isArray(v)) {
|
|
127
|
+
const rows = v
|
|
128
|
+
.map((item) => pickFields(item, RESOURCE_TIMING_KEYS))
|
|
129
|
+
.filter((row) => row != null);
|
|
130
|
+
if (rows.length > 0)
|
|
131
|
+
out.resourceTimings = rows;
|
|
132
|
+
continue;
|
|
133
|
+
}
|
|
134
|
+
// `MetricsPayload.screen_state` is a string ("screen|state"), not `ScreenState` message JSON.
|
|
135
|
+
if (key === 'screenState') {
|
|
136
|
+
if (typeof v === 'string' && v.length > 0) {
|
|
137
|
+
out.screenState = v;
|
|
138
|
+
}
|
|
139
|
+
else if (v && typeof v === 'object' && !Array.isArray(v)) {
|
|
140
|
+
const s = v;
|
|
141
|
+
const name = s.name != null ? String(s.name) : '';
|
|
142
|
+
const state = s.state != null ? String(s.state) : '';
|
|
143
|
+
if (name)
|
|
144
|
+
out.screenState = state ? `${name}|${state}` : name;
|
|
145
|
+
}
|
|
146
|
+
continue;
|
|
147
|
+
}
|
|
148
|
+
if (key === 'collectedAt') {
|
|
149
|
+
out.collectedAt = normalizeCollectedAt(v);
|
|
150
|
+
continue;
|
|
151
|
+
}
|
|
152
|
+
out[key] = v;
|
|
153
|
+
}
|
|
154
|
+
return out;
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=sanitize-metrics-payload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitize-metrics-payload.js","sourceRoot":"","sources":["../../src/explorechimp/sanitize-metrics-payload.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH,OAAO,EAGL,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAKxB,+EAA+E;AAC/E,MAAM,MAAM,sBAAsB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH,OAAO,EAGL,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAKxB,+EAA+E;AAC/E,MAAM,MAAM,sBAAsB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AA8B/F;;;GAGG;AAEH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAsDlD;AAED,8GAA8G;AAC9G,eAAO,MAAM,gBAAgB,4BAAsB,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
|
package/dist/runtime.js
CHANGED
|
@@ -58,7 +58,20 @@ function addMarkScreenStateFixture(test) {
|
|
|
58
58
|
markScreenState: async ({ page }, use) => {
|
|
59
59
|
const fn = async (screenName, stateName) => {
|
|
60
60
|
if ((0, explorechimp_1.isExploreChimpEnabled)()) {
|
|
61
|
-
|
|
61
|
+
try {
|
|
62
|
+
await (0, explorechimp_1.runExploreChimpMarkScreenState)(page, screenName, stateName);
|
|
63
|
+
}
|
|
64
|
+
catch (err) {
|
|
65
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
66
|
+
// eslint-disable-next-line no-console
|
|
67
|
+
console.warn(`[TestChimp] ExploreChimp markScreenState failed (non-fatal): ${msg}`);
|
|
68
|
+
try {
|
|
69
|
+
await runTraceOnlyMarkScreenState(screenName, stateName);
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
// Trace step is best-effort; never fail the test for analytics.
|
|
73
|
+
}
|
|
74
|
+
}
|
|
62
75
|
}
|
|
63
76
|
else {
|
|
64
77
|
await runTraceOnlyMarkScreenState(screenName, stateName);
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,6 +58,11 @@ export declare class TestChimpReporter implements Reporter {
|
|
|
58
58
|
private _onTestEndInner;
|
|
59
59
|
onEnd(result: FullResult): Promise<void>;
|
|
60
60
|
private getTestKey;
|
|
61
|
+
/**
|
|
62
|
+
* Local ExploreChimp: persist step timeline and mark journey_execution completed.
|
|
63
|
+
* Uses manifest jobId when in platform mode and resolved; otherwise stable hash of journeyId + batch + retry.
|
|
64
|
+
*/
|
|
65
|
+
private maybeExploreChimpJourneyExecutionEnd;
|
|
61
66
|
private scanTestRetries;
|
|
62
67
|
private buildReport;
|
|
63
68
|
private mapStatus;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testchimp-reporter.d.ts","sourceRoot":"","sources":["../src/testchimp-reporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,KAAK,EACL,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,UAAU,EAEX,MAAM,2BAA2B,CAAC;AAKnC,OAAO,EACL,wBAAwB,EAQzB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"testchimp-reporter.d.ts","sourceRoot":"","sources":["../src/testchimp-reporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,KAAK,EACL,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,UAAU,EAEX,MAAM,2BAA2B,CAAC;AAKnC,OAAO,EACL,wBAAwB,EAQzB,MAAM,SAAS,CAAC;AAgCjB;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,iBAAkB,YAAW,QAAQ;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAoB;IACnE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,+BAA+B,CAAW;IAClE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,4BAA4B,CAAK;IACzD,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,iBAAiB,CAAc;IACvC,OAAO,CAAC,WAAW,CAAc;IAIjC,OAAO,CAAC,cAAc,CAA8C;IAGpE,OAAO,CAAC,aAAa,CAAqC;IAG1D,OAAO,CAAC,WAAW,CAA0B;IAG7C,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,iBAAiB,CAAsB;gBAEnC,OAAO,GAAE,wBAA6B;IA0BlD,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAwD/C,OAAO,CAAC,eAAe;IAqBvB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,0BAA0B;IAalC;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IAiClC,sGAAsG;IACtG,OAAO,CAAC,gCAAgC;IAIxC,oFAAoF;IACpF,OAAO,CAAC,8BAA8B;IAetC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IA+BrD,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI;IAwG7D,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;YAMpD,eAAe;IAwJvB,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB9C,OAAO,CAAC,UAAU;IAIlB;;;OAGG;YACW,oCAAoC;IAiClD,OAAO,CAAC,eAAe;IAmBvB,OAAO,CAAC,WAAW;IA4CnB,OAAO,CAAC,SAAS;IAqBjB;;OAEG;YACW,+BAA+B;IAiH7C,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,iBAAiB;YAWX,8BAA8B;IAsD5C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CA8C3C;IAEF,OAAO,CAAC,mBAAmB;IAI3B,+EAA+E;IAC/E,OAAO,CAAC,kCAAkC;IAW1C,yHAAyH;IACzH,wGAAwG;IACxG,OAAO,CAAC,gCAAgC;IAUxC,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,iBAAiB;CAsB1B"}
|
|
@@ -9,6 +9,7 @@ const sharp_1 = __importDefault(require("sharp"));
|
|
|
9
9
|
const api_client_1 = require("./api-client");
|
|
10
10
|
const types_1 = require("./types");
|
|
11
11
|
const utils_1 = require("./utils");
|
|
12
|
+
const index_1 = require("./explorechimp/index");
|
|
12
13
|
const path_1 = __importDefault(require("path"));
|
|
13
14
|
/**
|
|
14
15
|
* TestChimp Playwright Reporter
|
|
@@ -387,6 +388,12 @@ class TestChimpReporter {
|
|
|
387
388
|
else {
|
|
388
389
|
console.warn(`[TestChimp] platform/test_end skipped: no jobId in manifest for folderPath="${paths.folderPath}" normalizedFolderPath="${(0, utils_1.normalizeManifestFolderPath)(paths.folderPath)}" fileName="${paths.fileName}" suitePath=${JSON.stringify(paths.suitePath)} testName="${paths.testName}" candidates=${this.getManifestDebugCandidates(paths.fileName, paths.testName)}`);
|
|
389
390
|
}
|
|
391
|
+
try {
|
|
392
|
+
await this.maybeExploreChimpJourneyExecutionEnd(test, result, execution, paths);
|
|
393
|
+
}
|
|
394
|
+
catch (e) {
|
|
395
|
+
console.error(`[TestChimp] ExploreChimp journey_execution_end failed for ${test.title}:`, e);
|
|
396
|
+
}
|
|
390
397
|
// Cleanup all attempts for this test (we have attempts 0..result.retry)
|
|
391
398
|
for (let r = 0; r <= result.retry; r++) {
|
|
392
399
|
this.testExecutions.delete(this.getTestKey(test, r));
|
|
@@ -394,9 +401,15 @@ class TestChimpReporter {
|
|
|
394
401
|
}
|
|
395
402
|
return;
|
|
396
403
|
}
|
|
397
|
-
// CI mode: skip non-final attempts if configured
|
|
404
|
+
// CI mode: skip non-final attempts if configured (still close ExploreChimp journey for this attempt)
|
|
398
405
|
if (this.options.reportOnlyFinalAttempt && !isFinalAttempt) {
|
|
399
406
|
console.log(`[TestChimp] Skipping non-final attempt ${result.retry + 1} for: ${test.title}`);
|
|
407
|
+
try {
|
|
408
|
+
await this.maybeExploreChimpJourneyExecutionEnd(test, result, execution);
|
|
409
|
+
}
|
|
410
|
+
catch (e) {
|
|
411
|
+
console.error(`[TestChimp] ExploreChimp journey_execution_end failed for ${test.title}:`, e);
|
|
412
|
+
}
|
|
400
413
|
this.testExecutions.delete(testKey);
|
|
401
414
|
return;
|
|
402
415
|
}
|
|
@@ -430,6 +443,12 @@ class TestChimpReporter {
|
|
|
430
443
|
catch (error) {
|
|
431
444
|
console.error(`[TestChimp] Failed to report test: ${test.title}`, error);
|
|
432
445
|
}
|
|
446
|
+
try {
|
|
447
|
+
await this.maybeExploreChimpJourneyExecutionEnd(test, result, execution);
|
|
448
|
+
}
|
|
449
|
+
catch (e) {
|
|
450
|
+
console.error(`[TestChimp] ExploreChimp journey_execution_end failed for ${test.title}:`, e);
|
|
451
|
+
}
|
|
433
452
|
// Cleanup
|
|
434
453
|
this.testExecutions.delete(testKey);
|
|
435
454
|
}
|
|
@@ -438,6 +457,17 @@ class TestChimpReporter {
|
|
|
438
457
|
console.log(`[TestChimp] Waiting for ${this.pendingOperations.length} pending operations to complete...`);
|
|
439
458
|
await Promise.allSettled(this.pendingOperations);
|
|
440
459
|
}
|
|
460
|
+
if (this.isEnabled && this.apiClient && (0, index_1.isExploreChimpEnabled)()) {
|
|
461
|
+
const explorationId = this.batchInvocationId?.trim();
|
|
462
|
+
if (explorationId) {
|
|
463
|
+
try {
|
|
464
|
+
await this.apiClient.explorechimpExplorationEnd({ explorationId });
|
|
465
|
+
}
|
|
466
|
+
catch (e) {
|
|
467
|
+
console.error('[TestChimp] explorechimp/exploration_end failed:', e);
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
}
|
|
441
471
|
if (this.options.verbose) {
|
|
442
472
|
console.log(`[TestChimp] Test run completed. Status: ${result.status}`);
|
|
443
473
|
console.log(`[TestChimp] Batch invocation ID: ${this.batchInvocationId}`);
|
|
@@ -449,6 +479,33 @@ class TestChimpReporter {
|
|
|
449
479
|
getTestKey(test, retry) {
|
|
450
480
|
return `${test.id}_attempt_${retry}`;
|
|
451
481
|
}
|
|
482
|
+
/**
|
|
483
|
+
* Local ExploreChimp: persist step timeline and mark journey_execution completed.
|
|
484
|
+
* Uses manifest jobId when in platform mode and resolved; otherwise stable hash of journeyId + batch + retry.
|
|
485
|
+
*/
|
|
486
|
+
async maybeExploreChimpJourneyExecutionEnd(test, result, execution, pathsInput) {
|
|
487
|
+
if (!this.apiClient || !(0, index_1.isExploreChimpEnabled)()) {
|
|
488
|
+
return;
|
|
489
|
+
}
|
|
490
|
+
const explorationId = this.batchInvocationId?.trim();
|
|
491
|
+
if (!explorationId) {
|
|
492
|
+
console.warn('[TestChimp] ExploreChimp: skipping journey_execution_end — batch invocation id is empty (set TESTCHIMP_BATCH_INVOCATION_ID)');
|
|
493
|
+
return;
|
|
494
|
+
}
|
|
495
|
+
const paths = pathsInput ?? (0, utils_1.derivePaths)(test, this.testsFolder, this.config.rootDir, false);
|
|
496
|
+
const manifestResolved = this.options.executionMode === 'platform'
|
|
497
|
+
? this.getJobFromManifest(paths.folderPath, paths.fileName, paths.suitePath, paths.testName)
|
|
498
|
+
: undefined;
|
|
499
|
+
const journeyExecutionId = manifestResolved?.jobId?.trim() || (0, utils_1.stableJourneyExecutionId)(test.id, explorationId, result.retry);
|
|
500
|
+
await this.apiClient.explorechimpJourneyExecutionEnd({
|
|
501
|
+
journeyId: test.id,
|
|
502
|
+
journeyExecutionId,
|
|
503
|
+
explorationId,
|
|
504
|
+
steps: execution.steps,
|
|
505
|
+
smartTestStatus: this.mapStatus(result.status),
|
|
506
|
+
errorMessage: result.error?.message,
|
|
507
|
+
});
|
|
508
|
+
}
|
|
452
509
|
scanTestRetries(suite) {
|
|
453
510
|
const scanSuite = (s) => {
|
|
454
511
|
for (const test of s.tests) {
|