@syngrisi/playwright-sdk 2.4.1 → 2.5.1
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 +154 -18
- package/dist/PlaywrightDriver.d.ts +60 -13
- package/dist/PlaywrightDriver.d.ts.map +1 -1
- package/dist/PlaywrightDriver.js +98 -3
- package/dist/PlaywrightDriver.js.map +1 -1
- package/dist/lib/utils.d.ts +2 -1
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js.map +1 -1
- package/dist/schemas/Baseline.schema.d.ts +2 -32
- package/dist/schemas/Baseline.schema.d.ts.map +1 -1
- package/dist/schemas/Check.schema.d.ts +1 -27
- package/dist/schemas/Check.schema.d.ts.map +1 -1
- package/dist/schemas/SessionParams.schema.d.ts +2 -28
- package/dist/schemas/SessionParams.schema.d.ts.map +1 -1
- package/package.json +11 -8
- package/.eslintrc.cjs +0 -45
- package/tsconfig.json +0 -95
- package/tsconfig.tsbuildinfo +0 -1
- package/typedoc.config.cjs +0 -6
- package/types/index.d.ts +0 -121
package/README.md
CHANGED
|
@@ -22,11 +22,34 @@ npm install @syngrisi/playwright-sdk
|
|
|
22
22
|
|
|
23
23
|
## Base Workflow Overview
|
|
24
24
|
|
|
25
|
-
There
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
There are 3 basic steps for each test:
|
|
26
|
+
|
|
27
|
+
```mermaid
|
|
28
|
+
flowchart TD
|
|
29
|
+
subgraph Init["0. Initialization"]
|
|
30
|
+
A[new PlaywrightDriver] --> |config: page, url, apiKey| B[Setup API client]
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
subgraph Session["Test Session"]
|
|
34
|
+
C[startTestSession] --> |params: test, app, run, branch| D[Session started]
|
|
35
|
+
D --> E{Perform checks}
|
|
36
|
+
E --> F[check 1]
|
|
37
|
+
E --> G[check 2]
|
|
38
|
+
E --> H[check N...]
|
|
39
|
+
F & G & H --> I[stopTestSession]
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
subgraph Checks["Check Flow"]
|
|
43
|
+
J[check] --> |imageBuffer, checkName| K[Send to Syngrisi]
|
|
44
|
+
K --> L{Status?}
|
|
45
|
+
L --> |new + autoAccept| M[acceptCheck]
|
|
46
|
+
L --> |passed/failed| N[Return result]
|
|
47
|
+
M --> N
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
Init --> Session
|
|
51
|
+
Session --> Checks
|
|
52
|
+
```
|
|
30
53
|
|
|
31
54
|
## Usage
|
|
32
55
|
|
|
@@ -40,8 +63,10 @@ Before starting your test session, initialize the driver with the necessary conf
|
|
|
40
63
|
import { PlaywrightDriver } from '@syngrisi/playwright-sdk';
|
|
41
64
|
|
|
42
65
|
const config = {
|
|
66
|
+
page: page, // Playwright page object
|
|
67
|
+
url: 'your-syngrisi-url',
|
|
43
68
|
apiKey: 'your-api-key',
|
|
44
|
-
|
|
69
|
+
autoAccept: false // Optional: auto-accept new baselines (default: false)
|
|
45
70
|
};
|
|
46
71
|
|
|
47
72
|
const driver = new PlaywrightDriver(config);
|
|
@@ -74,12 +99,11 @@ await driver.startTestSession({ params: sessionParams });
|
|
|
74
99
|
Perform a visual check by providing the check name, image buffer, and any additional parameters.
|
|
75
100
|
|
|
76
101
|
```js
|
|
77
|
-
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
imageBuffer: fullPageSreenshot,
|
|
102
|
+
// Full page screenshot
|
|
103
|
+
const fullPageScreenshot = await page.screenshot({ fullPage: true });
|
|
104
|
+
await driver.check({
|
|
105
|
+
checkName: 'Full Page',
|
|
106
|
+
imageBuffer: fullPageScreenshot,
|
|
83
107
|
params: {
|
|
84
108
|
viewport: '1200x800',
|
|
85
109
|
browserName: 'chrome',
|
|
@@ -89,14 +113,45 @@ driver.check({
|
|
|
89
113
|
}
|
|
90
114
|
});
|
|
91
115
|
|
|
92
|
-
//
|
|
93
|
-
|
|
116
|
+
// Element screenshot with per-check autoAccept
|
|
117
|
+
const headerScreenshot = await page.locator('#header').screenshot();
|
|
118
|
+
await driver.check({
|
|
94
119
|
checkName: 'Header',
|
|
95
120
|
imageBuffer: headerScreenshot,
|
|
96
|
-
params: {
|
|
121
|
+
params: {
|
|
122
|
+
autoAccept: true // Auto-accept this specific check if new
|
|
123
|
+
}
|
|
97
124
|
});
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Auto-Accept Mode
|
|
128
|
+
|
|
129
|
+
When `autoAccept` is enabled, new checks (with no existing baseline) are automatically accepted as the new baseline. This is useful for:
|
|
130
|
+
- Initial test runs when establishing baselines
|
|
131
|
+
- CI/CD pipelines where human review isn't needed for new checks
|
|
132
|
+
- Development workflows where baselines change frequently
|
|
133
|
+
|
|
134
|
+
You can enable auto-accept at two levels:
|
|
98
135
|
|
|
99
|
-
|
|
136
|
+
1. **Driver level** (applies to all checks):
|
|
137
|
+
```js
|
|
138
|
+
const driver = new PlaywrightDriver({
|
|
139
|
+
page: page,
|
|
140
|
+
url: 'your-syngrisi-url',
|
|
141
|
+
apiKey: 'your-api-key',
|
|
142
|
+
autoAccept: true
|
|
143
|
+
});
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
2. **Check level** (overrides driver setting for specific check):
|
|
147
|
+
```js
|
|
148
|
+
await driver.check({
|
|
149
|
+
checkName: 'Header',
|
|
150
|
+
imageBuffer: screenshot,
|
|
151
|
+
params: {
|
|
152
|
+
autoAccept: true // or false to disable for this check
|
|
153
|
+
}
|
|
154
|
+
});
|
|
100
155
|
```
|
|
101
156
|
|
|
102
157
|
### 4. Stop the Test Session
|
|
@@ -107,6 +162,85 @@ Once all checks are completed, stop the test session.
|
|
|
107
162
|
await driver.stopTestSession();
|
|
108
163
|
```
|
|
109
164
|
|
|
165
|
+
## Additional Methods
|
|
166
|
+
|
|
167
|
+
### Accept a Check
|
|
168
|
+
|
|
169
|
+
Programmatically accept a check by setting a new baseline:
|
|
170
|
+
|
|
171
|
+
```js
|
|
172
|
+
const result = await driver.acceptCheck({
|
|
173
|
+
checkId: 'check-id-123',
|
|
174
|
+
baselineId: 'baseline-id-456'
|
|
175
|
+
});
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Get Baselines
|
|
179
|
+
|
|
180
|
+
Fetch existing baselines matching criteria:
|
|
181
|
+
|
|
182
|
+
```js
|
|
183
|
+
const baselines = await driver.getBaselines({
|
|
184
|
+
params: {
|
|
185
|
+
name: 'Header',
|
|
186
|
+
app: 'MyProject',
|
|
187
|
+
branch: 'main'
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### Get Snapshots
|
|
193
|
+
|
|
194
|
+
Retrieve snapshots based on search criteria:
|
|
195
|
+
|
|
196
|
+
```js
|
|
197
|
+
const snapshots = await driver.getSnapshots({
|
|
198
|
+
params: {
|
|
199
|
+
name: 'Header',
|
|
200
|
+
app: 'MyProject',
|
|
201
|
+
branch: 'main'
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Set Ignore Regions
|
|
207
|
+
|
|
208
|
+
Set regions to exclude from visual comparison on a baseline:
|
|
209
|
+
|
|
210
|
+
```js
|
|
211
|
+
// First, get the baseline
|
|
212
|
+
const baselines = await driver.getBaselines({
|
|
213
|
+
params: {
|
|
214
|
+
name: 'Header',
|
|
215
|
+
app: 'MyProject',
|
|
216
|
+
branch: 'main'
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
|
|
220
|
+
// Set ignore regions (coordinates in pixels)
|
|
221
|
+
await driver.setIgnoreRegions({
|
|
222
|
+
baselineId: baselines.results[0]._id,
|
|
223
|
+
regions: [
|
|
224
|
+
{ left: 0, top: 0, right: 100, bottom: 50 }, // Top banner area
|
|
225
|
+
{ left: 200, top: 300, right: 400, bottom: 350 } // Dynamic content
|
|
226
|
+
]
|
|
227
|
+
});
|
|
228
|
+
|
|
229
|
+
// Or use the Region helper class
|
|
230
|
+
await driver.setIgnoreRegions({
|
|
231
|
+
baselineId: 'baseline-id-123',
|
|
232
|
+
regions: [
|
|
233
|
+
new PlaywrightDriver.Region(0, 0, 100, 50)
|
|
234
|
+
]
|
|
235
|
+
});
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
Region coordinates:
|
|
239
|
+
- `left`: X coordinate of the left edge
|
|
240
|
+
- `top`: Y coordinate of the top edge
|
|
241
|
+
- `right`: X coordinate of the right edge
|
|
242
|
+
- `bottom`: Y coordinate of the bottom edge
|
|
243
|
+
|
|
110
244
|
## Environment variables
|
|
111
245
|
|
|
112
246
|
Environment variables are used to modify the behavior of the Syngrisi Playwright SDK without code changes.
|
|
@@ -116,14 +250,16 @@ Example: To set the log level to debug, use the following command:
|
|
|
116
250
|
Windows: `set SYNGRISI_LOG_LEVEL=debug`
|
|
117
251
|
macOS/Linux: `export SYNGRISI_LOG_LEVEL=debug`
|
|
118
252
|
|
|
253
|
+
`ENV_POSTFIX` - will add to platform property, you can use this to set some unique platform name for particular
|
|
254
|
+
environment
|
|
119
255
|
`SYNGRISI_LOG_LEVEL` - logging level (`"trace" | "debug" | "info" | "warn" | "error"`)
|
|
120
256
|
|
|
121
257
|
## Documentation
|
|
122
258
|
|
|
123
259
|
For detailed information about all available methods, parameters, and configurations, please refer to
|
|
124
|
-
the [Syngrisi
|
|
260
|
+
the [Syngrisi GitHub repository](https://github.com/syngrisi/syngrisi).
|
|
125
261
|
|
|
126
262
|
## License
|
|
127
263
|
|
|
128
|
-
This project is licensed under the
|
|
264
|
+
This project is licensed under the ISC License.
|
|
129
265
|
|
|
@@ -15,6 +15,7 @@ export declare class PlaywrightDriver {
|
|
|
15
15
|
browserName: BrowserName;
|
|
16
16
|
viewport: ViewportSize;
|
|
17
17
|
params: Params;
|
|
18
|
+
private autoAccept;
|
|
18
19
|
/**
|
|
19
20
|
* Constructs the PlaywrightDriver instance for interacting with Syngrisi API.
|
|
20
21
|
* Initializes with Playwright's page object, Syngrisi API configuration, and default parameters setup.
|
|
@@ -26,9 +27,10 @@ export declare class PlaywrightDriver {
|
|
|
26
27
|
* page: await browser.newPage(), // assuming 'browser' is a Playwright Browser instance
|
|
27
28
|
* url: 'your-syngrisi-url', // Syngrisi server URL
|
|
28
29
|
* apiKey: 'your-api-key', // API key for Syngrisi server authentication
|
|
30
|
+
* autoAccept: true // Automatically accept new baselines
|
|
29
31
|
* });
|
|
30
32
|
*/
|
|
31
|
-
constructor({ page, url, apiKey }: Config);
|
|
33
|
+
constructor({ page, url, apiKey, autoAccept }: Config);
|
|
32
34
|
/**
|
|
33
35
|
* Starts a new test session with the given parameters.
|
|
34
36
|
* If parameters [os, viewport, browserName, browserVersion, browserFullVersion] are not provided,
|
|
@@ -89,9 +91,7 @@ export declare class PlaywrightDriver {
|
|
|
89
91
|
getBaselines({ params }: {
|
|
90
92
|
params: BaselineParams;
|
|
91
93
|
}): Promise<ErrorObject | {
|
|
92
|
-
results:
|
|
93
|
-
[x: string]: any;
|
|
94
|
-
}[];
|
|
94
|
+
results: Record<string, unknown>[];
|
|
95
95
|
page: number;
|
|
96
96
|
limit: number;
|
|
97
97
|
totalPages: number;
|
|
@@ -133,7 +133,8 @@ export declare class PlaywrightDriver {
|
|
|
133
133
|
* browserName: 'chrome',
|
|
134
134
|
* os: 'Windows',
|
|
135
135
|
* app: 'MyProject',
|
|
136
|
-
* branch: 'develop'
|
|
136
|
+
* branch: 'develop',
|
|
137
|
+
* autoAccept: true // Auto-accept if no baseline exists
|
|
137
138
|
* },
|
|
138
139
|
* suppressErrors: false
|
|
139
140
|
* });
|
|
@@ -145,27 +146,27 @@ export declare class PlaywrightDriver {
|
|
|
145
146
|
domDump?: any;
|
|
146
147
|
suppressErrors?: boolean;
|
|
147
148
|
}): Promise<ErrorObject | {
|
|
148
|
-
_id: string;
|
|
149
149
|
name: string;
|
|
150
|
-
createdDate: string;
|
|
151
|
-
status: string | string[];
|
|
152
|
-
viewport: string;
|
|
153
|
-
browserName: string;
|
|
154
|
-
os: string;
|
|
155
|
-
app: string;
|
|
156
|
-
branch: string;
|
|
157
150
|
test: string;
|
|
158
151
|
suite: string;
|
|
152
|
+
app: string;
|
|
153
|
+
branch: string;
|
|
159
154
|
baselineId: string;
|
|
160
155
|
actualSnapshotId: string;
|
|
161
156
|
updatedDate: string;
|
|
157
|
+
status: string | string[];
|
|
158
|
+
browserName: string;
|
|
162
159
|
browserVersion: string | number;
|
|
163
160
|
browserFullVersion: string;
|
|
161
|
+
viewport: string;
|
|
162
|
+
os: string;
|
|
164
163
|
result: string;
|
|
165
164
|
run: string;
|
|
166
165
|
creatorId: string;
|
|
167
166
|
creatorUsername: string;
|
|
168
167
|
failReasons: any[];
|
|
168
|
+
_id: string;
|
|
169
|
+
createdDate: string;
|
|
169
170
|
currentSnapshot: {
|
|
170
171
|
_id?: string | undefined;
|
|
171
172
|
name?: string | undefined;
|
|
@@ -200,5 +201,51 @@ export declare class PlaywrightDriver {
|
|
|
200
201
|
baselineId: string;
|
|
201
202
|
suppressErrors?: boolean;
|
|
202
203
|
}): Promise<CheckResponse | ErrorObject>;
|
|
204
|
+
/**
|
|
205
|
+
* Region to ignore during visual comparison.
|
|
206
|
+
* Coordinates are in pixels relative to the image.
|
|
207
|
+
*/
|
|
208
|
+
static Region: {
|
|
209
|
+
new (left: number, top: number, right: number, bottom: number): {
|
|
210
|
+
left: number;
|
|
211
|
+
top: number;
|
|
212
|
+
right: number;
|
|
213
|
+
bottom: number;
|
|
214
|
+
};
|
|
215
|
+
};
|
|
216
|
+
/**
|
|
217
|
+
* Sets ignore regions on a baseline. These regions will be excluded from visual comparison.
|
|
218
|
+
* @param {string} baselineId - The unique identifier of the baseline.
|
|
219
|
+
* @param {Array<{left: number, top: number, right: number, bottom: number}>} regions - Array of region objects.
|
|
220
|
+
* @param {boolean} [suppressErrors=false] - Flag to suppress thrown errors.
|
|
221
|
+
* @returns {Promise<any | ErrorObject>} The update result or an error object.
|
|
222
|
+
* @example
|
|
223
|
+
* // Set ignore regions on a baseline
|
|
224
|
+
* await driver.setIgnoreRegions({
|
|
225
|
+
* baselineId: 'baseline-id-123',
|
|
226
|
+
* regions: [
|
|
227
|
+
* { left: 0, top: 0, right: 100, bottom: 50 }, // Top banner
|
|
228
|
+
* { left: 200, top: 300, right: 400, bottom: 350 } // Dynamic content area
|
|
229
|
+
* ]
|
|
230
|
+
* });
|
|
231
|
+
*
|
|
232
|
+
* // Using Region helper class
|
|
233
|
+
* await driver.setIgnoreRegions({
|
|
234
|
+
* baselineId: 'baseline-id-123',
|
|
235
|
+
* regions: [
|
|
236
|
+
* new PlaywrightDriver.Region(0, 0, 100, 50)
|
|
237
|
+
* ]
|
|
238
|
+
* });
|
|
239
|
+
*/
|
|
240
|
+
setIgnoreRegions({ baselineId, regions, suppressErrors }: {
|
|
241
|
+
baselineId: string;
|
|
242
|
+
regions: Array<{
|
|
243
|
+
left: number;
|
|
244
|
+
top: number;
|
|
245
|
+
right: number;
|
|
246
|
+
bottom: number;
|
|
247
|
+
}>;
|
|
248
|
+
suppressErrors?: boolean;
|
|
249
|
+
}): Promise<any | ErrorObject>;
|
|
203
250
|
}
|
|
204
251
|
//# sourceMappingURL=PlaywrightDriver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlaywrightDriver.d.ts","sourceRoot":"","sources":["../src/PlaywrightDriver.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACzH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAG9C,OAAO,EACH,cAAc,EAEjB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACnE,OAAO,EAAE,aAAa,EAAuB,MAAM,gCAAgC,CAAA;AAYnF;;;GAGG;AACH,qBAAa,gBAAgB;IACzB,GAAG,EAAE,WAAW,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,WAAW,CAAA;IACxB,QAAQ,EAAE,YAAY,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"PlaywrightDriver.d.ts","sourceRoot":"","sources":["../src/PlaywrightDriver.ts"],"names":[],"mappings":"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"}
|
package/dist/PlaywrightDriver.js
CHANGED
|
@@ -40,9 +40,10 @@ class PlaywrightDriver {
|
|
|
40
40
|
* page: await browser.newPage(), // assuming 'browser' is a Playwright Browser instance
|
|
41
41
|
* url: 'your-syngrisi-url', // Syngrisi server URL
|
|
42
42
|
* apiKey: 'your-api-key', // API key for Syngrisi server authentication
|
|
43
|
+
* autoAccept: true // Automatically accept new baselines
|
|
43
44
|
* });
|
|
44
45
|
*/
|
|
45
|
-
constructor({ page, url, apiKey }) {
|
|
46
|
+
constructor({ page, url, apiKey, autoAccept }) {
|
|
46
47
|
const pw = new PlaywrightEntities_1.PlaywrightEntities(page);
|
|
47
48
|
this.page = pw.page;
|
|
48
49
|
this.browser = pw.browser;
|
|
@@ -52,6 +53,7 @@ class PlaywrightDriver {
|
|
|
52
53
|
this.params = {
|
|
53
54
|
test: {}
|
|
54
55
|
};
|
|
56
|
+
this.autoAccept = autoAccept || false;
|
|
55
57
|
}
|
|
56
58
|
/**
|
|
57
59
|
* Starts a new test session with the given parameters.
|
|
@@ -213,7 +215,8 @@ class PlaywrightDriver {
|
|
|
213
215
|
* browserName: 'chrome',
|
|
214
216
|
* os: 'Windows',
|
|
215
217
|
* app: 'MyProject',
|
|
216
|
-
* branch: 'develop'
|
|
218
|
+
* branch: 'develop',
|
|
219
|
+
* autoAccept: true // Auto-accept if no baseline exists
|
|
217
220
|
* },
|
|
218
221
|
* suppressErrors: false
|
|
219
222
|
* });
|
|
@@ -254,14 +257,39 @@ class PlaywrightDriver {
|
|
|
254
257
|
domDump: domDump,
|
|
255
258
|
};
|
|
256
259
|
(0, paramsGuard_1.paramsGuard)(opts, 'check, opts', Check_schema_1.CheckOptionsSchema);
|
|
260
|
+
// Remove autoAccept from params before sending to API (it's SDK-only)
|
|
261
|
+
const { autoAccept: checkAutoAccept, ...apiParams } = params || {};
|
|
257
262
|
Object.assign(
|
|
258
263
|
// @ts-ignore
|
|
259
|
-
opts,
|
|
264
|
+
opts, apiParams);
|
|
260
265
|
// @ts-ignore
|
|
261
266
|
const result = await this.api.coreCheck(imageBuffer, opts);
|
|
262
267
|
if (result.error && !suppressErrors) {
|
|
263
268
|
throw `❌ Create Check error: ${JSON.stringify(result, null, ' ')}`;
|
|
264
269
|
}
|
|
270
|
+
// Auto-accept new checks if enabled (check-level or driver-level)
|
|
271
|
+
const shouldAutoAccept = checkAutoAccept ?? this.autoAccept;
|
|
272
|
+
if (shouldAutoAccept && !result.error) {
|
|
273
|
+
const checkResult = result;
|
|
274
|
+
const status = Array.isArray(checkResult.status)
|
|
275
|
+
? checkResult.status[0]
|
|
276
|
+
: checkResult.status;
|
|
277
|
+
if (status === 'new') {
|
|
278
|
+
log.info(`Auto-accepting new check: '${checkName}' (id: ${checkResult._id})`);
|
|
279
|
+
const acceptResult = await this.acceptCheck({
|
|
280
|
+
checkId: checkResult._id,
|
|
281
|
+
baselineId: checkResult.actualSnapshotId,
|
|
282
|
+
suppressErrors
|
|
283
|
+
});
|
|
284
|
+
if (acceptResult.error && !suppressErrors) {
|
|
285
|
+
log.warn(`Failed to auto-accept check '${checkName}': ${JSON.stringify(acceptResult)}`);
|
|
286
|
+
}
|
|
287
|
+
else {
|
|
288
|
+
log.debug(`Successfully auto-accepted check '${checkName}'`);
|
|
289
|
+
return acceptResult;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
}
|
|
265
293
|
return result;
|
|
266
294
|
}
|
|
267
295
|
catch (e) {
|
|
@@ -296,6 +324,73 @@ class PlaywrightDriver {
|
|
|
296
324
|
throw e;
|
|
297
325
|
}
|
|
298
326
|
}
|
|
327
|
+
/**
|
|
328
|
+
* Sets ignore regions on a baseline. These regions will be excluded from visual comparison.
|
|
329
|
+
* @param {string} baselineId - The unique identifier of the baseline.
|
|
330
|
+
* @param {Array<{left: number, top: number, right: number, bottom: number}>} regions - Array of region objects.
|
|
331
|
+
* @param {boolean} [suppressErrors=false] - Flag to suppress thrown errors.
|
|
332
|
+
* @returns {Promise<any | ErrorObject>} The update result or an error object.
|
|
333
|
+
* @example
|
|
334
|
+
* // Set ignore regions on a baseline
|
|
335
|
+
* await driver.setIgnoreRegions({
|
|
336
|
+
* baselineId: 'baseline-id-123',
|
|
337
|
+
* regions: [
|
|
338
|
+
* { left: 0, top: 0, right: 100, bottom: 50 }, // Top banner
|
|
339
|
+
* { left: 200, top: 300, right: 400, bottom: 350 } // Dynamic content area
|
|
340
|
+
* ]
|
|
341
|
+
* });
|
|
342
|
+
*
|
|
343
|
+
* // Using Region helper class
|
|
344
|
+
* await driver.setIgnoreRegions({
|
|
345
|
+
* baselineId: 'baseline-id-123',
|
|
346
|
+
* regions: [
|
|
347
|
+
* new PlaywrightDriver.Region(0, 0, 100, 50)
|
|
348
|
+
* ]
|
|
349
|
+
* });
|
|
350
|
+
*/
|
|
351
|
+
async setIgnoreRegions({ baselineId, regions, suppressErrors = false }) {
|
|
352
|
+
try {
|
|
353
|
+
if (!baselineId) {
|
|
354
|
+
throw new Error('baselineId is required');
|
|
355
|
+
}
|
|
356
|
+
if (!Array.isArray(regions)) {
|
|
357
|
+
throw new Error('regions must be an array');
|
|
358
|
+
}
|
|
359
|
+
// Validate region format
|
|
360
|
+
for (const region of regions) {
|
|
361
|
+
if (typeof region.left !== 'number' ||
|
|
362
|
+
typeof region.top !== 'number' ||
|
|
363
|
+
typeof region.right !== 'number' ||
|
|
364
|
+
typeof region.bottom !== 'number') {
|
|
365
|
+
throw new Error(`Invalid region format: ${JSON.stringify(region)}. Expected {left, top, right, bottom} as numbers.`);
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
const ignoreRegions = JSON.stringify(regions);
|
|
369
|
+
log.debug(`Setting ignore regions on baseline '${baselineId}': ${ignoreRegions}`);
|
|
370
|
+
const result = await this.api.updateBaseline(baselineId, { ignoreRegions });
|
|
371
|
+
if (result.error && !suppressErrors) {
|
|
372
|
+
throw `❌ Set Ignore Regions error: ${JSON.stringify(result, null, ' ')}`;
|
|
373
|
+
}
|
|
374
|
+
return result;
|
|
375
|
+
}
|
|
376
|
+
catch (e) {
|
|
377
|
+
const eMsg = `Cannot set ignore regions, baselineId: '${baselineId}', error: '${e.stack || e.toString()}'`;
|
|
378
|
+
log.error(eMsg);
|
|
379
|
+
throw e;
|
|
380
|
+
}
|
|
381
|
+
}
|
|
299
382
|
}
|
|
300
383
|
exports.PlaywrightDriver = PlaywrightDriver;
|
|
384
|
+
/**
|
|
385
|
+
* Region to ignore during visual comparison.
|
|
386
|
+
* Coordinates are in pixels relative to the image.
|
|
387
|
+
*/
|
|
388
|
+
PlaywrightDriver.Region = class {
|
|
389
|
+
constructor(left, top, right, bottom) {
|
|
390
|
+
this.left = left;
|
|
391
|
+
this.top = top;
|
|
392
|
+
this.right = right;
|
|
393
|
+
this.bottom = bottom;
|
|
394
|
+
}
|
|
395
|
+
};
|
|
301
396
|
//# sourceMappingURL=PlaywrightDriver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlaywrightDriver.js","sourceRoot":"","sources":["../src/PlaywrightDriver.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;GAKG;AACH,6CAAwC;AACxC,iDAAyH;AAKzH,+DAGkC;AAClC,yDAAyE;AAEzE,yEAAmF;AACnF,+CAA8G;AAC9G,uDAAmD;AACnD,0DAAgD;AAChD,6DAAyD;AAEzD,MAAM,GAAG,GAAG,IAAA,gBAAM,EAAC,yBAAyB,CAAC,CAAA;AAC7C,0EAA0E;AAC1E,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;IACjC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkC,CAAC,CAAA;AAChE,CAAC;AAED;;;GAGG;AACH,MAAa,gBAAgB;
|
|
1
|
+
{"version":3,"file":"PlaywrightDriver.js","sourceRoot":"","sources":["../src/PlaywrightDriver.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/utils.d.ts
CHANGED
package/dist/lib/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAe,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAE3C,eAAO,MAAM,GAAG,EAAE,MAA0C,CAAA;AAE5D,UAAU,WAAW;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,SAAS,GAAU,CAAC,EAC7B,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAC1C,UAAS,WAAgB,KAC1B,OAAO,CAAC,CAAC,GAAG,IAAI,CA6BlB,CAAA;AAED,eAAO,MAAM,eAAe,cACP,CAAA;AAErB,eAAO,MAAM,gBAAgB,cAA4B,CAAA;AAEzD,eAAO,MAAM,aAAa,GAAI,UAAU,QAAQ,kBAM/C,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,UAAU,QAAQ,WAE9C,CAAA"}
|
package/dist/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA6C;AAC7C,2CAAuC;AAG1B,QAAA,GAAG,GAAW,IAAA,gBAAM,EAAC,yBAAyB,CAAC,CAAA;AAQrD,MAAM,SAAS,GAAG,KAAK,EAC1B,QAA0C,EAC1C,UAAuB,EAAE,EACR,EAAE;IACnB,MAAM,EACF,QAAQ,GAAG,EAAE,EACb,QAAQ,GAAG,GAAG,EACd,OAAO,GAAG,KAAK,EAClB,GAAG,OAAO,CAAA;IAEX,IAAI,eAAe,GAAG,KAAK,CAAA;IAC3B,UAAU,CAAC,GAAG,EAAE;QACZ,eAAe,GAAG,IAAI,CAAA;IAC1B,CAAC,EAAE,OAAO,CAAC,CAAA;IAEX,IAAI,MAAW,CAAA;IAEf,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;QACnD,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAA;QAChC,IAAI,eAAe,EAAE,CAAC;YAClB,WAAG,CAAC,IAAI,CAAC,sBAAsB,OAAO,cAAc,CAAC,CAAA;YACrD,OAAO,MAAM,CAAA;QACjB,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACT,OAAO,MAAM,CAAA;QACjB,CAAC;QACD,IAAI,OAAO,GAAG,QAAQ,EAAE,CAAC;YACrB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;QAC/D,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAA;AACjB,CAAC,CAAA;AAhCY,QAAA,SAAS,aAgCrB;AAEM,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,aAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;KACvD,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;AADR,QAAA,eAAe,mBACP;AAEd,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,aAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;AAA5C,QAAA,gBAAgB,oBAA4B;AAElD,MAAM,aAAa,GAAG,CAAC,QAAkB,EAAE,EAAE;IAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAA;IACjC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACpC,CAAC;IACD,OAAO,IAAI,CAAA;AACf,CAAC,CAAA;AANY,QAAA,aAAa,iBAMzB;AAEM,MAAM,YAAY,GAAG,CAAC,QAAkB,EAAE,EAAE;IAC/C,OAAO,QAAQ,CAAC,KAAK,CAAA;AACzB,CAAC,CAAA;AAFY,QAAA,YAAY,gBAExB"}
|
|
@@ -6,21 +6,7 @@ export declare const BaselineParamsSchema: z.ZodObject<{
|
|
|
6
6
|
os: z.ZodString;
|
|
7
7
|
app: z.ZodString;
|
|
8
8
|
branch: z.ZodString;
|
|
9
|
-
},
|
|
10
|
-
name: string;
|
|
11
|
-
viewport: string;
|
|
12
|
-
browserName: string;
|
|
13
|
-
os: string;
|
|
14
|
-
app: string;
|
|
15
|
-
branch: string;
|
|
16
|
-
}, {
|
|
17
|
-
name: string;
|
|
18
|
-
viewport: string;
|
|
19
|
-
browserName: string;
|
|
20
|
-
os: string;
|
|
21
|
-
app: string;
|
|
22
|
-
branch: string;
|
|
23
|
-
}>;
|
|
9
|
+
}, z.core.$strip>;
|
|
24
10
|
export type BaselineParams = z.infer<typeof BaselineParamsSchema>;
|
|
25
11
|
export declare const RequiredIdentOptionsSchema: z.ZodObject<{
|
|
26
12
|
name: z.ZodString;
|
|
@@ -30,22 +16,6 @@ export declare const RequiredIdentOptionsSchema: z.ZodObject<{
|
|
|
30
16
|
app: z.ZodString;
|
|
31
17
|
branch: z.ZodString;
|
|
32
18
|
imghash: z.ZodString;
|
|
33
|
-
},
|
|
34
|
-
name: string;
|
|
35
|
-
viewport: string;
|
|
36
|
-
browserName: string;
|
|
37
|
-
os: string;
|
|
38
|
-
app: string;
|
|
39
|
-
branch: string;
|
|
40
|
-
imghash: string;
|
|
41
|
-
}, {
|
|
42
|
-
name: string;
|
|
43
|
-
viewport: string;
|
|
44
|
-
browserName: string;
|
|
45
|
-
os: string;
|
|
46
|
-
app: string;
|
|
47
|
-
branch: string;
|
|
48
|
-
imghash: string;
|
|
49
|
-
}>;
|
|
19
|
+
}, z.core.$strip>;
|
|
50
20
|
export type RequiredIdentOptions = z.infer<typeof RequiredIdentOptionsSchema>;
|
|
51
21
|
//# sourceMappingURL=Baseline.schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Baseline.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/Baseline.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,oBAAoB
|
|
1
|
+
{"version":3,"file":"Baseline.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/Baseline.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,oBAAoB;;;;;;;iBAQ/B,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,0BAA0B;;;;;;;;iBAQrC,CAAA;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
|
|
@@ -12,32 +12,6 @@ export declare const CheckOptionsSchema: z.ZodObject<{
|
|
|
12
12
|
browserFullVersion: z.ZodString;
|
|
13
13
|
hashCode: z.ZodOptional<z.ZodString>;
|
|
14
14
|
domDump: z.ZodOptional<z.ZodAny>;
|
|
15
|
-
},
|
|
16
|
-
name: string;
|
|
17
|
-
viewport: string;
|
|
18
|
-
browserName: string;
|
|
19
|
-
os: string;
|
|
20
|
-
app: string;
|
|
21
|
-
branch: string;
|
|
22
|
-
testId: string;
|
|
23
|
-
suite: string;
|
|
24
|
-
browserVersion: string;
|
|
25
|
-
browserFullVersion: string;
|
|
26
|
-
hashCode?: string | undefined;
|
|
27
|
-
domDump?: any;
|
|
28
|
-
}, {
|
|
29
|
-
name: string;
|
|
30
|
-
viewport: string;
|
|
31
|
-
browserName: string;
|
|
32
|
-
os: string;
|
|
33
|
-
app: string;
|
|
34
|
-
branch: string;
|
|
35
|
-
testId: string;
|
|
36
|
-
suite: string;
|
|
37
|
-
browserVersion: string;
|
|
38
|
-
browserFullVersion: string;
|
|
39
|
-
hashCode?: string | undefined;
|
|
40
|
-
domDump?: any;
|
|
41
|
-
}>;
|
|
15
|
+
}, z.core.$strip>;
|
|
42
16
|
export type CheckOptions = z.infer<typeof CheckOptionsSchema>;
|
|
43
17
|
//# sourceMappingURL=Check.schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Check.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/Check.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"Check.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/Check.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;iBAgB7B,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
|