browsertime 26.3.2 → 27.0.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.
Files changed (105) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/README.md +1 -1
  3. package/browserscripts/timings/softNavigations.js +94 -0
  4. package/lib/chrome/har.js +36 -5
  5. package/lib/chrome/settings/chromeAndroidOptions.js +2 -1
  6. package/lib/chrome/webdriver/chromium.js +40 -1
  7. package/lib/chrome/webdriver/setupChromiumOptions.js +86 -31
  8. package/lib/core/engine/collector.js +340 -317
  9. package/lib/core/engine/command/addText.js +93 -12
  10. package/lib/core/engine/command/click.js +268 -139
  11. package/lib/core/engine/command/commandHelper.js +45 -0
  12. package/lib/core/engine/command/cookie.js +85 -0
  13. package/lib/core/engine/command/element.js +37 -2
  14. package/lib/core/engine/command/javaScript.js +14 -24
  15. package/lib/core/engine/command/measure/screenshots.js +114 -0
  16. package/lib/core/engine/command/measure/video.js +85 -0
  17. package/lib/core/engine/command/measure.js +104 -180
  18. package/lib/core/engine/command/mouse/clickAndHold.js +6 -3
  19. package/lib/core/engine/command/mouse/contextClick.js +56 -4
  20. package/lib/core/engine/command/mouse/doubleClick.js +49 -1
  21. package/lib/core/engine/command/mouse/mouseMove.js +50 -1
  22. package/lib/core/engine/command/mouse/singleClick.js +165 -129
  23. package/lib/core/engine/command/navigation.js +6 -6
  24. package/lib/core/engine/command/select.js +95 -3
  25. package/lib/core/engine/command/selectorParser.js +58 -0
  26. package/lib/core/engine/command/set.js +55 -1
  27. package/lib/core/engine/command/wait.js +41 -2
  28. package/lib/core/engine/commands.js +550 -42
  29. package/lib/core/engine/index.js +206 -150
  30. package/lib/core/engine/iteration.js +277 -137
  31. package/lib/firefox/networkManager.js +22 -30
  32. package/lib/firefox/webdriver/builder.js +14 -0
  33. package/lib/safari/har.js +131 -0
  34. package/lib/safari/native/ios-capture +0 -0
  35. package/lib/safari/native/ios-capture.m +340 -0
  36. package/lib/safari/safariInspectorClient.js +322 -0
  37. package/lib/safari/webdriver/safari.js +303 -13
  38. package/lib/safari/webkitToCdpAdapter.js +241 -0
  39. package/lib/support/cli.js +13 -0
  40. package/lib/support/engineUtils.js +16 -5
  41. package/lib/support/getViewPort.js +5 -0
  42. package/lib/support/har/index.js +41 -3
  43. package/lib/support/usbPower.js +2 -3
  44. package/lib/video/postprocessing/finetune/addTextToVideo.js +4 -0
  45. package/lib/video/postprocessing/finetune/getFont.js +3 -3
  46. package/lib/video/postprocessing/finetune/getTimingMetrics.js +7 -0
  47. package/lib/video/postprocessing/finetune/index.js +26 -9
  48. package/lib/video/screenRecording/ios/iosDeviceRecorder.js +109 -0
  49. package/lib/video/screenRecording/recorder.js +2 -2
  50. package/lib/video/screenRecording/setOrangeBackground.js +3 -0
  51. package/package.json +11 -11
  52. package/types/core/engine/command/addText.d.ts +35 -6
  53. package/types/core/engine/command/addText.d.ts.map +1 -1
  54. package/types/core/engine/command/click.d.ts +87 -16
  55. package/types/core/engine/command/click.d.ts.map +1 -1
  56. package/types/core/engine/command/commandHelper.d.ts +16 -0
  57. package/types/core/engine/command/commandHelper.d.ts.map +1 -0
  58. package/types/core/engine/command/cookie.d.ts +65 -0
  59. package/types/core/engine/command/cookie.d.ts.map +1 -0
  60. package/types/core/engine/command/element.d.ts +19 -1
  61. package/types/core/engine/command/element.d.ts.map +1 -1
  62. package/types/core/engine/command/javaScript.d.ts +4 -0
  63. package/types/core/engine/command/javaScript.d.ts.map +1 -1
  64. package/types/core/engine/command/measure/screenshots.d.ts +15 -0
  65. package/types/core/engine/command/measure/screenshots.d.ts.map +1 -0
  66. package/types/core/engine/command/measure/video.d.ts +26 -0
  67. package/types/core/engine/command/measure/video.d.ts.map +1 -0
  68. package/types/core/engine/command/measure.d.ts +59 -33
  69. package/types/core/engine/command/measure.d.ts.map +1 -1
  70. package/types/core/engine/command/mouse/clickAndHold.d.ts.map +1 -1
  71. package/types/core/engine/command/mouse/contextClick.d.ts +28 -4
  72. package/types/core/engine/command/mouse/contextClick.d.ts.map +1 -1
  73. package/types/core/engine/command/mouse/doubleClick.d.ts +24 -4
  74. package/types/core/engine/command/mouse/doubleClick.d.ts.map +1 -1
  75. package/types/core/engine/command/mouse/mouseMove.d.ts +30 -5
  76. package/types/core/engine/command/mouse/mouseMove.d.ts.map +1 -1
  77. package/types/core/engine/command/mouse/singleClick.d.ts +50 -13
  78. package/types/core/engine/command/mouse/singleClick.d.ts.map +1 -1
  79. package/types/core/engine/command/navigation.d.ts +3 -3
  80. package/types/core/engine/command/select.d.ts +45 -8
  81. package/types/core/engine/command/select.d.ts.map +1 -1
  82. package/types/core/engine/command/selectorParser.d.ts +20 -0
  83. package/types/core/engine/command/selectorParser.d.ts.map +1 -0
  84. package/types/core/engine/command/set.d.ts +34 -7
  85. package/types/core/engine/command/set.d.ts.map +1 -1
  86. package/types/core/engine/command/wait.d.ts +29 -6
  87. package/types/core/engine/command/wait.d.ts.map +1 -1
  88. package/types/core/engine/commands.d.ts +296 -28
  89. package/types/core/engine/commands.d.ts.map +1 -1
  90. package/types/support/engineUtils.d.ts.map +1 -1
  91. package/types/support/getViewPort.d.ts.map +1 -1
  92. package/types/support/usbPower.d.ts.map +1 -1
  93. package/types/video/postprocessing/finetune/addTextToVideo.d.ts.map +1 -1
  94. package/types/video/postprocessing/finetune/getTimingMetrics.d.ts.map +1 -1
  95. package/types/video/postprocessing/finetune/index.d.ts.map +1 -1
  96. package/types/video/screenRecording/ios/iosDeviceRecorder.d.ts +28 -0
  97. package/types/video/screenRecording/ios/iosDeviceRecorder.d.ts.map +1 -0
  98. package/types/video/screenRecording/recorder.d.ts +2 -2
  99. package/types/video/screenRecording/recorder.d.ts.map +1 -1
  100. package/types/video/screenRecording/setOrangeBackground.d.ts.map +1 -1
  101. package/types/video/video.d.ts +1 -1
  102. package/types/video/video.d.ts.map +1 -1
  103. package/visualmetrics/visualmetrics-portable.py +136 -136
  104. package/lib/video/screenRecording/ios/convertToMp4.js +0 -22
  105. package/lib/video/screenRecording/ios/iosRecorder.js +0 -68
