screenci 0.0.4 → 0.0.6
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 +227 -0
- package/cli.ts +1111 -0
- package/dist/cli.d.ts +4 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +896 -0
- package/dist/cli.js.map +1 -0
- package/dist/e2e/instrument.e2e.d.ts +2 -0
- package/dist/e2e/instrument.e2e.d.ts.map +1 -0
- package/dist/e2e/instrument.e2e.js +661 -0
- package/dist/e2e/instrument.e2e.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/playwright.config.d.ts +3 -0
- package/dist/playwright.config.d.ts.map +1 -0
- package/dist/playwright.config.js +21 -0
- package/dist/playwright.config.js.map +1 -0
- package/dist/reporter.d.ts +9 -0
- package/dist/reporter.d.ts.map +1 -0
- package/dist/reporter.js +49 -0
- package/dist/reporter.js.map +1 -0
- package/dist/src/asset.d.ts +90 -0
- package/dist/src/asset.d.ts.map +1 -0
- package/dist/src/asset.js +74 -0
- package/dist/src/asset.js.map +1 -0
- package/dist/src/autoZoom.d.ts +40 -0
- package/dist/src/autoZoom.d.ts.map +1 -0
- package/dist/src/autoZoom.js +88 -0
- package/dist/src/autoZoom.js.map +1 -0
- package/dist/src/caption.d.ts +152 -0
- package/dist/src/caption.d.ts.map +1 -0
- package/dist/src/caption.js +240 -0
- package/dist/src/caption.js.map +1 -0
- package/dist/src/caption.test-d.d.ts +2 -0
- package/dist/src/caption.test-d.d.ts.map +1 -0
- package/dist/src/caption.test-d.js +50 -0
- package/dist/src/caption.test-d.js.map +1 -0
- package/dist/src/config.d.ts +42 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/config.js +147 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/defaults.d.ts +63 -0
- package/dist/src/defaults.d.ts.map +1 -0
- package/dist/src/defaults.js +66 -0
- package/dist/src/defaults.js.map +1 -0
- package/dist/src/dimensions.d.ts +29 -0
- package/dist/src/dimensions.d.ts.map +1 -0
- package/dist/src/dimensions.js +47 -0
- package/dist/src/dimensions.js.map +1 -0
- package/dist/src/events.d.ts +203 -0
- package/dist/src/events.d.ts.map +1 -0
- package/dist/src/events.js +227 -0
- package/dist/src/events.js.map +1 -0
- package/dist/src/hide.d.ts +27 -0
- package/dist/src/hide.d.ts.map +1 -0
- package/dist/src/hide.js +49 -0
- package/dist/src/hide.js.map +1 -0
- package/dist/src/instrument.d.ts +15 -0
- package/dist/src/instrument.d.ts.map +1 -0
- package/dist/src/instrument.js +910 -0
- package/dist/src/instrument.js.map +1 -0
- package/dist/src/logger.d.ts +7 -0
- package/dist/src/logger.d.ts.map +1 -0
- package/dist/src/logger.js +13 -0
- package/dist/src/logger.js.map +1 -0
- package/dist/src/reporter.d.ts +9 -0
- package/dist/src/reporter.d.ts.map +1 -0
- package/dist/src/reporter.js +50 -0
- package/dist/src/reporter.js.map +1 -0
- package/dist/src/sanitize.d.ts +5 -0
- package/dist/src/sanitize.d.ts.map +1 -0
- package/dist/src/sanitize.js +11 -0
- package/dist/src/sanitize.js.map +1 -0
- package/dist/src/types.d.ts +544 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +2 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/video.d.ts +138 -0
- package/dist/src/video.d.ts.map +1 -0
- package/dist/src/video.js +415 -0
- package/dist/src/video.js.map +1 -0
- package/dist/src/voices.d.ts +60 -0
- package/dist/src/voices.d.ts.map +1 -0
- package/dist/src/voices.js +42 -0
- package/dist/src/voices.js.map +1 -0
- package/dist/src/xvfb.d.ts +22 -0
- package/dist/src/xvfb.d.ts.map +1 -0
- package/dist/src/xvfb.js +87 -0
- package/dist/src/xvfb.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +45 -4
- package/bin/index.js +0 -3
- package/index.js +0 -1
|
@@ -0,0 +1,544 @@
|
|
|
1
|
+
import type { PlaywrightTestConfig, Project, Page, Locator, Mouse } from '@playwright/test';
|
|
2
|
+
/**
|
|
3
|
+
* Aspect ratio for recording and output.
|
|
4
|
+
*
|
|
5
|
+
* The aspect ratio determines the shape of the video. Combined with `quality`
|
|
6
|
+
* it produces the final pixel dimensions:
|
|
7
|
+
*
|
|
8
|
+
* | Aspect Ratio | 720p | 1080p | 1440p | 2160p |
|
|
9
|
+
* |--------------|-----------|------------|------------|------------|
|
|
10
|
+
* | 16:9 | 1280×720 | 1920×1080 | 2560×1440 | 3840×2160 |
|
|
11
|
+
* | 9:16 | 720×1280 | 1080×1920 | 1440×2560 | 2160×3840 |
|
|
12
|
+
* | 1:1 | 720×720 | 1080×1080 | 1440×1440 | 2160×2160 |
|
|
13
|
+
* | 4:3 | 960×720 | 1440×1080 | 1920×1440 | 2880×2160 |
|
|
14
|
+
* | 3:4 | 720×960 | 1080×1440 | 1440×1920 | 2160×2880 |
|
|
15
|
+
* | 5:4 | 900×720 | 1350×1080 | 1800×1440 | 2700×2160 |
|
|
16
|
+
* | 4:5 | 720×900 | 1080×1350 | 1440×1800 | 2160×2700 |
|
|
17
|
+
*
|
|
18
|
+
* The base size (shorter side) is determined by `quality`.
|
|
19
|
+
* Landscape ratios (W>H) set height to the base; portrait ratios (H>W) set
|
|
20
|
+
* width to the base.
|
|
21
|
+
*/
|
|
22
|
+
export type AspectRatio = '16:9' | '9:16' | '1:1' | '4:3' | '3:4' | '5:4' | '4:5';
|
|
23
|
+
/**
|
|
24
|
+
* Resolution quality preset – determines the shorter-side pixel count and,
|
|
25
|
+
* by extension, the overall output sharpness and file size.
|
|
26
|
+
*
|
|
27
|
+
* - `'720p'` – 720 px short side (HD)
|
|
28
|
+
* - `'1080p'` – 1080 px short side (Full HD)
|
|
29
|
+
* - `'1440p'` – 1440 px short side (Quad HD)
|
|
30
|
+
* - `'2160p'` – 2160 px short side (Ultra HD / 4K)
|
|
31
|
+
*
|
|
32
|
+
* The final pixel dimensions depend on both `quality` and `aspectRatio`.
|
|
33
|
+
* See {@link AspectRatio} for the full dimension table.
|
|
34
|
+
*/
|
|
35
|
+
export type Quality = '720p' | '1080p' | '1440p' | '2160p';
|
|
36
|
+
/**
|
|
37
|
+
* Frames per second for video recording.
|
|
38
|
+
*
|
|
39
|
+
* Higher FPS results in smoother videos but larger file sizes:
|
|
40
|
+
* - `24` - Cinematic look, smaller files
|
|
41
|
+
* - `30` - Standard video, balanced quality and size
|
|
42
|
+
* - `60` - Smooth motion, best for fast interactions
|
|
43
|
+
*
|
|
44
|
+
* @note Chrome caps recording at 60 FPS: https://stackoverflow.com/a/63972999
|
|
45
|
+
*/
|
|
46
|
+
export type FPS = 24 | 30 | 60;
|
|
47
|
+
/**
|
|
48
|
+
* Trace recording mode for test execution.
|
|
49
|
+
*
|
|
50
|
+
* Traces capture detailed information about test execution including screenshots,
|
|
51
|
+
* DOM snapshots, and network activity.
|
|
52
|
+
*
|
|
53
|
+
* Available options (subset of Playwright's trace options):
|
|
54
|
+
* - `'on'` - Record traces for all tests
|
|
55
|
+
* - `'off'` - Do not record traces
|
|
56
|
+
* - `'retain-on-failure'` - Record traces only for failed tests (default)
|
|
57
|
+
*
|
|
58
|
+
* @default 'retain-on-failure'
|
|
59
|
+
*/
|
|
60
|
+
export type Trace = 'on' | 'off' | 'retain-on-failure';
|
|
61
|
+
/**
|
|
62
|
+
* Rendering options passed as-is to `data.json`.
|
|
63
|
+
* Mirrors the `renderOptions` shape consumed by the rendering pipeline.
|
|
64
|
+
*/
|
|
65
|
+
export type RenderOptions = {
|
|
66
|
+
recording?: {
|
|
67
|
+
/** 0-1: 0 causes warning, 1=one side touches background edge */
|
|
68
|
+
size?: number;
|
|
69
|
+
/** 0-1: 0=sharp corners, 1=shorter side is half circle */
|
|
70
|
+
roundness?: number;
|
|
71
|
+
shape?: 'rounded' | 'squircle';
|
|
72
|
+
/** CSS drop-shadow filter */
|
|
73
|
+
dropShadow?: string;
|
|
74
|
+
};
|
|
75
|
+
voiceOvers?: {
|
|
76
|
+
/** 0-1: 1=mask size equals shorter side of output */
|
|
77
|
+
size?: number;
|
|
78
|
+
/** 0-1: 0=square, 1=circle */
|
|
79
|
+
roundness?: number;
|
|
80
|
+
shape?: 'rounded' | 'squircle';
|
|
81
|
+
/** CSS drop-shadow filter */
|
|
82
|
+
dropShadow?: string;
|
|
83
|
+
corner?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
84
|
+
/** 0-1: 0=nothing, 1=length of shorter side of the frame */
|
|
85
|
+
padding?: number;
|
|
86
|
+
};
|
|
87
|
+
cursor?: {
|
|
88
|
+
/** 0-1: 0=missing, 1=height of video */
|
|
89
|
+
size?: number;
|
|
90
|
+
};
|
|
91
|
+
output?: {
|
|
92
|
+
/**
|
|
93
|
+
* Aspect ratio of the rendered output video.
|
|
94
|
+
*
|
|
95
|
+
* Combined with `quality`, this determines the final pixel dimensions.
|
|
96
|
+
* See {@link AspectRatio} for the full dimension table.
|
|
97
|
+
*
|
|
98
|
+
* Defaults to `'16:9'` when not specified.
|
|
99
|
+
*
|
|
100
|
+
* @example '16:9'
|
|
101
|
+
*/
|
|
102
|
+
aspectRatio?: AspectRatio;
|
|
103
|
+
/**
|
|
104
|
+
* Resolution quality of the rendered output video.
|
|
105
|
+
*
|
|
106
|
+
* Combined with `aspectRatio`, this determines the final pixel dimensions.
|
|
107
|
+
* See {@link Quality} for available presets.
|
|
108
|
+
*
|
|
109
|
+
* @example '1080p'
|
|
110
|
+
*/
|
|
111
|
+
quality?: Quality;
|
|
112
|
+
background?: {
|
|
113
|
+
assetPath: string;
|
|
114
|
+
} | {
|
|
115
|
+
backgroundCss: string;
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
};
|
|
119
|
+
/**
|
|
120
|
+
* Configuration options for video recording.
|
|
121
|
+
*
|
|
122
|
+
* Example:
|
|
123
|
+
* ```ts
|
|
124
|
+
* const options: RecordOptions = {
|
|
125
|
+
* aspectRatio: '16:9',
|
|
126
|
+
* quality: '1080p',
|
|
127
|
+
* fps: 60,
|
|
128
|
+
* }
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
export type RecordOptions = {
|
|
132
|
+
/**
|
|
133
|
+
* Aspect ratio used when capturing the screen.
|
|
134
|
+
*
|
|
135
|
+
* Together with `quality` this determines the xvfb display size,
|
|
136
|
+
* browser viewport, and ffmpeg input dimensions.
|
|
137
|
+
* See {@link AspectRatio} for all supported ratios and their pixel sizes.
|
|
138
|
+
*
|
|
139
|
+
* @default '16:9'
|
|
140
|
+
*/
|
|
141
|
+
aspectRatio?: AspectRatio;
|
|
142
|
+
/**
|
|
143
|
+
* Resolution quality preset used when capturing the screen.
|
|
144
|
+
*
|
|
145
|
+
* Together with `aspectRatio` this determines the xvfb display size,
|
|
146
|
+
* browser viewport, and ffmpeg input dimensions.
|
|
147
|
+
* See {@link Quality} for the full dimension table.
|
|
148
|
+
*
|
|
149
|
+
* @default '1080p'
|
|
150
|
+
*/
|
|
151
|
+
quality?: Quality;
|
|
152
|
+
/**
|
|
153
|
+
* Frames per second for video recording.
|
|
154
|
+
*
|
|
155
|
+
* @default 30
|
|
156
|
+
*/
|
|
157
|
+
fps?: FPS;
|
|
158
|
+
};
|
|
159
|
+
export type Easing = 'linear' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'ease-in-strong' | 'ease-out-strong' | 'ease-in-out-strong';
|
|
160
|
+
export type AutoZoomOptions = {
|
|
161
|
+
easing?: Easing;
|
|
162
|
+
duration?: number;
|
|
163
|
+
/** 0–1: fraction of output dimensions visible in the zoomed viewport (default 0.5) */
|
|
164
|
+
amount?: number;
|
|
165
|
+
/** Per-locator-type centering (0–1).
|
|
166
|
+
* 1 = camera always centers on target (no dead zone).
|
|
167
|
+
* 0 = camera only moves if target exits the viewport.
|
|
168
|
+
* 0.5 = target can move freely in the center 50% without panning.
|
|
169
|
+
* Defaults: cursor=0.5, input=1, click=0.5 */
|
|
170
|
+
centering?: {
|
|
171
|
+
/** How tightly the camera follows free cursor movements (default 0.5) */
|
|
172
|
+
cursor?: number;
|
|
173
|
+
/** How tightly the camera follows input/ZoomMove targets (default 1) */
|
|
174
|
+
input?: number;
|
|
175
|
+
/** How tightly the camera follows cursor moves that precede a click (default 0.5) */
|
|
176
|
+
click?: number;
|
|
177
|
+
};
|
|
178
|
+
/** When false, the camera never zooms out beyond the initial amount to fit
|
|
179
|
+
* large element rects. Defaults to true. */
|
|
180
|
+
allowZoomingOut?: boolean;
|
|
181
|
+
/** Delay in milliseconds to hold the zoomed-in state after the zoom-in
|
|
182
|
+
* animation completes, and to hold the full view after the zoom-out
|
|
183
|
+
* animation completes. Defaults to 500. */
|
|
184
|
+
postZoomInOutDelay?: number;
|
|
185
|
+
};
|
|
186
|
+
/**
|
|
187
|
+
* Options for an automatic click that precedes a `fill` or `pressSequentially`.
|
|
188
|
+
*
|
|
189
|
+
* When passed as `click` to `fill`/`pressSequentially`, the locator is clicked
|
|
190
|
+
* first (with animated cursor movement), then typing begins immediately. No
|
|
191
|
+
* extra zoom-pan sleep is inserted — the cursor-move animation covers it.
|
|
192
|
+
*/
|
|
193
|
+
export type ClickBeforeFillOption = {
|
|
194
|
+
moveDuration?: number;
|
|
195
|
+
beforeClickPause?: number;
|
|
196
|
+
moveEasing?: Easing;
|
|
197
|
+
postClickPause?: number;
|
|
198
|
+
postClickMove?: PostClickMove;
|
|
199
|
+
position?: {
|
|
200
|
+
x: number;
|
|
201
|
+
y: number;
|
|
202
|
+
};
|
|
203
|
+
};
|
|
204
|
+
/**
|
|
205
|
+
* Camera pan to perform after a click completes.
|
|
206
|
+
*
|
|
207
|
+
* Direction-based: the camera shifts by the element's bounding-box size
|
|
208
|
+
* (in output pixels) plus optional `padding` (output pixels, applied to each
|
|
209
|
+
* side) in the given direction.
|
|
210
|
+
*
|
|
211
|
+
* Pixel-based: the camera shifts by explicit `x` / `y` output-pixel offsets
|
|
212
|
+
* (negative values pan in the opposite direction).
|
|
213
|
+
*/
|
|
214
|
+
export type PostClickMove = {
|
|
215
|
+
duration: number;
|
|
216
|
+
easing?: Easing;
|
|
217
|
+
/** Output pixels added to each side of the element rect before computing the shift. */
|
|
218
|
+
padding?: number;
|
|
219
|
+
direction: 'up' | 'down' | 'left' | 'right';
|
|
220
|
+
} | {
|
|
221
|
+
duration: number;
|
|
222
|
+
easing?: Easing;
|
|
223
|
+
/** Horizontal camera shift in output pixels (negative = left). */
|
|
224
|
+
x: number;
|
|
225
|
+
/** Vertical camera shift in output pixels (negative = up). */
|
|
226
|
+
y: number;
|
|
227
|
+
};
|
|
228
|
+
type LocatorReturnMethodNames = 'locator' | 'getByAltText' | 'getByLabel' | 'getByPlaceholder' | 'getByRole' | 'getByTestId' | 'getByText' | 'getByTitle' | 'and' | 'describe' | 'filter' | 'first' | 'last' | 'nth' | 'or';
|
|
229
|
+
type ScreenCIMouse = Omit<Mouse, 'move'> & {
|
|
230
|
+
/**
|
|
231
|
+
* Moves the mouse cursor to the given position.
|
|
232
|
+
*
|
|
233
|
+
* @param options.steps - Ignored; use `duration` and `easing` instead.
|
|
234
|
+
* @param options.duration - Duration of the animated move in milliseconds.
|
|
235
|
+
* When provided and greater than 0, the cursor is animated with easing.
|
|
236
|
+
* @param options.easing - Easing function for the cursor animation (default: 'ease-in-out').
|
|
237
|
+
*/
|
|
238
|
+
move(x: number, y: number, options?: {
|
|
239
|
+
steps?: number;
|
|
240
|
+
duration?: number;
|
|
241
|
+
easing?: Easing;
|
|
242
|
+
}): Promise<void>;
|
|
243
|
+
/**
|
|
244
|
+
* Shows the mouse cursor in the recorded video.
|
|
245
|
+
*
|
|
246
|
+
* The cursor is visible by default. Use this to restore visibility after calling `.hide()`.
|
|
247
|
+
*/
|
|
248
|
+
show(): void;
|
|
249
|
+
/**
|
|
250
|
+
* Hides the mouse cursor in the recorded video.
|
|
251
|
+
*
|
|
252
|
+
* Revert this by calling `.show()`.
|
|
253
|
+
*/
|
|
254
|
+
hide(): void;
|
|
255
|
+
};
|
|
256
|
+
export type ScreenCILocator = Omit<Locator, 'click' | 'fill' | 'check' | 'uncheck' | 'setChecked' | 'tap' | 'selectOption' | 'selectText' | 'dragTo' | LocatorReturnMethodNames | 'all' | 'page'> & {
|
|
257
|
+
/**
|
|
258
|
+
* Clicks the element with an animated cursor move.
|
|
259
|
+
*
|
|
260
|
+
* @param options.moveDuration - Duration of the cursor move animation in ms (default: 1000).
|
|
261
|
+
* @param options.beforeClickPause - Pause between cursor arrival and click in ms.
|
|
262
|
+
* @param options.moveEasing - Easing function for the cursor move animation.
|
|
263
|
+
* @param options.postClickPause - Pause after the click completes in ms.
|
|
264
|
+
* @param options.postClickMove - When provided, animates the cursor away from
|
|
265
|
+
* the element after the click (e.g. to simulate the cursor moving off a button).
|
|
266
|
+
*/
|
|
267
|
+
click(options?: Parameters<Locator['click']>[0] & {
|
|
268
|
+
moveDuration?: number;
|
|
269
|
+
beforeClickPause?: number;
|
|
270
|
+
moveEasing?: Easing;
|
|
271
|
+
postClickPause?: number;
|
|
272
|
+
postClickMove?: PostClickMove;
|
|
273
|
+
}): Promise<void>;
|
|
274
|
+
/**
|
|
275
|
+
* Types `value` character-by-character using `pressSequentially`.
|
|
276
|
+
*
|
|
277
|
+
* @param value - The text to type into the element.
|
|
278
|
+
* @param options.duration - Total time in milliseconds to spend typing
|
|
279
|
+
* (default: 1000). The per-keystroke delay is derived from this value
|
|
280
|
+
* divided by the number of characters. Has no effect on empty strings.
|
|
281
|
+
* @param options.timeout - Maximum time in milliseconds to wait for the
|
|
282
|
+
* element to be actionable.
|
|
283
|
+
* @param options.click - When provided, clicks the element before typing
|
|
284
|
+
* (animated cursor move + click). No extra zoom-pan sleep is inserted.
|
|
285
|
+
* @param options.hideMouse - When `true`, the mouse cursor is hidden while
|
|
286
|
+
* typing and shown again on the next mouse move. Defaults to `false`.
|
|
287
|
+
*/
|
|
288
|
+
fill(value: string, options?: {
|
|
289
|
+
duration?: number;
|
|
290
|
+
timeout?: number;
|
|
291
|
+
click?: ClickBeforeFillOption;
|
|
292
|
+
hideMouse?: boolean;
|
|
293
|
+
}): Promise<void>;
|
|
294
|
+
/**
|
|
295
|
+
* Presses keys one by one as if on a physical keyboard.
|
|
296
|
+
*
|
|
297
|
+
* @param text - The text to type.
|
|
298
|
+
* @param options.delay - Time between keystrokes in milliseconds.
|
|
299
|
+
* @param options.timeout - Maximum time in milliseconds to wait for the
|
|
300
|
+
* element to be actionable.
|
|
301
|
+
* @param options.click - When provided, clicks the element before typing
|
|
302
|
+
* (animated cursor move + click). No extra zoom-pan sleep is inserted.
|
|
303
|
+
* @param options.hideMouse - When `true`, the mouse cursor is hidden while
|
|
304
|
+
* typing and shown again on the next mouse move. Defaults to `false`.
|
|
305
|
+
*/
|
|
306
|
+
pressSequentially(text: string, options?: Parameters<Locator['pressSequentially']>[1] & {
|
|
307
|
+
click?: ClickBeforeFillOption;
|
|
308
|
+
hideMouse?: boolean;
|
|
309
|
+
}): Promise<void>;
|
|
310
|
+
/**
|
|
311
|
+
* Checks the checkbox or radio button.
|
|
312
|
+
*
|
|
313
|
+
* @param options.click - When provided, animates the cursor to the element
|
|
314
|
+
* before checking it. The click timing data is embedded in the recorded event.
|
|
315
|
+
*/
|
|
316
|
+
check(options?: Parameters<Locator['check']>[0] & {
|
|
317
|
+
click?: Omit<ClickBeforeFillOption, 'position'>;
|
|
318
|
+
}): Promise<void>;
|
|
319
|
+
/**
|
|
320
|
+
* Unchecks the checkbox.
|
|
321
|
+
*
|
|
322
|
+
* @param options.click - When provided, animates the cursor to the element
|
|
323
|
+
* before unchecking it. The click timing data is embedded in the recorded event.
|
|
324
|
+
*/
|
|
325
|
+
uncheck(options?: Parameters<Locator['uncheck']>[0] & {
|
|
326
|
+
click?: Omit<ClickBeforeFillOption, 'position'>;
|
|
327
|
+
}): Promise<void>;
|
|
328
|
+
/**
|
|
329
|
+
* Sets the checked state of a checkbox or radio element.
|
|
330
|
+
* Delegates to the instrumented `check()` or `uncheck()` based on `checked`.
|
|
331
|
+
*
|
|
332
|
+
* @param options.click - When provided, animates the cursor to the element
|
|
333
|
+
* before acting. The click timing data is embedded in the recorded event.
|
|
334
|
+
*/
|
|
335
|
+
setChecked(checked: boolean, options?: Parameters<Locator['check']>[0] & {
|
|
336
|
+
click?: Omit<ClickBeforeFillOption, 'position'>;
|
|
337
|
+
}): Promise<void>;
|
|
338
|
+
/**
|
|
339
|
+
* Taps the element (touch event).
|
|
340
|
+
*
|
|
341
|
+
* @param options.click - When provided, animates the cursor to the element
|
|
342
|
+
* before tapping it. The click timing data is embedded in the recorded event.
|
|
343
|
+
*/
|
|
344
|
+
tap(options?: Parameters<Locator['tap']>[0] & {
|
|
345
|
+
click?: ClickBeforeFillOption;
|
|
346
|
+
}): Promise<void>;
|
|
347
|
+
/**
|
|
348
|
+
* Hovers over the element with an animated cursor move.
|
|
349
|
+
*
|
|
350
|
+
* @param options.moveDuration - Duration of the cursor move animation in ms (default: 1000).
|
|
351
|
+
* @param options.easing - Easing function for the cursor move animation.
|
|
352
|
+
* @param options.hoverDuration - How long to hold the hover in ms (default: 1000).
|
|
353
|
+
* @param options.position - Point relative to the element's top-left corner to hover over.
|
|
354
|
+
* Defaults to the element center.
|
|
355
|
+
*/
|
|
356
|
+
hover(options?: Parameters<Locator['hover']>[0] & {
|
|
357
|
+
moveDuration?: number;
|
|
358
|
+
easing?: Easing;
|
|
359
|
+
hoverDuration?: number;
|
|
360
|
+
}): Promise<void>;
|
|
361
|
+
/**
|
|
362
|
+
* Selects all text content of the element with an animated cursor move and
|
|
363
|
+
* triple-click animation.
|
|
364
|
+
*
|
|
365
|
+
* @param options.moveDuration - Duration of the cursor move animation in ms (default: 1000).
|
|
366
|
+
* @param options.easing - Easing function for the cursor move animation.
|
|
367
|
+
* @param options.beforeClickPause - Pause between cursor arrival and the triple-click in ms.
|
|
368
|
+
* @param options.selectDuration - Total duration of the triple-click animation in ms (default: 600).
|
|
369
|
+
* Divided into 6 equal segments: 3 mouseDown + 3 mouseUp phases.
|
|
370
|
+
*/
|
|
371
|
+
selectText(options?: Parameters<Locator['selectText']>[0] & {
|
|
372
|
+
moveDuration?: number;
|
|
373
|
+
easing?: Easing;
|
|
374
|
+
beforeClickPause?: number;
|
|
375
|
+
selectDuration?: number;
|
|
376
|
+
}): Promise<void>;
|
|
377
|
+
/**
|
|
378
|
+
* Drags the element to the target locator with animated cursor movement.
|
|
379
|
+
*
|
|
380
|
+
* The animation consists of:
|
|
381
|
+
* 1. Cursor moves to the source element (`moveDuration`, `moveEasing`).
|
|
382
|
+
* 2. A brief pause (`preDragPause`) then a mouseDown.
|
|
383
|
+
* 3. Cursor drags from source to target (`dragDuration`, `dragEasing`).
|
|
384
|
+
* 4. A mouseUp at the target.
|
|
385
|
+
*
|
|
386
|
+
* @param target - The locator of the drop target element.
|
|
387
|
+
* @param options.moveDuration - Duration of cursor move to source in ms (default: 1000).
|
|
388
|
+
* @param options.moveEasing - Easing for the cursor move (default: 'ease-in-out').
|
|
389
|
+
* @param options.preDragPause - Pause after arriving at source before mouseDown in ms (default: 100).
|
|
390
|
+
* @param options.dragDuration - Duration of the drag animation in ms (default: 1000).
|
|
391
|
+
* @param options.dragEasing - Easing for the drag animation (default: 'ease-in-out').
|
|
392
|
+
* @param options.sourcePosition - Point relative to source element's top-left for the drag start.
|
|
393
|
+
* @param options.targetPosition - Point relative to target element's top-left for the drop.
|
|
394
|
+
*/
|
|
395
|
+
dragTo(target: Locator, options?: Omit<NonNullable<Parameters<Locator['dragTo']>[1]>, 'steps'> & {
|
|
396
|
+
moveDuration?: number;
|
|
397
|
+
moveEasing?: Easing;
|
|
398
|
+
preDragPause?: number;
|
|
399
|
+
dragDuration?: number;
|
|
400
|
+
dragEasing?: Easing;
|
|
401
|
+
}): Promise<void>;
|
|
402
|
+
/**
|
|
403
|
+
* Selects an option in a `<select>` element.
|
|
404
|
+
*
|
|
405
|
+
* Note: the native dropdown UI is not rendered — the option is selected
|
|
406
|
+
* programmatically. If `options.click` is provided, the cursor is animated
|
|
407
|
+
* to the select element before the selection is applied, but no dropdown
|
|
408
|
+
* will appear on screen.
|
|
409
|
+
*
|
|
410
|
+
* @param values - The option(s) to select (value, label, index, or element).
|
|
411
|
+
* @param options.click - When provided, animates the cursor to the select
|
|
412
|
+
* element. The click timing data is embedded in the recorded event.
|
|
413
|
+
*/
|
|
414
|
+
selectOption(values: Parameters<Locator['selectOption']>[0], options?: Parameters<Locator['selectOption']>[1] & {
|
|
415
|
+
click?: ClickBeforeFillOption;
|
|
416
|
+
}): Promise<string[]>;
|
|
417
|
+
page(): ScreenCIPage;
|
|
418
|
+
locator(...args: Parameters<Locator['locator']>): ScreenCILocator;
|
|
419
|
+
getByAltText(...args: Parameters<Locator['getByAltText']>): ScreenCILocator;
|
|
420
|
+
getByLabel(...args: Parameters<Locator['getByLabel']>): ScreenCILocator;
|
|
421
|
+
getByPlaceholder(...args: Parameters<Locator['getByPlaceholder']>): ScreenCILocator;
|
|
422
|
+
getByRole(...args: Parameters<Locator['getByRole']>): ScreenCILocator;
|
|
423
|
+
getByTestId(...args: Parameters<Locator['getByTestId']>): ScreenCILocator;
|
|
424
|
+
getByText(...args: Parameters<Locator['getByText']>): ScreenCILocator;
|
|
425
|
+
getByTitle(...args: Parameters<Locator['getByTitle']>): ScreenCILocator;
|
|
426
|
+
and(...args: Parameters<Locator['and']>): ScreenCILocator;
|
|
427
|
+
describe(...args: Parameters<Locator['describe']>): ScreenCILocator;
|
|
428
|
+
filter(...args: Parameters<Locator['filter']>): ScreenCILocator;
|
|
429
|
+
first(): ScreenCILocator;
|
|
430
|
+
last(): ScreenCILocator;
|
|
431
|
+
nth(...args: Parameters<Locator['nth']>): ScreenCILocator;
|
|
432
|
+
or(...args: Parameters<Locator['or']>): ScreenCILocator;
|
|
433
|
+
all(): Promise<ScreenCILocator[]>;
|
|
434
|
+
};
|
|
435
|
+
export type ScreenCIPage = Omit<Page, 'click' | 'mouse' | LocatorReturnMethodNames> & {
|
|
436
|
+
mouse: ScreenCIMouse;
|
|
437
|
+
click(selector: string, options?: Parameters<Page['click']>[1] & {
|
|
438
|
+
moveDuration?: number;
|
|
439
|
+
beforeClickPause?: number;
|
|
440
|
+
moveEasing?: Easing;
|
|
441
|
+
postClickMove?: PostClickMove;
|
|
442
|
+
}): Promise<void>;
|
|
443
|
+
locator(...args: Parameters<Page['locator']>): ScreenCILocator;
|
|
444
|
+
getByAltText(...args: Parameters<Page['getByAltText']>): ScreenCILocator;
|
|
445
|
+
getByLabel(...args: Parameters<Page['getByLabel']>): ScreenCILocator;
|
|
446
|
+
getByPlaceholder(...args: Parameters<Page['getByPlaceholder']>): ScreenCILocator;
|
|
447
|
+
getByRole(...args: Parameters<Page['getByRole']>): ScreenCILocator;
|
|
448
|
+
getByTestId(...args: Parameters<Page['getByTestId']>): ScreenCILocator;
|
|
449
|
+
getByText(...args: Parameters<Page['getByText']>): ScreenCILocator;
|
|
450
|
+
getByTitle(...args: Parameters<Page['getByTitle']>): ScreenCILocator;
|
|
451
|
+
};
|
|
452
|
+
import type { VoiceKey } from './voices.js';
|
|
453
|
+
export type CaptionConfig = {
|
|
454
|
+
voice: VoiceKey;
|
|
455
|
+
speed?: number;
|
|
456
|
+
stability?: number;
|
|
457
|
+
style?: number;
|
|
458
|
+
};
|
|
459
|
+
export type ScreenCIConfig = Omit<PlaywrightTestConfig, 'fullyParallel' | 'workers' | 'retries' | 'testDir' | 'testMatch' | 'use' | 'projects'> & {
|
|
460
|
+
/**
|
|
461
|
+
* Name of the project. Used to identify the project in screenci.com.
|
|
462
|
+
*/
|
|
463
|
+
projectName: string;
|
|
464
|
+
/**
|
|
465
|
+
* ScreenCI API URL to upload recordings to after `screenci record`.
|
|
466
|
+
* Can also be set via the SCREENCI_URL environment variable.
|
|
467
|
+
*/
|
|
468
|
+
apiUrl?: string;
|
|
469
|
+
/**
|
|
470
|
+
* Path to a .env file to load before uploading.
|
|
471
|
+
* Relative to the screenci.config.ts file.
|
|
472
|
+
* Use this to load SCREENCI_SECRET and other env vars.
|
|
473
|
+
* @example '.env'
|
|
474
|
+
*/
|
|
475
|
+
envFile?: string;
|
|
476
|
+
/**
|
|
477
|
+
* Directory that will be searched recursively for `*.video.*` files.
|
|
478
|
+
*
|
|
479
|
+
* Matches files like `example.video.ts`, `demo.video.js`, etc.
|
|
480
|
+
*
|
|
481
|
+
* Defaults to `'./videos'`.
|
|
482
|
+
*/
|
|
483
|
+
videoDir?: string;
|
|
484
|
+
use?: Omit<PlaywrightTestConfig['use'], 'trace'> & {
|
|
485
|
+
recordOptions?: RecordOptions;
|
|
486
|
+
renderOptions?: RenderOptions;
|
|
487
|
+
/**
|
|
488
|
+
* Timeout in milliseconds for individual actions like `click()`, `fill()`, etc.
|
|
489
|
+
*
|
|
490
|
+
* Separate from the overall test timeout. Defaults to 30 seconds so actions
|
|
491
|
+
* don't inherit the long test timeout.
|
|
492
|
+
*
|
|
493
|
+
* @default 30000
|
|
494
|
+
*/
|
|
495
|
+
actionTimeout?: number;
|
|
496
|
+
/**
|
|
497
|
+
* Timeout in milliseconds for page navigations like `goto()`, `waitForNavigation()`, etc.
|
|
498
|
+
*
|
|
499
|
+
* Separate from the overall test timeout. Defaults to 30 seconds.
|
|
500
|
+
*
|
|
501
|
+
* @default 30000
|
|
502
|
+
*/
|
|
503
|
+
navigationTimeout?: number;
|
|
504
|
+
/**
|
|
505
|
+
* When to record traces during test execution.
|
|
506
|
+
*
|
|
507
|
+
* @default 'retain-on-failure'
|
|
508
|
+
*/
|
|
509
|
+
trace?: Trace;
|
|
510
|
+
/**
|
|
511
|
+
* Whether to send recorded traces to screenci.com for viewing and analysis.
|
|
512
|
+
*
|
|
513
|
+
* When `true`, traces are uploaded and can be viewed on screenci.com.
|
|
514
|
+
* When `false`, traces are kept locally only.
|
|
515
|
+
*
|
|
516
|
+
* @default true
|
|
517
|
+
*/
|
|
518
|
+
sendTraces?: boolean;
|
|
519
|
+
};
|
|
520
|
+
projects?: (Omit<Project, 'use'> & {
|
|
521
|
+
use?: Omit<Project['use'], 'trace'> & {
|
|
522
|
+
recordOptions?: RecordOptions;
|
|
523
|
+
renderOptions?: RenderOptions;
|
|
524
|
+
/**
|
|
525
|
+
* When to record traces during test execution.
|
|
526
|
+
*
|
|
527
|
+
* @default 'retain-on-failure'
|
|
528
|
+
*/
|
|
529
|
+
trace?: Trace;
|
|
530
|
+
/**
|
|
531
|
+
* Whether to send recorded traces to screenci.com for viewing and analysis.
|
|
532
|
+
*
|
|
533
|
+
* When `true`, traces are uploaded and can be viewed on screenci.com.
|
|
534
|
+
* When `false`, traces are kept locally only.
|
|
535
|
+
*
|
|
536
|
+
* @default true
|
|
537
|
+
*/
|
|
538
|
+
sendTraces?: boolean;
|
|
539
|
+
};
|
|
540
|
+
})[];
|
|
541
|
+
};
|
|
542
|
+
export type ExtendedScreenCIConfig = ScreenCIConfig & Pick<PlaywrightTestConfig, 'fullyParallel' | 'workers' | 'retries' | 'testDir' | 'testMatch'>;
|
|
543
|
+
export {};
|
|
544
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
|