browsertime 20.0.0 → 21.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +2 -2
  3. package/bin/browsertime.js +9 -3
  4. package/browserscripts/pageinfo/interactionToNextPaintInfo.js +170 -143
  5. package/browserscripts/timings/interactionToNextPaint.js +49 -137
  6. package/lib/chrome/webdriver/setupChromiumOptions.js +0 -9
  7. package/lib/core/engine/collector.js +11 -0
  8. package/lib/core/engine/command/actions.js +52 -0
  9. package/lib/core/engine/command/addText.js +48 -30
  10. package/lib/core/engine/command/android.js +43 -4
  11. package/lib/core/engine/command/cache.js +39 -2
  12. package/lib/core/engine/command/chromeDevToolsProtocol.js +51 -1
  13. package/lib/core/engine/command/chromeTrace.js +34 -0
  14. package/lib/core/engine/command/click.js +102 -52
  15. package/lib/core/engine/command/debug.js +19 -2
  16. package/lib/core/engine/command/element.js +66 -0
  17. package/lib/core/engine/command/geckoProfiler.js +41 -1
  18. package/lib/core/engine/command/javaScript.js +43 -20
  19. package/lib/core/engine/command/measure.js +147 -15
  20. package/lib/core/engine/command/meta.js +17 -0
  21. package/lib/core/engine/command/mouse/clickAndHold.js +56 -29
  22. package/lib/core/engine/command/mouse/contextClick.js +30 -11
  23. package/lib/core/engine/command/mouse/doubleClick.js +35 -11
  24. package/lib/core/engine/command/mouse/mouseMove.js +38 -16
  25. package/lib/core/engine/command/mouse/singleClick.js +187 -12
  26. package/lib/core/engine/command/navigation.js +31 -3
  27. package/lib/core/engine/command/screenshot.js +33 -0
  28. package/lib/core/engine/command/scroll.js +35 -13
  29. package/lib/core/engine/command/select.js +55 -36
  30. package/lib/core/engine/command/set.js +51 -36
  31. package/lib/core/engine/command/stopWatch.js +30 -9
  32. package/lib/core/engine/command/switch.js +49 -11
  33. package/lib/core/engine/command/wait.js +50 -25
  34. package/lib/core/engine/commands.js +267 -0
  35. package/lib/core/engine/context.js +81 -0
  36. package/lib/core/engine/iteration.js +20 -102
  37. package/lib/firefox/geckoProfiler.js +49 -1
  38. package/lib/firefox/webdriver/builder.js +4 -9
  39. package/lib/firefox/webdriver/firefox.js +1 -1
  40. package/lib/support/cli.js +7 -0
  41. package/lib/support/statistics.js +11 -1
  42. package/package.json +17 -7
  43. package/types/android/index.d.ts +70 -0
  44. package/types/android/index.d.ts.map +1 -0
  45. package/types/chrome/parseCpuTrace.d.ts +21 -0
  46. package/types/chrome/parseCpuTrace.d.ts.map +1 -0
  47. package/types/chrome/traceCategoriesParser.d.ts +2 -0
  48. package/types/chrome/traceCategoriesParser.d.ts.map +1 -0
  49. package/types/chrome/webdriver/traceUtilities.d.ts +8 -0
  50. package/types/chrome/webdriver/traceUtilities.d.ts.map +1 -0
  51. package/types/core/engine/command/action.d.ts +73 -0
  52. package/types/core/engine/command/action.d.ts.map +1 -0
  53. package/types/core/engine/command/actions.d.ts +38 -0
  54. package/types/core/engine/command/actions.d.ts.map +1 -0
  55. package/types/core/engine/command/addText.d.ts +68 -0
  56. package/types/core/engine/command/addText.d.ts.map +1 -0
  57. package/types/core/engine/command/android.d.ts +39 -0
  58. package/types/core/engine/command/android.d.ts.map +1 -0
  59. package/types/core/engine/command/cache.d.ts +53 -0
  60. package/types/core/engine/command/cache.d.ts.map +1 -0
  61. package/types/core/engine/command/chromeDevToolsProtocol.d.ts +61 -0
  62. package/types/core/engine/command/chromeDevToolsProtocol.d.ts.map +1 -0
  63. package/types/core/engine/command/chromeTrace.d.ts +45 -0
  64. package/types/core/engine/command/chromeTrace.d.ts.map +1 -0
  65. package/types/core/engine/command/click.d.ts +151 -0
  66. package/types/core/engine/command/click.d.ts.map +1 -0
  67. package/types/core/engine/command/debug.d.ts +28 -0
  68. package/types/core/engine/command/debug.d.ts.map +1 -0
  69. package/types/core/engine/command/element.d.ts +49 -0
  70. package/types/core/engine/command/element.d.ts.map +1 -0
  71. package/types/core/engine/command/geckoProfiler.d.ts +46 -0
  72. package/types/core/engine/command/geckoProfiler.d.ts.map +1 -0
  73. package/types/core/engine/command/javaScript.d.ts +63 -0
  74. package/types/core/engine/command/javaScript.d.ts.map +1 -0
  75. package/types/core/engine/command/measure.d.ts +194 -0
  76. package/types/core/engine/command/measure.d.ts.map +1 -0
  77. package/types/core/engine/command/meta.d.ts +23 -0
  78. package/types/core/engine/command/meta.d.ts.map +1 -0
  79. package/types/core/engine/command/mouse/clickAndHold.d.ts +82 -0
  80. package/types/core/engine/command/mouse/clickAndHold.d.ts.map +1 -0
  81. package/types/core/engine/command/mouse/contextClick.d.ts +44 -0
  82. package/types/core/engine/command/mouse/contextClick.d.ts.map +1 -0
  83. package/types/core/engine/command/mouse/doubleClick.d.ts +51 -0
  84. package/types/core/engine/command/mouse/doubleClick.d.ts.map +1 -0
  85. package/types/core/engine/command/mouse/index.d.ts +6 -0
  86. package/types/core/engine/command/mouse/index.d.ts.map +1 -0
  87. package/types/core/engine/command/mouse/mouseMove.d.ts +56 -0
  88. package/types/core/engine/command/mouse/mouseMove.d.ts.map +1 -0
  89. package/types/core/engine/command/mouse/singleClick.d.ts +115 -0
  90. package/types/core/engine/command/mouse/singleClick.d.ts.map +1 -0
  91. package/types/core/engine/command/navigation.d.ts +45 -0
  92. package/types/core/engine/command/navigation.d.ts.map +1 -0
  93. package/types/core/engine/command/screenshot.d.ts +33 -0
  94. package/types/core/engine/command/screenshot.d.ts.map +1 -0
  95. package/types/core/engine/command/scroll.d.ts +52 -0
  96. package/types/core/engine/command/scroll.d.ts.map +1 -0
  97. package/types/core/engine/command/select.d.ts +81 -0
  98. package/types/core/engine/command/select.d.ts.map +1 -0
  99. package/types/core/engine/command/set.d.ts +74 -0
  100. package/types/core/engine/command/set.d.ts.map +1 -0
  101. package/types/core/engine/command/stopWatch.d.ts +49 -0
  102. package/types/core/engine/command/stopWatch.d.ts.map +1 -0
  103. package/types/core/engine/command/switch.d.ts +77 -0
  104. package/types/core/engine/command/switch.d.ts.map +1 -0
  105. package/types/core/engine/command/util/lcpHighlightScript.d.ts +2 -0
  106. package/types/core/engine/command/util/lcpHighlightScript.d.ts.map +1 -0
  107. package/types/core/engine/command/util/lsHighlightScript.d.ts +2 -0
  108. package/types/core/engine/command/util/lsHighlightScript.d.ts.map +1 -0
  109. package/types/core/engine/command/wait.d.ts +74 -0
  110. package/types/core/engine/command/wait.d.ts.map +1 -0
  111. package/types/core/engine/commands.d.ts +161 -0
  112. package/types/core/engine/commands.d.ts.map +1 -0
  113. package/types/core/engine/context.d.ts +87 -0
  114. package/types/core/engine/context.d.ts.map +1 -0
  115. package/types/firefox/geckoProfiler.d.ts +11 -0
  116. package/types/firefox/geckoProfiler.d.ts.map +1 -0
  117. package/types/firefox/settings/geckoProfilerDefaults.d.ts +8 -0
  118. package/types/firefox/settings/geckoProfilerDefaults.d.ts.map +1 -0
  119. package/types/scripting.d.ts +2 -0
  120. package/types/support/engineUtils.d.ts +5 -0
  121. package/types/support/engineUtils.d.ts.map +1 -0
  122. package/types/support/errors.d.ts +15 -0
  123. package/types/support/errors.d.ts.map +1 -0
  124. package/types/support/fileUtil.d.ts +10 -0
  125. package/types/support/fileUtil.d.ts.map +1 -0
  126. package/types/support/filters.d.ts +7 -0
  127. package/types/support/filters.d.ts.map +1 -0
  128. package/types/support/getViewPort.d.ts +2 -0
  129. package/types/support/getViewPort.d.ts.map +1 -0
  130. package/types/support/pathToFolder.d.ts +2 -0
  131. package/types/support/pathToFolder.d.ts.map +1 -0
  132. package/types/support/storageManager.d.ts +17 -0
  133. package/types/support/storageManager.d.ts.map +1 -0
  134. package/types/support/tcpdump.d.ts +10 -0
  135. package/types/support/tcpdump.d.ts.map +1 -0
  136. package/types/support/userTiming.d.ts +2 -0
  137. package/types/support/userTiming.d.ts.map +1 -0
  138. package/types/support/util.d.ts +6 -0
  139. package/types/support/util.d.ts.map +1 -0
  140. package/types/video/defaults.d.ts +7 -0
  141. package/types/video/defaults.d.ts.map +1 -0
  142. package/types/video/postprocessing/finetune/addTextToVideo.d.ts +2 -0
  143. package/types/video/postprocessing/finetune/addTextToVideo.d.ts.map +1 -0
  144. package/types/video/postprocessing/finetune/convertFps.d.ts +2 -0
  145. package/types/video/postprocessing/finetune/convertFps.d.ts.map +1 -0
  146. package/types/video/postprocessing/finetune/getFont.d.ts +2 -0
  147. package/types/video/postprocessing/finetune/getFont.d.ts.map +1 -0
  148. package/types/video/postprocessing/finetune/getTimingMetrics.d.ts +2 -0
  149. package/types/video/postprocessing/finetune/getTimingMetrics.d.ts.map +1 -0
  150. package/types/video/postprocessing/finetune/index.d.ts +2 -0
  151. package/types/video/postprocessing/finetune/index.d.ts.map +1 -0
  152. package/types/video/postprocessing/finetune/removeOrange.d.ts +2 -0
  153. package/types/video/postprocessing/finetune/removeOrange.d.ts.map +1 -0
  154. package/types/video/postprocessing/visualmetrics/extraMetrics.d.ts +5 -0
  155. package/types/video/postprocessing/visualmetrics/extraMetrics.d.ts.map +1 -0
  156. package/types/video/postprocessing/visualmetrics/getVideoMetrics.d.ts +5 -0
  157. package/types/video/postprocessing/visualmetrics/getVideoMetrics.d.ts.map +1 -0
  158. package/types/video/postprocessing/visualmetrics/visualMetrics.d.ts +3 -0
  159. package/types/video/postprocessing/visualmetrics/visualMetrics.d.ts.map +1 -0
  160. package/types/video/screenRecording/android/recorder.d.ts +11 -0
  161. package/types/video/screenRecording/android/recorder.d.ts.map +1 -0
  162. package/types/video/screenRecording/desktop/convert.d.ts +2 -0
  163. package/types/video/screenRecording/desktop/convert.d.ts.map +1 -0
  164. package/types/video/screenRecording/desktop/desktopRecorder.d.ts +28 -0
  165. package/types/video/screenRecording/desktop/desktopRecorder.d.ts.map +1 -0
  166. package/types/video/screenRecording/desktop/ffmpegRecorder.d.ts +17 -0
  167. package/types/video/screenRecording/desktop/ffmpegRecorder.d.ts.map +1 -0
  168. package/types/video/screenRecording/desktop/osx/getSPDisplaysDataType.d.ts +2 -0
  169. package/types/video/screenRecording/desktop/osx/getSPDisplaysDataType.d.ts.map +1 -0
  170. package/types/video/screenRecording/desktop/osx/getScreen.d.ts +2 -0
  171. package/types/video/screenRecording/desktop/osx/getScreen.d.ts.map +1 -0
  172. package/types/video/screenRecording/firefox/firefoxWindowRecorder.d.ts +13 -0
  173. package/types/video/screenRecording/firefox/firefoxWindowRecorder.d.ts.map +1 -0
  174. package/types/video/screenRecording/ios/convertToMp4.d.ts +2 -0
  175. package/types/video/screenRecording/ios/convertToMp4.d.ts.map +1 -0
  176. package/types/video/screenRecording/ios/iosRecorder.d.ts +14 -0
  177. package/types/video/screenRecording/ios/iosRecorder.d.ts.map +1 -0
  178. package/types/video/screenRecording/iosSimulator/convertToMp4.d.ts +2 -0
  179. package/types/video/screenRecording/iosSimulator/convertToMp4.d.ts.map +1 -0
  180. package/types/video/screenRecording/iosSimulator/recorder.d.ts +9 -0
  181. package/types/video/screenRecording/iosSimulator/recorder.d.ts.map +1 -0
  182. package/types/video/screenRecording/recorder.d.ts +7 -0
  183. package/types/video/screenRecording/recorder.d.ts.map +1 -0
  184. package/types/video/screenRecording/setOrangeBackground.d.ts +2 -0
  185. package/types/video/screenRecording/setOrangeBackground.d.ts.map +1 -0
  186. package/types/video/video.d.ts +41 -0
  187. package/types/video/video.d.ts.map +1 -0
  188. package/browsersupport/firefox-profile/cert9.db +0 -0
  189. package/browsersupport/firefox-profile/chrome/userChrome.css +0 -4
  190. package/browsersupport/firefox-profile/key4.db +0 -0
  191. package/vendor/mac/x86/qvh +0 -0
  192. package/visualmetrics/__init__.py +0 -1
  193. package/visualmetrics/test_data/ms_000000.png +0 -0
  194. package/visualmetrics/test_data/ms_000920.png +0 -0
  195. package/visualmetrics/test_data/ms_001000.png +0 -0
  196. package/visualmetrics/test_data/ms_001080.png +0 -0
  197. package/visualmetrics/test_data/ms_001200.png +0 -0
  198. package/visualmetrics/test_data/ms_001240.png +0 -0
  199. package/visualmetrics/test_data/ms_001280.png +0 -0
  200. package/visualmetrics/test_data/ms_001360.png +0 -0
  201. package/visualmetrics/test_data/ms_001400.png +0 -0
  202. package/visualmetrics/test_data/ms_001520.png +0 -0
  203. package/visualmetrics/test_data/ms_002040.png +0 -0
  204. package/visualmetrics/test_data/ms_002600.png +0 -0
  205. package/visualmetrics/test_data/ms_003160.png +0 -0
  206. package/visualmetrics/test_data/ms_003720.png +0 -0
  207. package/visualmetrics/test_data/ms_004280.png +0 -0
  208. package/visualmetrics/test_data/ms_004880.png +0 -0
  209. package/visualmetrics/test_data/ms_005440.png +0 -0
  210. package/visualmetrics/test_data/ms_006000.png +0 -0
  211. package/visualmetrics/test_visualmetrics.py +0 -34