@@ -18,62 +18,68 @@ export class Wait {
18
18
  * Waits for an element with a specific ID to be located within a maximum time.
19
19
  *
20
20
  * @async
21
+ * @private
21
22
  * @param {string} id - The ID of the element to wait for.
22
23
  * @param {number} maxTime - Maximum time to wait in milliseconds.
23
24
  * @returns {Promise<void>} A promise that resolves when the element is found or the time times out.
24
25
  * @throws {Error} Throws an error if the element is not found within the specified time.
25
26
  */
26
- byId(id: string, maxTime: number): Promise<void>;
27
+ private byId;
27
28
  /**
28
29
  * Waits for an element with a specific ID to be located and visible within a maximum time.
29
30
  *
30
31
  * @async
32
+ * @private
31
33
  * @param {string} id - The ID of the element to wait for.
32
34
  * @param {number} maxTime - Maximum time to wait in milliseconds.
33
35
  * @returns {Promise<void>} A promise that resolves when the element is found or the time times out.
34
36
  * @throws {Error} Throws an error if the element is not found within the specified time.
35
37
  */
36
- byIdAndVisible(id: string, maxTime?: number): Promise<void>;
38
+ private byIdAndVisible;
37
39
  /**
38
40
  * Waits for an element located by XPath to appear within a maximum time.
39
41
  *
40
42
  * @async
43
+ * @private
41
44
  * @param {string} xpath - The XPath of the element to wait for.
42
45
  * @param {number} maxTime - Maximum time to wait in milliseconds.
43
46
  * @returns {Promise<void>} A promise that resolves when the element is found or the time times out.
44
47
  * @throws {Error} Throws an error if the element is not found within the specified time.
45
48
  */
46
- byXpath(xpath: string, maxTime: number): Promise<void>;
49
+ private byXpath;
47
50
  /**
48
51
  * Waits for an element located by XPath to appear and visible within a maximum time.
49
52
  *
50
53
  * @async
54
+ * @private
51
55
  * @param {string} xpath - The XPath of the element to wait for.
52
56
  * @param {number} maxTime - Maximum time to wait in milliseconds.
53
57
  * @returns {Promise<void>} A promise that resolves when the element is found or the time times out.
54
58
  * @throws {Error} Throws an error if the element is not found within the specified time.
55
59
  */
56
- byXpathAndVisible(xpath: string, maxTime?: number): Promise<void>;
60
+ private byXpathAndVisible;
57
61
  /**
58
62
  * Waits for an element located by a CSS selector to appear within a maximum time.
59
63
  *
60
64
  * @async
65
+ * @private
61
66
  * @param {string} selector - The CSS selector of the element to wait for.
62
67
  * @param {number} maxTime - Maximum time to wait in milliseconds.
63
68
  * @returns {Promise<void>} A promise that resolves when the element is found or the time times out.
64
69
  * @throws {Error} Throws an error if the element is not found within the specified time.
65
70
  */
66
- bySelector(selector: string, maxTime: number): Promise<void>;
71
+ private bySelector;
67
72
  /**
68
73
  * Waits for an element located by a CSS selector to be visible within a maximum time.
69
74
  *
70
75
  * @async
76
+ * @private
71
77
  * @param {string} selector - The CSS selector of the element to wait for.
72
78
  * @param {number} maxTime - Maximum time to wait in milliseconds.
73
79
  * @returns {Promise<void>} A promise that resolves when the element is found or the time times out.
74
80
  * @throws {Error} Throws an error if the element is not found within the specified time.
75
81
  */
76
- bySelectorAndVisible(selector: string, maxTime?: number): Promise<void>;
82
+ private bySelectorAndVisible;
77
83
  /**
78
84
  * Waits for a specified amount of time.
79
85
  *
@@ -90,6 +96,23 @@ export class Wait {
90
96
  * @returns {Promise<void>} A promise that resolves when the page complete check has finished.
91
97
  */
92
98
  byPageToComplete(): Promise<void>;
99
+ /**
100
+ * Waits for an element using a unified selector string to appear within a maximum time.
101
+ * Supports CSS selectors (default), and prefix-based strategies:
102
+ * 'id:myId', 'xpath://div', 'name:field', 'class:loaded'.
103
+ *
104
+ * @async
105
+ * @param {string} selector - The selector string. CSS by default, or use a prefix.
106
+ * @param {Object} [options] - Options for waiting.
107
+ * @param {number} [options.timeout=6000] - Maximum time to wait in milliseconds.
108
+ * @param {boolean} [options.visible=false] - If true, waits for the element to be visible, not just present.
109
+ * @returns {Promise<void>} A promise that resolves when the element is found.
110
+ * @throws {Error} Throws an error if the element is not found within the timeout.
111
+ */
112
+ run(selector: string, options?: {
113
+ timeout?: number;
114
+ visible?: boolean;
115
+ }): Promise<void>;
93
116
  /**
94
117
  * Waits for a JavaScript condition to return a truthy value within a maximum time.
95
118
  *
@@ -1 +1 @@
1
- {"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../../../lib/core/engine/command/wait.js"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH;IACE,kDASC;IARC;;OAEG;IACH,gBAAsB;IACtB;;OAEG;IACH,0BAA0C;IAG5C;;;;;;;;OAQG;IACH,SALW,MAAM,WACN,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAiBzB;IAED;;;;;;;;OAQG;IACH,mBALW,MAAM,YACN,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAmBzB;IAED;;;;;;;;OAQG;IACH,eALW,MAAM,WACN,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAmBzB;IAED;;;;;;;;OAQG;IACH,yBALW,MAAM,YACN,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAqBzB;IAED;;;;;;;;OAQG;IACH,qBALW,MAAM,WACN,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAuBzB;IAED;;;;;;;;OAQG;IACH,+BALW,MAAM,YACN,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAwBzB;IAED;;;;;;;OAOG;IACH,WAHW,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAIzB;IAED;;;;;OAKG;IACH,oBAFa,OAAO,CAAC,IAAI,CAAC,CAIzB;IAED;;;;;;;;OAQG;IACH,0BALW,MAAM,WACN,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAiBzB;CACF"}
1
+ {"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../../../lib/core/engine/command/wait.js"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH;IACE,kDASC;IARC;;OAEG;IACH,gBAAsB;IACtB;;OAEG;IACH,0BAA0C;IAG5C;;;;;;;;;OASG;IACH,aAcC;IAED;;;;;;;;;OASG;IACH,uBAeC;IAED;;;;;;;;;OASG;IACH,gBAgBC;IAED;;;;;;;;;OASG;IACH,0BAiBC;IAED;;;;;;;;;OASG;IACH,mBAoBC;IAED;;;;;;;;;OASG;IACH,6BAqBC;IAED;;;;;;;OAOG;IACH,WAHW,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAIzB;IAED;;;;;OAKG;IACH,oBAFa,OAAO,CAAC,IAAI,CAAC,CAIzB;IAED;;;;;;;;;;;;OAYG;IACH,cAPW,MAAM,YAEd;QAAyB,OAAO,GAAxB,MAAM;QACY,OAAO,GAAzB,OAAO;KACf,GAAU,OAAO,CAAC,IAAI,CAAC,CAqBzB;IAED;;;;;;;;OAQG;IACH,0BALW,MAAM,WACN,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAiBzB;CACF"}
@@ -3,7 +3,21 @@
3
3
  * @hideconstructor
4
4
  */
5
5
  export class Commands {
6
- constructor(browser: any, engineDelegate: any, index: any, result: any, storageManager: any, pageCompleteCheck: any, context: any, videos: any, screenshotManager: any, scriptsByCategory: any, asyncScriptsByCategory: any, postURLScripts: any, options: any);
6
+ constructor({ browser, engineDelegate, index, result, storageManager, pageCompleteCheck, context, videos, screenshotManager, scriptsByCategory, asyncScriptsByCategory, postURLScripts, options }: {
7
+ browser: any;
8
+ engineDelegate: any;
9
+ index: any;
10
+ result: any;
11
+ storageManager: any;
12
+ pageCompleteCheck: any;
13
+ context: any;
14
+ videos: any;
15
+ screenshotManager: any;
16
+ scriptsByCategory: any;
17
+ asyncScriptsByCategory: any;
18
+ postURLScripts: any;
19
+ options: any;
20
+ });
7
21
  /**
8
22
  * Provides functionality to collect perfetto traces.
9
23
  * @type {PerfettoTrace}
@@ -22,25 +36,50 @@ export class Commands {
22
36
  */
23
37
  trace: ChromeTrace;
24
38
  /**
25
- * Provides functionality to perform click actions on elements in a web page using various selectors.
26
- * @type {Click}
39
+ * Click on an element using a unified selector string.
40
+ * Supports CSS selectors (default), and prefixes: 'id:', 'xpath:', 'text:', 'link:', 'name:', 'class:'.
41
+ * @async
42
+ * @example await commands.click('#login-btn');
43
+ * @example await commands.click('id:login-btn');
44
+ * @example await commands.click('text:Submit', { waitForNavigation: true });
45
+ * @param {string} selector - The selector string.
46
+ * @param {Object} [clickOptions] - Options for the click.
47
+ * @param {boolean} [clickOptions.waitForNavigation=false] - If true, waits for the page to complete loading after clicking.
48
+ * @returns {Promise<void>}
27
49
  */
28
- click: Click;
50
+ click: (selector: string, clickOptions?: {
51
+ waitForNavigation?: boolean;
52
+ }) => Promise<void>;
29
53
  /**
30
54
  * Provides functionality to control page scrolling in the browser.
31
55
  * @type {Scroll}
32
56
  */
33
57
  scroll: Scroll;
34
58
  /**
35
- * Provides functionality to add text to elements on a web page using various selectors.
36
- * @type {AddText}
59
+ * Add text to an element using a unified selector string.
60
+ * @async
61
+ * @example await commands.addText('#search-input', 'search term');
62
+ * @example await commands.addText('id:username', 'myuser');
63
+ * @param {string} selector - The selector string.
64
+ * @param {string} text - The text to add.
65
+ * @returns {Promise<void>}
37
66
  */
38
- addText: AddText;
67
+ addText: (selector: string, text: string) => Promise<void>;
39
68
  /**
40
- * Provides functionality to wait for different conditions in the browser.
41
- * @type {Wait}
69
+ * Wait for an element using a unified selector string.
70
+ * @async
71
+ * @example await commands.wait('#my-element', { timeout: 5000 });
72
+ * @example await commands.wait('id:loaded', { timeout: 3000, visible: true });
73
+ * @param {string} selector - The selector string.
74
+ * @param {Object} [waitOptions] - Options for waiting.
75
+ * @param {number} [waitOptions.timeout=6000] - Maximum time to wait in ms.
76
+ * @param {boolean} [waitOptions.visible=false] - Wait for visibility.
77
+ * @returns {Promise<void>}
42
78
  */
43
- wait: Wait;
79
+ wait: (selector: string, waitOptions?: {
80
+ timeout?: number;
81
+ visible?: boolean;
82
+ }) => Promise<void>;
44
83
  /**
45
84
  * Provides functionality for measuring a navigation.
46
85
  * @type {Measure}
@@ -86,10 +125,16 @@ export class Commands {
86
125
  */
87
126
  switch: Switch;
88
127
  /**
89
- * Sets values on HTML elements in the page.
90
- * @type {Set}
128
+ * Set a property on an element using a unified selector string.
129
+ * @async
130
+ * @example await commands.set('#field', 'new value');
131
+ * @example await commands.set('id:title', '<h1>Hello</h1>', 'innerHTML');
132
+ * @param {string} selector - The selector string for the element.
133
+ * @param {string} setValue - The value to set.
134
+ * @param {string} [property='value'] - The property: 'value', 'innerText', or 'innerHTML'.
135
+ * @returns {Promise<void>}
91
136
  */
92
- set: Set;
137
+ set: (selector: string, setValue: string, property?: string) => Promise<void>;
93
138
  /**
94
139
  * Stopwatch utility for measuring time intervals.
95
140
  * @type {StopWatch}
@@ -100,6 +145,11 @@ export class Commands {
100
145
  * @type {Cache}
101
146
  */
102
147
  cache: Cache;
148
+ /**
149
+ * Manages browser cookies — get, set, delete individual or all cookies.
150
+ * @type {Cookie}
151
+ */
152
+ cookie: Cookie;
103
153
  /**
104
154
  * Adds metadata to the user journey.
105
155
  * @type {Meta}
@@ -132,16 +182,23 @@ export class Commands {
132
182
  * @type {Debug}
133
183
  */
134
184
  debug: Debug;
185
+ mouse: {
186
+ moveTo: (selector: any) => Promise<void>;
187
+ singleClick: (selector: any, mouseOptions: any) => Promise<any>;
188
+ doubleClick: (selector: any) => Promise<void>;
189
+ contextClick: (selector: any) => Promise<void>;
190
+ clickAndHold: ClickAndHold;
191
+ };
135
192
  /**
136
- * Interact with the page using the mouse.
137
- * @type {Object}
138
- */
139
- mouse: any;
140
- /**
141
- * Interact with a select element.
142
- * @type {Select}
193
+ * Select an option in a select element using a unified selector string.
194
+ * @async
195
+ * @example await commands.select('#country', 'SE');
196
+ * @example await commands.select('id:language', 'en');
197
+ * @param {string} selector - The selector string for the select element.
198
+ * @param {string} selectValue - The value of the option to select.
199
+ * @returns {Promise<void>}
143
200
  */
144
- select: Select;
201
+ select: (selector: string, selectValue: string) => Promise<void>;
145
202
  /**
146
203
  * Selenium's action sequence functionality.
147
204
  * @type {Actions}
@@ -149,34 +206,245 @@ export class Commands {
149
206
  */
150
207
  action: Actions;
151
208
  /**
152
- * Get Selenium's WebElements.
153
- * @type {Element}
209
+ * Types text into an element identified by a CSS selector.
210
+ * This is a convenience method that wraps {@link AddText#bySelector addText.bySelector}
211
+ * with a more conventional parameter order (selector first, then text).
212
+ * @async
213
+ * @example await commands.type('#search-input', 'search term');
214
+ * @param {string} selector - The CSS selector of the element.
215
+ * @param {string} text - The text to type into the element.
216
+ * @returns {Promise<void>} A promise that resolves when the text has been added.
217
+ * @throws {Error} Throws an error if the element is not found.
218
+ * @type {Function}
154
219
  */
220
+ type: Function;
155
221
  element: Element;
222
+ /**
223
+ * Finds an element using a CSS selector, with optional waiting and visibility check.
224
+ * @async
225
+ * @example const element = await commands.find('.my-element', { timeout: 5000, visible: true });
226
+ * @param {string} selector - The CSS selector of the element.
227
+ * @param {Object} [options] - Options for finding the element.
228
+ * @param {number} [options.timeout] - Maximum time in milliseconds to wait for the element. Defaults to the configured --timeouts.elementWait value.
229
+ * @param {boolean} [options.visible=false] - If true, waits for the element to be visible.
230
+ * @returns {Promise<WebElement>} A promise that resolves to the WebElement found.
231
+ * @throws {Error} Throws an error if the element is not found.
232
+ * @type {Function}
233
+ */
234
+ find: Function;
235
+ /**
236
+ * Checks if an element matching the selector exists in the DOM.
237
+ * Unlike find(), this does not throw if the element is not found.
238
+ * @async
239
+ * @example
240
+ * if (await commands.exists('#cookie-banner')) {
241
+ * await commands.click('#accept-cookies');
242
+ * }
243
+ * @param {string} selector - The CSS selector or prefixed selector.
244
+ * @param {Object} [existsOptions] - Options.
245
+ * @param {number} [existsOptions.timeout=0] - Maximum time to wait for the element. Default 0 (no wait).
246
+ * @returns {Promise<boolean>} True if the element exists.
247
+ * @type {Function}
248
+ */
249
+ exists: Function;
250
+ /**
251
+ * Gets the visible text of an element matching the selector.
252
+ * @async
253
+ * @example const text = await commands.getText('#greeting');
254
+ * @example const text = await commands.getText('id:heading');
255
+ * @param {string} selector - The CSS selector or prefixed selector.
256
+ * @returns {Promise<string>} The visible text content.
257
+ * @throws {Error} Throws an error if the element is not found.
258
+ * @type {Function}
259
+ */
260
+ getText: Function;
261
+ /**
262
+ * Gets the value of a form element matching the selector.
263
+ * @async
264
+ * @example const value = await commands.getValue('#price');
265
+ * @example const value = await commands.getValue('id:email');
266
+ * @param {string} selector - The CSS selector or prefixed selector.
267
+ * @returns {Promise<string>} The element's value.
268
+ * @throws {Error} Throws an error if the element is not found.
269
+ * @type {Function}
270
+ */
271
+ getValue: Function;
272
+ /**
273
+ * Checks if an element matching the selector is visible/displayed.
274
+ * @async
275
+ * @example const visible = await commands.isVisible('#error-message');
276
+ * @param {string} selector - The CSS selector or prefixed selector.
277
+ * @returns {Promise<boolean>} True if the element is visible.
278
+ * @throws {Error} Throws an error if the element is not found.
279
+ * @type {Function}
280
+ */
281
+ isVisible: Function;
282
+ /**
283
+ * Gets an attribute value of an element matching the selector.
284
+ * @async
285
+ * @example const href = await commands.getAttribute('#my-link', 'href');
286
+ * @example const dataId = await commands.getAttribute('id:item', 'data-id');
287
+ * @param {string} selector - The CSS selector or prefixed selector.
288
+ * @param {string} attribute - The attribute name.
289
+ * @returns {Promise<string>} The attribute value.
290
+ * @throws {Error} Throws an error if the element is not found.
291
+ * @type {Function}
292
+ */
293
+ getAttribute: Function;
294
+ /**
295
+ * Checks if a form element matching the selector is enabled.
296
+ * @async
297
+ * @example const enabled = await commands.isEnabled('#submit-btn');
298
+ * @param {string} selector - The CSS selector or prefixed selector.
299
+ * @returns {Promise<boolean>} True if the element is enabled.
300
+ * @throws {Error} Throws an error if the element is not found.
301
+ * @type {Function}
302
+ */
303
+ isEnabled: Function;
304
+ /**
305
+ * Checks if a checkbox or radio button is selected/checked.
306
+ * @async
307
+ * @example const checked = await commands.isChecked('#agree-checkbox');
308
+ * @param {string} selector - The CSS selector or prefixed selector.
309
+ * @returns {Promise<boolean>} True if the element is checked/selected.
310
+ * @throws {Error} Throws an error if the element is not found.
311
+ * @type {Function}
312
+ */
313
+ isChecked: Function;
314
+ /**
315
+ * Clears the content of a form element matching the selector.
316
+ * @async
317
+ * @example await commands.clear('#search-input');
318
+ * @example await commands.clear('id:email');
319
+ * @param {string} selector - The CSS selector or prefixed selector.
320
+ * @returns {Promise<void>} A promise that resolves when the element is cleared.
321
+ * @throws {Error} Throws an error if the element is not found.
322
+ * @type {Function}
323
+ */
324
+ clear: Function;
325
+ /**
326
+ * Fills multiple form fields at once. Each key is a selector, each value is the text to type.
327
+ * @async
328
+ * @example
329
+ * await commands.fill({
330
+ * '#username': 'admin',
331
+ * '#password': 'secret',
332
+ * 'id:email': 'user@example.com'
333
+ * });
334
+ * @param {Object<string, string>} fields - An object mapping selectors to values.
335
+ * @returns {Promise<void>} A promise that resolves when all fields are filled.
336
+ * @throws {Error} Throws an error if any element is not found.
337
+ * @type {Function}
338
+ */
339
+ fill: Function;
340
+ /**
341
+ * Hovers over an element matching the selector. This is a convenience
342
+ * alias for commands.mouse.moveTo(selector).
343
+ * @async
344
+ * @example await commands.hover('#menu-item');
345
+ * @example await commands.hover('id:tooltip-trigger');
346
+ * @param {string} selector - The CSS selector or prefixed selector.
347
+ * @returns {Promise<void>}
348
+ * @throws {Error} Throws an error if the element is not found.
349
+ * @type {Function}
350
+ */
351
+ hover: Function;
352
+ /**
353
+ * Presses a keyboard key. Use key names like 'Enter', 'Tab', 'Escape',
354
+ * 'Backspace', 'ArrowUp', 'ArrowDown', etc.
355
+ * @async
356
+ * @example await commands.press('Enter');
357
+ * @example await commands.press('Tab');
358
+ * @example await commands.press('Escape');
359
+ * @param {string} key - The key name to press (e.g. 'Enter', 'Tab', 'Escape').
360
+ * @returns {Promise<void>}
361
+ * @type {Function}
362
+ */
363
+ press: Function;
364
+ /**
365
+ * Gets the title of the current page.
366
+ * @async
367
+ * @example const title = await commands.getTitle();
368
+ * @returns {Promise<string>} The page title.
369
+ * @type {Function}
370
+ */
371
+ getTitle: Function;
372
+ /**
373
+ * Gets the URL of the current page.
374
+ * @async
375
+ * @example const url = await commands.getUrl();
376
+ * @returns {Promise<string>} The current URL.
377
+ * @type {Function}
378
+ */
379
+ getUrl: Function;
380
+ /**
381
+ * Checks a checkbox or radio button. Does nothing if already checked.
382
+ * @async
383
+ * @example await commands.check('#agree-terms');
384
+ * @example await commands.check('id:newsletter-opt-in');
385
+ * @param {string} selector - The CSS selector or prefixed selector.
386
+ * @returns {Promise<void>}
387
+ * @throws {Error} Throws an error if the element is not found.
388
+ * @type {Function}
389
+ */
390
+ check: Function;
391
+ /**
392
+ * Unchecks a checkbox. Does nothing if already unchecked.
393
+ * @async
394
+ * @example await commands.uncheck('#agree-terms');
395
+ * @example await commands.uncheck('id:newsletter-opt-in');
396
+ * @param {string} selector - The CSS selector or prefixed selector.
397
+ * @returns {Promise<void>}
398
+ * @throws {Error} Throws an error if the element is not found.
399
+ * @type {Function}
400
+ */
401
+ uncheck: Function;
402
+ /**
403
+ * Scrolls the page so that the element matching the selector is visible in the viewport.
404
+ * @async
405
+ * @example await commands.scrollIntoView('#footer');
406
+ * @example await commands.scrollIntoView('id:comments-section');
407
+ * @param {string} selector - The CSS selector or prefixed selector.
408
+ * @returns {Promise<void>}
409
+ * @throws {Error} Throws an error if the element is not found.
410
+ * @type {Function}
411
+ */
412
+ scrollIntoView: Function;
413
+ /**
414
+ * Waits until the browser's current URL contains the given string.
415
+ * Useful after form submissions, login redirects, or SPA navigation.
416
+ * @async
417
+ * @example await commands.waitForUrl('dashboard');
418
+ * @example await commands.waitForUrl('/account', { timeout: 10000 });
419
+ * @param {string} pattern - The string to match against the current URL.
420
+ * @param {Object} [urlOptions] - Options.
421
+ * @param {number} [urlOptions.timeout=10000] - Maximum time to wait in milliseconds.
422
+ * @returns {Promise<void>}
423
+ * @throws {Error} Throws an error if the URL does not match within the timeout.
424
+ * @type {Function}
425
+ */
426
+ waitForUrl: Function;
156
427
  }
157
428
  import { PerfettoTrace } from './command/perfetto.js';
158
429
  import { SimplePerfProfiler } from './command/simpleperf.js';
159
430
  import { GeckoProfiler as GeckoProfilerCommand } from './command/geckoProfiler.js';
160
431
  import { PerfStatsInterface } from './command/perfStats.js';
161
432
  import { ChromeTrace } from './command/chromeTrace.js';
162
- import { Click } from './command/click.js';
163
433
  import { Scroll } from './command/scroll.js';
164
- import { AddText } from './command/addText.js';
165
- import { Wait } from './command/wait.js';
166
434
  import { Measure } from './command/measure.js';
167
435
  import { Navigation } from './command/navigation.js';
168
436
  import { JavaScript } from './command/javaScript.js';
169
437
  import { Switch } from './command/switch.js';
170
- import { Set } from './command/set.js';
171
438
  import { Watch as StopWatch } from './command/stopWatch.js';
172
439
  import { Cache } from './command/cache.js';
440
+ import { Cookie } from './command/cookie.js';
173
441
  import { Meta } from './command/meta.js';
174
442
  import { Screenshot } from './command/screenshot.js';
175
443
  import { ChromeDevelopmentToolsProtocol } from './command/chromeDevToolsProtocol.js';
176
444
  import { Bidi } from './command/bidi.js';
177
445
  import { AndroidCommand } from './command/android.js';
178
446
  import { Debug } from './command/debug.js';
179
- import { Select } from './command/select.js';
447
+ import { ClickAndHold } from './command/mouse/index.js';
180
448
  import { Actions } from './command/actions.js';
181
449
  import { Element } from './command/element.js';
182
450
  //# sourceMappingURL=commands.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../lib/core/engine/commands.js"],"names":[],"mappings":"AAiCA;;;GAGG;AACH;IACE,gQAyQC;IA1OC;;;OAGG;IACH,UAFU,aAAa,CAEmD;IAE1E;;;OAGG;IACH,YAFU,kBAAkB,CAO3B;IAQD,+BAMC;IAOD,8BAA0B;IAO1B;;;OAGG;IACH,OAFU,WAAW,CAE+C;IAEpE;;;OAGG;IACH,OAFU,KAAK,CAEmC;IAElD;;;OAGG;IACH,QAFU,MAAM,CAE0B;IAE1C;;;OAGG;IACH,SAFU,OAAO,CAEkB;IAEnC;;;OAGG;IACH,MAFU,IAAI,CAEkC;IAEhD;;;OAGG;IACH,SAFU,OAAO,CAEK;IAEtB;;;;;;;;OAQG;IACH,mBAA+C;IAE/C;;;OAGG;IACH,YAFU,UAAU,CAEwC;IAE5D;;;;;OAKG;IACH,gBAAyC;IAEzC;;;;;OAKG;IACH,wBAAmD;IAEnD;;;OAGG;IACH,IAFU,UAAU,CAEgC;IAEpD;;;OAGG;IACH,QAFU,MAAM,CAMf;IAED;;;OAGG;IACH,KAFU,GAAG,CAEc;IAE3B;;;OAGG;IACH,WAFU,SAAS,CAEoB;IAEvC;;;OAGG;IACH,OAFU,KAAK,CAEsC;IAErD;;;OAGG;IACH,MAFU,IAAI,CAEQ;IAEtB;;;OAGG;IACH,YAFU,UAAU,CAE+C;IAEnE;;;OAGG;IACH,KAFU,8BAA8B,CAE1B;IAEd;;;;OAIG;IACH,MAFU,IAAI,CAEuC;IAErD;;;OAGG;IACH,SAFU,cAAc,CAEkB;IAE1C;;;;OAIG;IACH,OAFW,KAAK,CAEwB;IAExC;;;OAGG;IACH,WA0BC;IAED;;;OAGG;IACH,QAFU,MAAM,CAEiB;IAEjC;;;;OAIG;IACH,QAHU,OAAO,CAGiB;IAElC;;;OAGG;IACH,SAFU,OAAO,CAEkB;CAEtC;8BAjR6B,uBAAuB;mCAClB,yBAAyB;sDAHN,4BAA4B;mCAC/C,wBAAwB;4BAZ/B,0BAA0B;sBAhBhC,oBAAoB;uBAwBnB,qBAAqB;wBAzBpB,sBAAsB;qBAGzB,mBAAmB;wBAChB,sBAAsB;2BAsBnB,yBAAyB;2BArBzB,yBAAyB;uBAC7B,qBAAqB;oBAExB,kBAAkB;mCAGH,wBAAwB;sBAFrC,oBAAoB;qBACrB,mBAAmB;2BAHb,yBAAyB;+CASL,qCAAqC;qBAF/D,mBAAmB;+BACT,sBAAsB;sBAF/B,oBAAoB;uBADnB,qBAAqB;wBAbpB,sBAAsB;wBAGtB,sBAAsB"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../lib/core/engine/commands.js"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"engineUtils.d.ts","sourceRoot":"","sources":["../../lib/support/engineUtils.js"],"names":[],"mappings":"AAkFA,+EAOC;AAED,kEAKC;AAED,qFAKC;AACD,oCAEC"}
1
+ {"version":3,"file":"engineUtils.d.ts","sourceRoot":"","sources":["../../lib/support/engineUtils.js"],"names":[],"mappings":"AA6FA,+EAOC;AAED,kEAKC;AAED,qFAKC;AACD,oCAEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getViewPort.d.ts","sourceRoot":"","sources":["../../lib/support/getViewPort.js"],"names":[],"mappings":"AAqCA,+CAsCC"}
1
+ {"version":3,"file":"getViewPort.d.ts","sourceRoot":"","sources":["../../lib/support/getViewPort.js"],"names":[],"mappings":"AA0CA,+CAsCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"usbPower.d.ts","sourceRoot":"","sources":["../../lib/support/usbPower.js"],"names":[],"mappings":"AAAA,qDAUC"}
1
+ {"version":3,"file":"usbPower.d.ts","sourceRoot":"","sources":["../../lib/support/usbPower.js"],"names":[],"mappings":"AAAA,qDASC"}
@@ -1 +1 @@
1
- {"version":3,"file":"addTextToVideo.d.ts","sourceRoot":"","sources":["../../../../lib/video/postprocessing/finetune/addTextToVideo.js"],"names":[],"mappings":"AAgBA,0JAiCC"}
1
+ {"version":3,"file":"addTextToVideo.d.ts","sourceRoot":"","sources":["../../../../lib/video/postprocessing/finetune/addTextToVideo.js"],"names":[],"mappings":"AAgBA,0JAqCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getTimingMetrics.d.ts","sourceRoot":"","sources":["../../../../lib/video/postprocessing/finetune/getTimingMetrics.js"],"names":[],"mappings":"AAgCA,8FAsDC"}
1
+ {"version":3,"file":"getTimingMetrics.d.ts","sourceRoot":"","sources":["../../../../lib/video/postprocessing/finetune/getTimingMetrics.js"],"names":[],"mappings":"AAoCA,8FAyDC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/video/postprocessing/finetune/index.js"],"names":[],"mappings":"AAmBA,6IAmEC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/video/postprocessing/finetune/index.js"],"names":[],"mappings":"AAmBA,6IAoFC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Records the screen of an iOS device connected via USB.
3
+ *
4
+ * Uses the ios-capture server process that was started by the
5
+ * Safari delegate in beforeBrowserStart(). The server accepts
6
+ * START/STOP commands via stdin to control recording per iteration.
7
+ */
8
+ export class IOSDeviceRecorder {
9
+ constructor(options: any, baseDir: any);
10
+ options: any;
11
+ baseDir: any;
12
+ responseBuffer: string;
13
+ /**
14
+ * Start recording to a temporary file.
15
+ */
16
+ start(): Promise<void>;
17
+ _listeningForResponses: boolean;
18
+ tmpVideo: string;
19
+ /**
20
+ * Stop the current recording and move the video to the destination.
21
+ */
22
+ stop(destination: any): Promise<void>;
23
+ /**
24
+ * Wait for a specific response from ios-capture stdout.
25
+ */
26
+ _waitForResponse(expected: any, timeoutMs: any): Promise<boolean>;
27
+ }
28
+ //# sourceMappingURL=iosDeviceRecorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iosDeviceRecorder.d.ts","sourceRoot":"","sources":["../../../../lib/video/screenRecording/ios/iosDeviceRecorder.js"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH;IACE,wCAIC;IAHC,aAAsB;IACtB,aAAsB;IACtB,uBAAwB;IAG1B;;OAEG;IACH,uBAuBC;IAXG,gCAAkC;IAIpC,iBAAwB;IAS1B;;OAEG;IACH,sCA4BC;IAED;;OAEG;IACH,kEAuBC;CACF"}
@@ -1,7 +1,7 @@
1
- export function getRecorder(options: any, browser: any, baseDir: any): AndroidRecorder | DesktopRecorder | FirefoxWindowRecorder | IOSSimulatorRecorder | IOSRecorder;
1
+ export function getRecorder(options: any, browser: any, baseDir: any): AndroidRecorder | DesktopRecorder | FirefoxWindowRecorder | IOSSimulatorRecorder | IOSDeviceRecorder;
2
2
  import { AndroidRecorder } from './android/recorder.js';
3
3
  import { DesktopRecorder } from './desktop/desktopRecorder.js';
4
4
  import { FirefoxWindowRecorder } from './firefox/firefoxWindowRecorder.js';
5
5
  import { IOSSimulatorRecorder } from './iosSimulator/recorder.js';
6
- import { IOSRecorder } from './ios/iosRecorder.js';
6
+ import { IOSDeviceRecorder } from './ios/iosDeviceRecorder.js';
7
7
  //# sourceMappingURL=recorder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../../lib/video/screenRecording/recorder.js"],"names":[],"mappings":"AAOA,sKA0BC;gCAhC+B,uBAAuB;gCACvB,8BAA8B;sCACxB,oCAAoC;qCACrC,4BAA4B;4BACrC,sBAAsB"}
1
+ {"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../../lib/video/screenRecording/recorder.js"],"names":[],"mappings":"AAOA,4KA0BC;gCAhC+B,uBAAuB;gCACvB,8BAA8B;sCACxB,oCAAoC;qCACrC,4BAA4B;kCAC/B,4BAA4B"}
@@ -1 +1 @@
1
- {"version":3,"file":"setOrangeBackground.d.ts","sourceRoot":"","sources":["../../../lib/video/screenRecording/setOrangeBackground.js"],"names":[],"mappings":"AAGA,+DAyBC"}
1
+ {"version":3,"file":"setOrangeBackground.d.ts","sourceRoot":"","sources":["../../../lib/video/screenRecording/setOrangeBackground.js"],"names":[],"mappings":"AAGA,+DA4BC"}
@@ -7,7 +7,7 @@ export class Video {
7
7
  options: any;
8
8
  storageManager: any;
9
9
  tmpDir: any;
10
- recorder: import("./screenRecording/android/recorder.js").AndroidRecorder | import("./screenRecording/desktop/desktopRecorder.js").DesktopRecorder | import("./screenRecording/firefox/firefoxWindowRecorder.js").FirefoxWindowRecorder | import("./screenRecording/iosSimulator/recorder.js").IOSSimulatorRecorder | import("./screenRecording/ios/iosRecorder.js").IOSRecorder;
10
+ recorder: import("./screenRecording/android/recorder.js").AndroidRecorder | import("./screenRecording/desktop/desktopRecorder.js").DesktopRecorder | import("./screenRecording/firefox/firefoxWindowRecorder.js").FirefoxWindowRecorder | import("./screenRecording/iosSimulator/recorder.js").IOSSimulatorRecorder | import("./screenRecording/ios/iosDeviceRecorder.js").IOSDeviceRecorder;
11
11
  isRecording: boolean;
12
12
  setupDirs(index: any, url: any): Promise<void>;
13
13
  index: any;
@@ -1 +1 @@
1
- {"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../lib/video/video.js"],"names":[],"mappings":"AAOA;;;GAGG;AACH;IACE,6DAMC;IALC,aAAsB;IACtB,oBAAoC;IACpC,YAAsC;IACtC,iXAA0D;IAC1D,qBAAwB;IAG1B,+CAeC;IAbC,WAAkB;IAElB,cAEC;IAMD,kBAEC;IAGH;;;OAGG;IACH,0EAUC;IATC,gBAA4B;IAE5B,uBAA0C;IAS5C;;;OAGG;IACH,6BAcC;IATG,kBAKC;IAML,yBAaC;IAED;;;OAGG;IACH;;;OA0BC;IAED,6BAEC;IAED,2BAEC;CACF"}
1
+ {"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../lib/video/video.js"],"names":[],"mappings":"AAOA;;;GAGG;AACH;IACE,6DAMC;IALC,aAAsB;IACtB,oBAAoC;IACpC,YAAsC;IACtC,6XAA0D;IAC1D,qBAAwB;IAG1B,+CAeC;IAbC,WAAkB;IAElB,cAEC;IAMD,kBAEC;IAGH;;;OAGG;IACH,0EAUC;IATC,gBAA4B;IAE5B,uBAA0C;IAS5C;;;OAGG;IACH,6BAcC;IATG,kBAKC;IAML,yBAaC;IAED;;;OAGG;IACH;;;OA0BC;IAED,6BAEC;IAED,2BAEC;CACF"}