@testivai/witness 2.1.0 → 2.2.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/dist/capture/settle.d.ts +8 -4
- package/dist/capture/settle.d.ts.map +1 -1
- package/dist/capture/settle.js +8 -4
- package/dist/capture/settle.js.map +1 -1
- package/dist/config/local-config.d.ts +16 -7
- package/dist/config/local-config.d.ts.map +1 -1
- package/dist/config/local-config.js.map +1 -1
- package/dist/diff/attribution.d.ts +4 -2
- package/dist/diff/attribution.d.ts.map +1 -1
- package/dist/diff/attribution.js +4 -2
- package/dist/diff/attribution.js.map +1 -1
- package/dist/diff/dom-diff.d.ts +11 -5
- package/dist/diff/dom-diff.d.ts.map +1 -1
- package/dist/diff/dom-diff.js +11 -5
- package/dist/diff/dom-diff.js.map +1 -1
- package/dist/report/compare.d.ts +9 -1
- package/dist/report/compare.d.ts.map +1 -1
- package/dist/report/compare.js +20 -4
- package/dist/report/compare.js.map +1 -1
- package/dist/report/diff-shape.d.ts +70 -0
- package/dist/report/diff-shape.d.ts.map +1 -0
- package/dist/report/diff-shape.js +67 -0
- package/dist/report/diff-shape.js.map +1 -0
- package/dist/report/index.d.ts +2 -0
- package/dist/report/index.d.ts.map +1 -1
- package/dist/report/index.js +7 -1
- package/dist/report/index.js.map +1 -1
- package/dist/report/results.d.ts +24 -10
- package/dist/report/results.d.ts.map +1 -1
- package/dist/report/template.d.ts.map +1 -1
- package/dist/report/template.js +114 -30
- package/dist/report/template.js.map +1 -1
- package/dist/standalone/launcher.d.ts +6 -0
- package/dist/standalone/launcher.d.ts.map +1 -1
- package/dist/standalone/launcher.js +41 -8
- package/dist/standalone/launcher.js.map +1 -1
- package/dist/standalone/run.d.ts +4 -1
- package/dist/standalone/run.d.ts.map +1 -1
- package/dist/standalone/run.js +64 -10
- package/dist/standalone/run.js.map +1 -1
- package/package.json +1 -1
package/dist/standalone/run.js
CHANGED
|
@@ -10,7 +10,10 @@
|
|
|
10
10
|
*
|
|
11
11
|
* Everything downstream of capture (diff, tolerances, noise hint, report,
|
|
12
12
|
* approve, GitHub Action) is the exact same pipeline the test-suite adapters
|
|
13
|
-
* feed.
|
|
13
|
+
* feed. The capture itself differs: no element map is written, so regions
|
|
14
|
+
* stay unattributed, no page shift is detected, and the computed-style check
|
|
15
|
+
* has nothing to compare (dom.styleCheck is 'unavailable', a stylesheet-only
|
|
16
|
+
* change is not ruled out, and noiseAutoPass never passes these snapshots).
|
|
14
17
|
*/
|
|
15
18
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
16
19
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -153,22 +156,59 @@ const FRESH_FRAME_SCRIPT = `new Promise((resolve) => {
|
|
|
153
156
|
* viewport (a collapsed 100vh hero, narrow-viewport media rules), so
|
|
154
157
|
* identical pages flipped between two renders from run to run. A forced
|
|
155
158
|
* layout alone does not prevent this; a rendered frame does.
|
|
159
|
+
*
|
|
160
|
+
* Returns whether two frames were rendered: false when the in-page wait
|
|
161
|
+
* timed out, or failed because the page navigated.
|
|
156
162
|
*/
|
|
157
163
|
async function waitForFreshFrame(client) {
|
|
158
164
|
try {
|
|
159
|
-
await client.Runtime.evaluate({
|
|
165
|
+
const result = await client.Runtime.evaluate({
|
|
166
|
+
expression: FRESH_FRAME_SCRIPT,
|
|
167
|
+
awaitPromise: true,
|
|
168
|
+
returnByValue: true,
|
|
169
|
+
});
|
|
170
|
+
return result?.result?.value === true;
|
|
160
171
|
}
|
|
161
172
|
catch {
|
|
162
|
-
|
|
173
|
+
return false;
|
|
163
174
|
}
|
|
164
175
|
}
|
|
176
|
+
/**
|
|
177
|
+
* Wait for a fresh frame, retrying once when none arrived in time (a loaded
|
|
178
|
+
* machine can stall a frame past the in-page timeout). If neither attempt
|
|
179
|
+
* sees one, the capture still proceeds: best-effort, never blocking.
|
|
180
|
+
*/
|
|
181
|
+
async function settleFrame(client) {
|
|
182
|
+
if (await waitForFreshFrame(client))
|
|
183
|
+
return;
|
|
184
|
+
logger_1.logger.debug('standalone capture: no fresh frame within the wait; waiting once more');
|
|
185
|
+
if (await waitForFreshFrame(client))
|
|
186
|
+
return;
|
|
187
|
+
logger_1.logger.debug('standalone capture: no fresh frame after a retry; capturing anyway, the screenshot may be stale');
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* The most captures of one page while waiting for two in a row to match.
|
|
191
|
+
* Every stale-capture pattern measured settles within four (stale, good,
|
|
192
|
+
* good / good, stale, good, good); a page that never stops animating costs
|
|
193
|
+
* four captures, not an endless loop.
|
|
194
|
+
*/
|
|
195
|
+
const MAX_CAPTURES = 4;
|
|
196
|
+
async function screenshot(client, width, height) {
|
|
197
|
+
const shot = await client.Page.captureScreenshot({
|
|
198
|
+
format: 'png',
|
|
199
|
+
captureBeyondViewport: true,
|
|
200
|
+
clip: { x: 0, y: 0, width, height, scale: 1 },
|
|
201
|
+
});
|
|
202
|
+
return shot.data;
|
|
203
|
+
}
|
|
165
204
|
/** Full-page screenshot via layout metrics (same technique as the Playwright adapter's CDP path). Exported for testing. */
|
|
166
205
|
async function captureFullPage(client) {
|
|
167
|
-
await
|
|
206
|
+
await settleFrame(client);
|
|
168
207
|
// Freshly-launched Chrome can report zero-size content before its first
|
|
169
208
|
// real layout — poll briefly until metrics are usable.
|
|
170
209
|
let width = 0;
|
|
171
210
|
let height = 0;
|
|
211
|
+
let polled = false;
|
|
172
212
|
const deadline = Date.now() + 5000;
|
|
173
213
|
for (;;) {
|
|
174
214
|
const metrics = await client.Page.getLayoutMetrics();
|
|
@@ -176,17 +216,31 @@ async function captureFullPage(client) {
|
|
|
176
216
|
height = Math.ceil(metrics.cssContentSize?.height ?? metrics.contentSize.height);
|
|
177
217
|
if ((width > 0 && height > 0) || Date.now() >= deadline)
|
|
178
218
|
break;
|
|
219
|
+
polled = true;
|
|
179
220
|
await new Promise((r) => setTimeout(r, 200));
|
|
180
221
|
}
|
|
181
222
|
if (width <= 0 || height <= 0) {
|
|
182
223
|
throw new Error(`page reported unusable content size ${width}x${height}`);
|
|
183
224
|
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
225
|
+
// The frame waited for above predates the layout the poll waited for, so
|
|
226
|
+
// it may not show it: wait for a frame rendered after that layout.
|
|
227
|
+
if (polled)
|
|
228
|
+
await settleFrame(client);
|
|
229
|
+
// Even after two fresh frames, Page.captureScreenshot now and then returns
|
|
230
|
+
// an older frame: the layout from before the viewport override, or an
|
|
231
|
+
// entry animation mid-way. Measured, it never returned the same stale
|
|
232
|
+
// pixels twice in a row, so capture until two captures in a row match.
|
|
233
|
+
let previous = await screenshot(client, width, height);
|
|
234
|
+
for (let captures = 1; captures < MAX_CAPTURES; captures++) {
|
|
235
|
+
await settleFrame(client);
|
|
236
|
+
const current = await screenshot(client, width, height);
|
|
237
|
+
if (current === previous)
|
|
238
|
+
return Buffer.from(current, 'base64');
|
|
239
|
+
logger_1.logger.debug('standalone capture: two captures in a row differed; capturing again');
|
|
240
|
+
previous = current;
|
|
241
|
+
}
|
|
242
|
+
logger_1.logger.debug(`standalone capture: no two captures in a row matched in ${MAX_CAPTURES}; keeping the last`);
|
|
243
|
+
return Buffer.from(previous, 'base64');
|
|
190
244
|
}
|
|
191
245
|
async function runStandaloneWitness(startUrl, options) {
|
|
192
246
|
const projectRoot = process.cwd();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/standalone/run.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/standalone/run.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@testivai/witness",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "Local-first visual regression testing: CLI, diff engine, baselines and self-contained HTML report. No account, nothing uploaded.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|