@@ -0,0 +1,2 @@
1
+ export function getTimingMetrics(videoMetrics: any, timingMetrics: any, options: any): string;
2
+ //# sourceMappingURL=getTimingMetrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTimingMetrics.d.ts","sourceRoot":"","sources":["../../../../lib/video/postprocessing/finetune/getTimingMetrics.js"],"names":[],"mappings":"AAgCA,8FAsDC"}
@@ -0,0 +1,2 @@
1
+ export function finetuneVideo(videoDir: any, videoPath: any, index: any, videoMetrics: any, timingMetrics: any, options: any): Promise<void>;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/video/postprocessing/finetune/index.js"],"names":[],"mappings":"AAmBA,6IAmEC"}
@@ -0,0 +1,2 @@
1
+ export function removeOrange(inputFile: any, outputFile: any, newStart: any, visualMetrics: any, options: any): Promise<import("execa").ExecaReturnValue<string>>;
2
+ //# sourceMappingURL=removeOrange.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removeOrange.d.ts","sourceRoot":"","sources":["../../../../lib/video/postprocessing/finetune/removeOrange.js"],"names":[],"mappings":"AAIA,kKAkBC"}
@@ -0,0 +1,5 @@
1
+ export function extraMetrics(metrics: any): {
2
+ videoRecordingStart: any;
3
+ visualMetrics: any;
4
+ };
5
+ //# sourceMappingURL=extraMetrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extraMetrics.d.ts","sourceRoot":"","sources":["../../../../lib/video/postprocessing/visualmetrics/extraMetrics.js"],"names":[],"mappings":"AAAA;;;EA8CC"}
@@ -0,0 +1,5 @@
1
+ export function getVideoMetrics(videoDir: any, filmstripDir: any, videoPath: any, index: any, visualElements: any, storageManager: any, pageNumber: any, visitedPageNumber: any, options: any): Promise<{
2
+ videoRecordingStart: any;
3
+ visualMetrics: any;
4
+ }>;
5
+ //# sourceMappingURL=getVideoMetrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getVideoMetrics.d.ts","sourceRoot":"","sources":["../../../../lib/video/postprocessing/visualmetrics/getVideoMetrics.js"],"names":[],"mappings":"AAMA;;;GA+CC"}
@@ -0,0 +1,3 @@
1
+ export function checkDependencies(options: any): Promise<import("execa").ExecaReturnValue<string>>;
2
+ export function run(videoPath: any, imageDirPath: any, elementsFile: any, videoDir: any, index: any, pageNumber: any, visitedPageNumber: any, options: any): Promise<any>;
3
+ //# sourceMappingURL=visualMetrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visualMetrics.d.ts","sourceRoot":"","sources":["../../../../lib/video/postprocessing/visualmetrics/visualMetrics.js"],"names":[],"mappings":"AAsCA,mGAEC;AACD,0KAiHC"}
@@ -0,0 +1,11 @@
1
+ export class AndroidRecorder {
2
+ constructor(options: any);
3
+ waitTime: any;
4
+ framerate: any;
5
+ options: any;
6
+ start(): Promise<any>;
7
+ android: Android;
8
+ stop(destination: any): Promise<any>;
9
+ }
10
+ import { Android } from '../../../android/index.js';
11
+ //# sourceMappingURL=recorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../../../lib/video/screenRecording/android/recorder.js"],"names":[],"mappings":"AAUA;IACE,0BAIC;IAHC,cAAsE;IACtE,eAAiE;IACjE,aAAsB;IAGxB,sBAGC;IAFC,iBAAwC;IAI1C,qCAgBC;CACF;wBAlCuB,2BAA2B"}
@@ -0,0 +1,2 @@
1
+ export function convert(source: any, destination: any, crf: any, threads: any): Promise<import("execa").ExecaReturnValue<string>>;
2
+ //# sourceMappingURL=convert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../../lib/video/screenRecording/desktop/convert.js"],"names":[],"mappings":"AAIA,kIAwBC"}
@@ -0,0 +1,28 @@
1
+ export class DesktopRecorder {
2
+ constructor(options: any);
3
+ display: any;
4
+ framerate: any;
5
+ nice: any;
6
+ crf: any;
7
+ convert: any;
8
+ threads: any;
9
+ viewPort: any;
10
+ taskset: any;
11
+ origin: string;
12
+ offset: {
13
+ x: number;
14
+ y: number;
15
+ };
16
+ options: any;
17
+ start(file: any): Promise<{
18
+ filePath: any;
19
+ ffmpegProcess: any;
20
+ }>;
21
+ filePath: any;
22
+ recording: Promise<{
23
+ filePath: any;
24
+ ffmpegProcess: any;
25
+ }>;
26
+ stop(destination: any): Promise<void>;
27
+ }
28
+ //# sourceMappingURL=desktopRecorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desktopRecorder.d.ts","sourceRoot":"","sources":["../../../../lib/video/screenRecording/desktop/desktopRecorder.js"],"names":[],"mappings":"AAkBA;IACE,0BAYC;IAXC,aAA8D;IAC9D,eAAkE;IAClE,UAA+C;IAC/C,SAAgD;IAChD,aAA4D;IAC5D,aAA4D;IAC5D,cAAoC;IACpC,aAAkD;IAClD,eAAmB;IACnB;;;MAA4B;IAC5B,aAAsB;IAGxB;;;OAiBC;IAhBC,cAAoB;IAEpB;;;OAWE;IAKJ,sCA8BC;CACF"}
@@ -0,0 +1,17 @@
1
+ export function start({ display, origin, size, filePath, offset, framerate, crf, nice, threads, taskset }: {
2
+ display: any;
3
+ origin: any;
4
+ size: any;
5
+ filePath: any;
6
+ offset: any;
7
+ framerate: any;
8
+ crf: any;
9
+ nice: any;
10
+ threads: any;
11
+ taskset: any;
12
+ }): Promise<{
13
+ filePath: any;
14
+ ffmpegProcess: any;
15
+ }>;
16
+ export function stop(recording: any): Promise<any>;
17
+ //# sourceMappingURL=ffmpegRecorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ffmpegRecorder.d.ts","sourceRoot":"","sources":["../../../../lib/video/screenRecording/desktop/ffmpegRecorder.js"],"names":[],"mappings":"AAsIA;;;;;;;;;;;;;;GAiCC;AACD,mDAaC"}
@@ -0,0 +1,2 @@
1
+ export function getSPDisplaysDataType(): Promise<string>;
2
+ //# sourceMappingURL=getSPDisplaysDataType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSPDisplaysDataType.d.ts","sourceRoot":"","sources":["../../../../../lib/video/screenRecording/desktop/osx/getSPDisplaysDataType.js"],"names":[],"mappings":"AAEA,yDAKC"}
@@ -0,0 +1,2 @@
1
+ export function getScreenOnOSX(): Promise<string>;
2
+ //# sourceMappingURL=getScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getScreen.d.ts","sourceRoot":"","sources":["../../../../../lib/video/screenRecording/desktop/osx/getScreen.js"],"names":[],"mappings":"AAIA,kDA0BC"}
@@ -0,0 +1,13 @@
1
+ export class FirefoxWindowRecorder {
2
+ constructor(options: any, browser: any, baseDir: any);
3
+ options: any;
4
+ browser: any;
5
+ baseDir: any;
6
+ recordingStartTime: any;
7
+ timeToFirstFrame: number;
8
+ start(): Promise<any>;
9
+ android: Android;
10
+ stop(destination: any): Promise<void>;
11
+ }
12
+ import { Android } from '../../../android/index.js';
13
+ //# sourceMappingURL=firefoxWindowRecorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firefoxWindowRecorder.d.ts","sourceRoot":"","sources":["../../../../lib/video/screenRecording/firefox/firefoxWindowRecorder.js"],"names":[],"mappings":"AAqJA;IACE,sDAMC;IALC,aAAsB;IACtB,aAAsB;IACtB,aAAsB;IACtB,wBAAmC;IACnC,yBAAiC;IAGnC,sBAYC;IARG,iBAAwC;IAU5C,sCAgCC;CACF;wBAjM4C,2BAA2B"}
@@ -0,0 +1,2 @@
1
+ export function convert(source: any, destination: any): Promise<import("execa").ExecaReturnValue<string>>;
2
+ //# sourceMappingURL=convertToMp4.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertToMp4.d.ts","sourceRoot":"","sources":["../../../../lib/video/screenRecording/ios/convertToMp4.js"],"names":[],"mappings":"AAIA,0GAiBC"}
@@ -0,0 +1,14 @@
1
+ export class IOSRecorder {
2
+ static activate(): Promise<NodeJS.WriteStream & {
3
+ fd: 1;
4
+ }>;
5
+ constructor(options: any, baseDir: any);
6
+ options: any;
7
+ uuid: any;
8
+ tmpVideo: string;
9
+ tmpSound: string;
10
+ start(): Promise<void>;
11
+ qvhProcessProcess: import("execa").ExecaChildProcess<string>;
12
+ stop(destination: any): Promise<import("execa").ExecaReturnValue<string>>;
13
+ }
14
+ //# sourceMappingURL=iosRecorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iosRecorder.d.ts","sourceRoot":"","sources":["../../../../lib/video/screenRecording/ios/iosRecorder.js"],"names":[],"mappings":"AAeA;IAQE;;OAMC;IAbD,wCAKC;IAJC,aAAsB;IACtB,UAAqC;IACrC,iBAAyC;IACzC,iBAAwC;IAW1C,uBAqBC;IAlBC,6DAQC;IAYH,0EAaC;CACF"}
@@ -0,0 +1,2 @@
1
+ export function convert(source: any, destination: any): Promise<import("execa").ExecaReturnValue<string>>;
2
+ //# sourceMappingURL=convertToMp4.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertToMp4.d.ts","sourceRoot":"","sources":["../../../../lib/video/screenRecording/iosSimulator/convertToMp4.js"],"names":[],"mappings":"AAIA,0GAiBC"}
@@ -0,0 +1,9 @@
1
+ export class IOSSimulatorRecorder {
2
+ constructor(options: any, baseDir: any);
3
+ options: any;
4
+ tmpVideo: string;
5
+ start(): Promise<void>;
6
+ xcrunProcess: import("execa").ExecaChildProcess<string>;
7
+ stop(destination: any): Promise<import("execa").ExecaReturnValue<string>>;
8
+ }
9
+ //# sourceMappingURL=recorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../../../lib/video/screenRecording/iosSimulator/recorder.js"],"names":[],"mappings":"AAUA;IACE,wCAGC;IAFC,aAAsB;IACtB,iBAA6C;IAG/C,uBAUC;IAPC,wDAMC;IAGH,0EAWC;CACF"}
@@ -0,0 +1,7 @@
1
+ export function getRecorder(options: any, browser: any, baseDir: any): AndroidRecorder | DesktopRecorder | FirefoxWindowRecorder | IOSSimulatorRecorder | IOSRecorder;
2
+ import { AndroidRecorder } from './android/recorder.js';
3
+ import { DesktopRecorder } from './desktop/desktopRecorder.js';
4
+ import { FirefoxWindowRecorder } from './firefox/firefoxWindowRecorder.js';
5
+ import { IOSSimulatorRecorder } from './iosSimulator/recorder.js';
6
+ import { IOSRecorder } from './ios/iosRecorder.js';
7
+ //# sourceMappingURL=recorder.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,2 @@
1
+ export function setOrangeBackground(driver: any): Promise<any>;
2
+ //# sourceMappingURL=setOrangeBackground.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setOrangeBackground.d.ts","sourceRoot":"","sources":["../../../lib/video/screenRecording/setOrangeBackground.js"],"names":[],"mappings":"AAGA,+DAyBC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Create a new Video that handles everything with the video
3
+ * @class
4
+ */
5
+ export class Video {
6
+ constructor(storageManager: any, options: any, browser: any);
7
+ options: any;
8
+ storageManager: any;
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;
11
+ isRecording: boolean;
12
+ setupDirs(index: any, url: any): Promise<void>;
13
+ index: any;
14
+ videoDir: any;
15
+ filmstripDir: any;
16
+ /**
17
+ * Start recoding a video.
18
+ * @returns {Promise} Promise object that represents when the video started
19
+ */
20
+ record(pageNumber: any, index: any, visitedPageNumber: any): Promise<any>;
21
+ pageNumber: any;
22
+ visitedPageNumber: any;
23
+ /**
24
+ * Stop recording the video.
25
+ * @returns {Promise} Promise object that represents when the video stopped
26
+ */
27
+ stop(url: any): Promise<any>;
28
+ videoPath: string;
29
+ cleanup(): Promise<void>;
30
+ /**
31
+ Post process video: get visual metrics, finetune the video and remove it
32
+ if you don't want it
33
+ */
34
+ postProcessing(timingMetrics: any, visualElements: any): Promise<{
35
+ videoRecordingStart: any;
36
+ visualMetrics: any;
37
+ }>;
38
+ getRecordingStartTime(): any;
39
+ getTimeToFirstFrame(): any;
40
+ }
41
+ //# sourceMappingURL=video.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../lib/video/video.js"],"names":[],"mappings":"AAQA;;;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,6BAUC;IARC,kBAKC;IAKH,yBAUC;IAED;;;OAGG;IACH;;;OA0BC;IAED,6BAEC;IAED,2BAEC;CACF"}
@@ -1,4 +0,0 @@
1
- @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /* only needed once */
2
-
3
- /* use this code to hide all messages */
4
- statuspanel { display:none!important; }
Binary file
@@ -1 +0,0 @@
1
- #
@@ -1,34 +0,0 @@
1
- import unittest
2
- import os
3
-
4
- from browsertime.visualmetrics import (
5
- calculate_contentful_speed_index,
6
- calculate_perceptual_speed_index,
7
- )
8
-
9
- HERE = os.path.dirname(__file__)
10
-
11
-
12
- class TestVisualMetrics(unittest.TestCase):
13
- def setUp(self):
14
- self.directory = "test_data"
15
- images = os.listdir(os.path.join(HERE, self.directory))
16
-
17
- def _p(image):
18
- p = {}
19
- p["time"] = int(image.split(".")[0].split("ms_")[-1])
20
- return p
21
-
22
- progress = [_p(image) for image in images if image.startswith("ms_")]
23
- self.sorted_progress = sorted(progress,
24
- key = lambda image: image['time'])
25
-
26
- def test_calculate_contentful_speed_index(self):
27
- res = calculate_contentful_speed_index(self.sorted_progress,
28
- self.directory)
29
- self.assertEqual(res[0], 1188)
30
-
31
- def test_calculate_perceptual_speed_index(self):
32
- res = calculate_perceptual_speed_index(self.sorted_progress,
33
- self.directory)
34
- self.assertEqual(res[0], 946)