@wopee-io/wopee.wdio 4.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 (561) hide show
  1. package/README.md +5 -0
  2. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/getDocumentScrollHeight.d.ts +5 -0
  3. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/getDocumentScrollHeight.d.ts.map +1 -0
  4. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/getDocumentScrollHeight.js +48 -0
  5. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/getDocumentScrollHeight.js.map +1 -0
  6. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/getElementPositionTopDom.d.ts +9 -0
  7. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/getElementPositionTopDom.d.ts.map +1 -0
  8. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/getElementPositionTopDom.js +20 -0
  9. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/getElementPositionTopDom.js.map +1 -0
  10. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/getElementPositionTopWindow.d.ts +9 -0
  11. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/getElementPositionTopWindow.d.ts.map +1 -0
  12. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/getElementPositionTopWindow.js +22 -0
  13. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/getElementPositionTopWindow.js.map +1 -0
  14. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/getScreenDimensions.d.ts +8 -0
  15. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/getScreenDimensions.d.ts.map +1 -0
  16. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/getScreenDimensions.js +39 -0
  17. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/getScreenDimensions.js.map +1 -0
  18. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/screenDimensions.interfaces.d.ts +85 -0
  19. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/screenDimensions.interfaces.d.ts.map +1 -0
  20. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/screenDimensions.interfaces.js +2 -0
  21. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/screenDimensions.interfaces.js.map +1 -0
  22. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/scrollElementIntoView.d.ts +8 -0
  23. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/scrollElementIntoView.d.ts.map +1 -0
  24. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/scrollElementIntoView.js +35 -0
  25. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/scrollElementIntoView.js.map +1 -0
  26. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/scrollToPosition.d.ts +8 -0
  27. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/scrollToPosition.d.ts.map +1 -0
  28. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/scrollToPosition.js +27 -0
  29. package/build/adapter/desktopBrowserClientOperationAdapter/clientSideScripts/scrollToPosition.js.map +1 -0
  30. package/build/adapter/desktopBrowserClientOperationAdapter/desktopBrowserClientOperationAdapter.d.ts +13 -0
  31. package/build/adapter/desktopBrowserClientOperationAdapter/desktopBrowserClientOperationAdapter.d.ts.map +1 -0
  32. package/build/adapter/desktopBrowserClientOperationAdapter/desktopBrowserClientOperationAdapter.js +27 -0
  33. package/build/adapter/desktopBrowserClientOperationAdapter/desktopBrowserClientOperationAdapter.js.map +1 -0
  34. package/build/adapter/driven/localSaveScreenshot/default.d.ts +14 -0
  35. package/build/adapter/driven/localSaveScreenshot/default.d.ts.map +1 -0
  36. package/build/adapter/driven/localSaveScreenshot/default.js +20 -0
  37. package/build/adapter/driven/localSaveScreenshot/default.js.map +1 -0
  38. package/build/adapter/driven/localSaveScreenshot/localSaveScreenshot.d.ts +42 -0
  39. package/build/adapter/driven/localSaveScreenshot/localSaveScreenshot.d.ts.map +1 -0
  40. package/build/adapter/driven/localSaveScreenshot/localSaveScreenshot.interface.d.ts +43 -0
  41. package/build/adapter/driven/localSaveScreenshot/localSaveScreenshot.interface.d.ts.map +1 -0
  42. package/build/adapter/driven/localSaveScreenshot/localSaveScreenshot.interface.js +2 -0
  43. package/build/adapter/driven/localSaveScreenshot/localSaveScreenshot.interface.js.map +1 -0
  44. package/build/adapter/driven/localSaveScreenshot/localSaveScreenshot.js +76 -0
  45. package/build/adapter/driven/localSaveScreenshot/localSaveScreenshot.js.map +1 -0
  46. package/build/adapter/driven/wdioLoggerAdapter/wdioLoggerAdapter.d.ts +10 -0
  47. package/build/adapter/driven/wdioLoggerAdapter/wdioLoggerAdapter.d.ts.map +1 -0
  48. package/build/adapter/driven/wdioLoggerAdapter/wdioLoggerAdapter.js +20 -0
  49. package/build/adapter/driven/wdioLoggerAdapter/wdioLoggerAdapter.js.map +1 -0
  50. package/build/adapter/fullPageScreenshotAdapter/fullPageScreenshotAdapter.d.ts +31 -0
  51. package/build/adapter/fullPageScreenshotAdapter/fullPageScreenshotAdapter.d.ts.map +1 -0
  52. package/build/adapter/fullPageScreenshotAdapter/fullPageScreenshotAdapter.js +138 -0
  53. package/build/adapter/fullPageScreenshotAdapter/fullPageScreenshotAdapter.js.map +1 -0
  54. package/build/adapter/wdioConfigAdapter/wdioConfigAdapter.d.ts +10 -0
  55. package/build/adapter/wdioConfigAdapter/wdioConfigAdapter.d.ts.map +1 -0
  56. package/build/adapter/wdioConfigAdapter/wdioConfigAdapter.interface.d.ts +28 -0
  57. package/build/adapter/wdioConfigAdapter/wdioConfigAdapter.interface.d.ts.map +1 -0
  58. package/build/adapter/wdioConfigAdapter/wdioConfigAdapter.interface.js +12 -0
  59. package/build/adapter/wdioConfigAdapter/wdioConfigAdapter.interface.js.map +1 -0
  60. package/build/adapter/wdioConfigAdapter/wdioConfigAdapter.js +57 -0
  61. package/build/adapter/wdioConfigAdapter/wdioConfigAdapter.js.map +1 -0
  62. package/build/adapter/wdioLoggerAdapter/wdioLoggerAdapter.d.ts +10 -0
  63. package/build/adapter/wdioLoggerAdapter/wdioLoggerAdapter.d.ts.map +1 -0
  64. package/build/adapter/wdioLoggerAdapter/wdioLoggerAdapter.js +20 -0
  65. package/build/adapter/wdioLoggerAdapter/wdioLoggerAdapter.js.map +1 -0
  66. package/build/core/domain/valueObjects/elementPosition.interface.d.ts +7 -0
  67. package/build/core/domain/valueObjects/elementPosition.interface.d.ts.map +1 -0
  68. package/build/core/domain/valueObjects/elementPosition.interface.js +2 -0
  69. package/build/core/domain/valueObjects/elementPosition.interface.js.map +1 -0
  70. package/build/core/domain/valueObjects/index.d.ts +4 -0
  71. package/build/core/domain/valueObjects/index.d.ts.map +1 -0
  72. package/build/core/domain/valueObjects/index.js +2 -0
  73. package/build/core/domain/valueObjects/index.js.map +1 -0
  74. package/build/core/domain/valueObjects/track.interface.d.ts +22 -0
  75. package/build/core/domain/valueObjects/track.interface.d.ts.map +1 -0
  76. package/build/core/domain/valueObjects/track.interface.js +2 -0
  77. package/build/core/domain/valueObjects/track.interface.js.map +1 -0
  78. package/build/desktopBrowser/clientSideScript/screenDimensions.interfaces.d.ts +85 -0
  79. package/build/desktopBrowser/clientSideScript/screenDimensions.interfaces.d.ts.map +1 -0
  80. package/build/desktopBrowser/clientSideScript/screenDimensions.interfaces.js +2 -0
  81. package/build/desktopBrowser/clientSideScript/screenDimensions.interfaces.js.map +1 -0
  82. package/build/desktopBrowser/commands/element.interfaces.d.ts +11 -0
  83. package/build/desktopBrowser/commands/element.interfaces.d.ts.map +1 -0
  84. package/build/desktopBrowser/commands/element.interfaces.js +2 -0
  85. package/build/desktopBrowser/commands/element.interfaces.js.map +1 -0
  86. package/build/desktopBrowser/commands/fullPage.interfaces.d.ts +11 -0
  87. package/build/desktopBrowser/commands/fullPage.interfaces.d.ts.map +1 -0
  88. package/build/desktopBrowser/commands/fullPage.interfaces.js +2 -0
  89. package/build/desktopBrowser/commands/fullPage.interfaces.js.map +1 -0
  90. package/build/desktopBrowser/commands/screen.interfaces.d.ts +8 -0
  91. package/build/desktopBrowser/commands/screen.interfaces.d.ts.map +1 -0
  92. package/build/desktopBrowser/commands/screen.interfaces.js +2 -0
  93. package/build/desktopBrowser/commands/screen.interfaces.js.map +1 -0
  94. package/build/desktopBrowser/commands/trackElement.d.ts +7 -0
  95. package/build/desktopBrowser/commands/trackElement.d.ts.map +1 -0
  96. package/build/desktopBrowser/commands/trackElement.js +63 -0
  97. package/build/desktopBrowser/commands/trackElement.js.map +1 -0
  98. package/build/desktopBrowser/commands/trackFullPageScreen.d.ts +7 -0
  99. package/build/desktopBrowser/commands/trackFullPageScreen.d.ts.map +1 -0
  100. package/build/desktopBrowser/commands/trackFullPageScreen.js +49 -0
  101. package/build/desktopBrowser/commands/trackFullPageScreen.js.map +1 -0
  102. package/build/desktopBrowser/commands/trackImage.d.ts +6 -0
  103. package/build/desktopBrowser/commands/trackImage.d.ts.map +1 -0
  104. package/build/desktopBrowser/commands/trackImage.interface.d.ts +8 -0
  105. package/build/desktopBrowser/commands/trackImage.interface.d.ts.map +1 -0
  106. package/build/desktopBrowser/commands/trackImage.interface.js +2 -0
  107. package/build/desktopBrowser/commands/trackImage.interface.js.map +1 -0
  108. package/build/desktopBrowser/commands/trackImage.js +27 -0
  109. package/build/desktopBrowser/commands/trackImage.js.map +1 -0
  110. package/build/desktopBrowser/commands/trackScreen.d.ts +7 -0
  111. package/build/desktopBrowser/commands/trackScreen.d.ts.map +1 -0
  112. package/build/desktopBrowser/commands/trackScreen.js +52 -0
  113. package/build/desktopBrowser/commands/trackScreen.js.map +1 -0
  114. package/build/desktopBrowser/helpers/utils.d.ts +33 -0
  115. package/build/desktopBrowser/helpers/utils.d.ts.map +1 -0
  116. package/build/desktopBrowser/helpers/utils.js +77 -0
  117. package/build/desktopBrowser/helpers/utils.js.map +1 -0
  118. package/build/desktopBrowser/index.d.ts +8 -0
  119. package/build/desktopBrowser/index.d.ts.map +1 -0
  120. package/build/desktopBrowser/index.js +6 -0
  121. package/build/desktopBrowser/index.js.map +1 -0
  122. package/build/desktopBrowser/methods/elementPosition.d.ts +23 -0
  123. package/build/desktopBrowser/methods/elementPosition.d.ts.map +1 -0
  124. package/build/desktopBrowser/methods/elementPosition.js +26 -0
  125. package/build/desktopBrowser/methods/elementPosition.js.map +1 -0
  126. package/build/desktopBrowser/methods/images.d.ts +27 -0
  127. package/build/desktopBrowser/methods/images.d.ts.map +1 -0
  128. package/build/desktopBrowser/methods/images.interfaces.d.ts +31 -0
  129. package/build/desktopBrowser/methods/images.interfaces.d.ts.map +1 -0
  130. package/build/desktopBrowser/methods/images.interfaces.js +2 -0
  131. package/build/desktopBrowser/methods/images.interfaces.js.map +1 -0
  132. package/build/desktopBrowser/methods/images.js +109 -0
  133. package/build/desktopBrowser/methods/images.js.map +1 -0
  134. package/build/desktopBrowser/methods/instanceData.interfaces.d.ts +10 -0
  135. package/build/desktopBrowser/methods/instanceData.interfaces.d.ts.map +1 -0
  136. package/build/desktopBrowser/methods/instanceData.interfaces.js +2 -0
  137. package/build/desktopBrowser/methods/instanceData.interfaces.js.map +1 -0
  138. package/build/desktopBrowser/methods/methods.interface.d.ts +13 -0
  139. package/build/desktopBrowser/methods/methods.interface.d.ts.map +1 -0
  140. package/build/desktopBrowser/methods/methods.interface.js +2 -0
  141. package/build/desktopBrowser/methods/methods.interface.js.map +1 -0
  142. package/build/desktopBrowser/methods/rectangles.d.ts +23 -0
  143. package/build/desktopBrowser/methods/rectangles.d.ts.map +1 -0
  144. package/build/desktopBrowser/methods/rectangles.interfaces.d.ts +23 -0
  145. package/build/desktopBrowser/methods/rectangles.interfaces.d.ts.map +1 -0
  146. package/build/desktopBrowser/methods/rectangles.interfaces.js +2 -0
  147. package/build/desktopBrowser/methods/rectangles.interfaces.js.map +1 -0
  148. package/build/desktopBrowser/methods/rectangles.js +51 -0
  149. package/build/desktopBrowser/methods/rectangles.js.map +1 -0
  150. package/build/desktopBrowser/methods/screenshots.d.ts +29 -0
  151. package/build/desktopBrowser/methods/screenshots.d.ts.map +1 -0
  152. package/build/desktopBrowser/methods/screenshots.interfaces.d.ts +27 -0
  153. package/build/desktopBrowser/methods/screenshots.interfaces.d.ts.map +1 -0
  154. package/build/desktopBrowser/methods/screenshots.interfaces.js +2 -0
  155. package/build/desktopBrowser/methods/screenshots.interfaces.js.map +1 -0
  156. package/build/desktopBrowser/methods/screenshots.js +91 -0
  157. package/build/desktopBrowser/methods/screenshots.js.map +1 -0
  158. package/build/domain/model/afterScreenshotOptions.interface.d.ts +11 -0
  159. package/build/domain/model/afterScreenshotOptions.interface.d.ts.map +1 -0
  160. package/build/domain/model/afterScreenshotOptions.interface.js +2 -0
  161. package/build/domain/model/afterScreenshotOptions.interface.js.map +1 -0
  162. package/build/domain/model/beforeScreenshotOptions.interface.d.ts +7 -0
  163. package/build/domain/model/beforeScreenshotOptions.interface.d.ts.map +1 -0
  164. package/build/domain/model/beforeScreenshotOptions.interface.js +2 -0
  165. package/build/domain/model/beforeScreenshotOptions.interface.js.map +1 -0
  166. package/build/domain/model/config.interface.d.ts +19 -0
  167. package/build/domain/model/config.interface.d.ts.map +1 -0
  168. package/build/domain/model/config.interface.js +2 -0
  169. package/build/domain/model/config.interface.js.map +1 -0
  170. package/build/domain/model/constants.d.ts +9 -0
  171. package/build/domain/model/constants.d.ts.map +1 -0
  172. package/build/domain/model/constants.js +9 -0
  173. package/build/domain/model/constants.js.map +1 -0
  174. package/build/domain/model/croppingOptions.interface.d.ts +8 -0
  175. package/build/domain/model/croppingOptions.interface.d.ts.map +1 -0
  176. package/build/domain/model/croppingOptions.interface.js +12 -0
  177. package/build/domain/model/croppingOptions.interface.js.map +1 -0
  178. package/build/domain/model/instances.interface.d.ts +16 -0
  179. package/build/domain/model/instances.interface.d.ts.map +1 -0
  180. package/build/domain/model/instances.interface.js +2 -0
  181. package/build/domain/model/instances.interface.js.map +1 -0
  182. package/build/domain/model/instancesOptions.interface.d.ts +7 -0
  183. package/build/domain/model/instancesOptions.interface.d.ts.map +1 -0
  184. package/build/domain/model/instancesOptions.interface.js +10 -0
  185. package/build/domain/model/instancesOptions.interface.js.map +1 -0
  186. package/build/domain/model/methods.interface.d.ts +17 -0
  187. package/build/domain/model/methods.interface.d.ts.map +1 -0
  188. package/build/domain/model/methods.interface.js +2 -0
  189. package/build/domain/model/methods.interface.js.map +1 -0
  190. package/build/domain/model/permanentStorageResult.interface.d.ts +14 -0
  191. package/build/domain/model/permanentStorageResult.interface.d.ts.map +1 -0
  192. package/build/domain/model/permanentStorageResult.interface.js +2 -0
  193. package/build/domain/model/permanentStorageResult.interface.js.map +1 -0
  194. package/build/domain/model/saveBase64ImageOptions.interface.d.ts +54 -0
  195. package/build/domain/model/saveBase64ImageOptions.interface.d.ts.map +1 -0
  196. package/build/domain/model/saveBase64ImageOptions.interface.js +2 -0
  197. package/build/domain/model/saveBase64ImageOptions.interface.js.map +1 -0
  198. package/build/domain/model/screenshotOutput.interface.d.ts +16 -0
  199. package/build/domain/model/screenshotOutput.interface.d.ts.map +1 -0
  200. package/build/domain/model/screenshotOutput.interface.js +2 -0
  201. package/build/domain/model/screenshotOutput.interface.js.map +1 -0
  202. package/build/domain/model/screenshotSize.interface.d.ts +14 -0
  203. package/build/domain/model/screenshotSize.interface.d.ts.map +1 -0
  204. package/build/domain/model/screenshotSize.interface.js +2 -0
  205. package/build/domain/model/screenshotSize.interface.js.map +1 -0
  206. package/build/domain/model/screenshotValidationPayload.interface.d.ts +47 -0
  207. package/build/domain/model/screenshotValidationPayload.interface.d.ts.map +1 -0
  208. package/build/domain/model/screenshotValidationPayload.interface.js +2 -0
  209. package/build/domain/model/screenshotValidationPayload.interface.js.map +1 -0
  210. package/build/domain/model/screenshotValidationResult.interface.d.ts +23 -0
  211. package/build/domain/model/screenshotValidationResult.interface.d.ts.map +1 -0
  212. package/build/domain/model/screenshotValidationResult.interface.js +11 -0
  213. package/build/domain/model/screenshotValidationResult.interface.js.map +1 -0
  214. package/build/domain/model/service.interface.d.ts +33 -0
  215. package/build/domain/model/service.interface.d.ts.map +1 -0
  216. package/build/domain/model/service.interface.js +2 -0
  217. package/build/domain/model/service.interface.js.map +1 -0
  218. package/build/domain/model/trackImage.interface.d.ts +17 -0
  219. package/build/domain/model/trackImage.interface.d.ts.map +1 -0
  220. package/build/domain/model/trackImage.interface.js +2 -0
  221. package/build/domain/model/trackImage.interface.js.map +1 -0
  222. package/build/domain/service/afterScreenshot.d.ts +11 -0
  223. package/build/domain/service/afterScreenshot.d.ts.map +1 -0
  224. package/build/domain/service/afterScreenshot.js +15 -0
  225. package/build/domain/service/afterScreenshot.js.map +1 -0
  226. package/build/domain/service/beforeScreenshot.d.ts +12 -0
  227. package/build/domain/service/beforeScreenshot.d.ts.map +1 -0
  228. package/build/domain/service/beforeScreenshot.js +41 -0
  229. package/build/domain/service/beforeScreenshot.js.map +1 -0
  230. package/build/domain/service/webdriverService.d.ts +19 -0
  231. package/build/domain/service/webdriverService.d.ts.map +1 -0
  232. package/build/domain/service/webdriverService.js +98 -0
  233. package/build/domain/service/webdriverService.js.map +1 -0
  234. package/build/domain/service/wopeeService.d.ts +37 -0
  235. package/build/domain/service/wopeeService.d.ts.map +1 -0
  236. package/build/domain/service/wopeeService.js +83 -0
  237. package/build/domain/service/wopeeService.js.map +1 -0
  238. package/build/index.d.ts +59 -0
  239. package/build/index.d.ts.map +1 -0
  240. package/build/index.js +4 -0
  241. package/build/index.js.map +1 -0
  242. package/build/port/clientSideOperationPort/clientSideOperationPort.d.ts +12 -0
  243. package/build/port/clientSideOperationPort/clientSideOperationPort.d.ts.map +1 -0
  244. package/build/port/clientSideOperationPort/clientSideOperationPort.js +3 -0
  245. package/build/port/clientSideOperationPort/clientSideOperationPort.js.map +1 -0
  246. package/build/port/driven/configDrivingPort/configDrivingPort.d.ts +9 -0
  247. package/build/port/driven/configDrivingPort/configDrivingPort.d.ts.map +1 -0
  248. package/build/port/driven/configDrivingPort/configDrivingPort.js +15 -0
  249. package/build/port/driven/configDrivingPort/configDrivingPort.js.map +1 -0
  250. package/build/port/driven/configDrivingPort/configDrivingPortDefaults.d.ts +6 -0
  251. package/build/port/driven/configDrivingPort/configDrivingPortDefaults.d.ts.map +1 -0
  252. package/build/port/driven/configDrivingPort/configDrivingPortDefaults.js +36 -0
  253. package/build/port/driven/configDrivingPort/configDrivingPortDefaults.js.map +1 -0
  254. package/build/port/driven/permanentStoragePort.d.ts +15 -0
  255. package/build/port/driven/permanentStoragePort.d.ts.map +1 -0
  256. package/build/port/driven/permanentStoragePort.js +6 -0
  257. package/build/port/driven/permanentStoragePort.js.map +1 -0
  258. package/build/port/driven/screenshotValidationPort.d.ts +28 -0
  259. package/build/port/driven/screenshotValidationPort.d.ts.map +1 -0
  260. package/build/port/driven/screenshotValidationPort.js +6 -0
  261. package/build/port/driven/screenshotValidationPort.js.map +1 -0
  262. package/build/types.d.ts +1 -0
  263. package/build/types.d.ts.map +1 -0
  264. package/build/types.js +2 -0
  265. package/build/types.js.map +1 -0
  266. package/build/utils/versionMetadata.d.ts +10 -0
  267. package/build/utils/versionMetadata.d.ts.map +1 -0
  268. package/build/utils/versionMetadata.js +26 -0
  269. package/build/utils/versionMetadata.js.map +1 -0
  270. package/build/utils/wopeeError.d.ts +4 -0
  271. package/build/utils/wopeeError.d.ts.map +1 -0
  272. package/build/utils/wopeeError.js +8 -0
  273. package/build/utils/wopeeError.js.map +1 -0
  274. package/build/utils.d.ts +34 -0
  275. package/build/utils.d.ts.map +1 -0
  276. package/build/utils.js +57 -0
  277. package/build/utils.js.map +1 -0
  278. package/docs/commands.md +37 -0
  279. package/docs/configuration.md +241 -0
  280. package/docs/mobile_native.md +31 -0
  281. package/node_modules/@autonomous-testing/sdk/.commitlintrc.json +3 -0
  282. package/node_modules/@autonomous-testing/sdk/.eslintignore +2 -0
  283. package/node_modules/@autonomous-testing/sdk/.eslintrc +21 -0
  284. package/node_modules/@autonomous-testing/sdk/.github/actions/npm_clean_install/action.yaml +35 -0
  285. package/node_modules/@autonomous-testing/sdk/.github/workflows/ci_cd.yaml +137 -0
  286. package/node_modules/@autonomous-testing/sdk/.prettierignore +3 -0
  287. package/node_modules/@autonomous-testing/sdk/.prettierrc +12 -0
  288. package/node_modules/@autonomous-testing/sdk/README.md +57 -0
  289. package/node_modules/@autonomous-testing/sdk/build/core/domain/index.d.ts +2 -0
  290. package/node_modules/@autonomous-testing/sdk/build/core/domain/index.js +18 -0
  291. package/node_modules/@autonomous-testing/sdk/build/core/domain/valueObjects/imageTrackingResult.interface.d.ts +3 -0
  292. package/node_modules/@autonomous-testing/sdk/build/core/domain/valueObjects/imageTrackingResult.interface.js +3 -0
  293. package/node_modules/@autonomous-testing/sdk/build/core/domain/valueObjects/index.d.ts +4 -0
  294. package/node_modules/@autonomous-testing/sdk/build/core/domain/valueObjects/index.js +3 -0
  295. package/node_modules/@autonomous-testing/sdk/build/core/domain/valueObjects/trackPayload.interface.d.ts +3 -0
  296. package/node_modules/@autonomous-testing/sdk/build/core/domain/valueObjects/trackPayload.interface.js +3 -0
  297. package/node_modules/@autonomous-testing/sdk/build/core/index.d.ts +3 -0
  298. package/node_modules/@autonomous-testing/sdk/build/core/index.js +19 -0
  299. package/node_modules/@autonomous-testing/sdk/build/core/ports/imageTracker.d.ts +6 -0
  300. package/node_modules/@autonomous-testing/sdk/build/core/ports/imageTracker.js +7 -0
  301. package/node_modules/@autonomous-testing/sdk/build/core/ports/index.d.ts +4 -0
  302. package/node_modules/@autonomous-testing/sdk/build/core/ports/index.js +8 -0
  303. package/node_modules/@autonomous-testing/sdk/build/core/ports/logger.d.ts +7 -0
  304. package/node_modules/@autonomous-testing/sdk/build/core/ports/logger.js +7 -0
  305. package/node_modules/@autonomous-testing/sdk/build/index.d.ts +4 -0
  306. package/node_modules/@autonomous-testing/sdk/build/index.js +20 -0
  307. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloTrackAdapter/apolloTrackAdapter.d.ts +39 -0
  308. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloTrackAdapter/apolloTrackAdapter.default.d.ts +16 -0
  309. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloTrackAdapter/apolloTrackAdapter.default.js +31 -0
  310. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloTrackAdapter/apolloTrackAdapter.interface.d.ts +93 -0
  311. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloTrackAdapter/apolloTrackAdapter.interface.js +14 -0
  312. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloTrackAdapter/apolloTrackAdapter.js +153 -0
  313. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloTrackAdapter/apolloTrackAdapterQueries.d.ts +5 -0
  314. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloTrackAdapter/apolloTrackAdapterQueries.js +102 -0
  315. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloTrackAdapter/apolloTrackAdapterUtils.d.ts +9 -0
  316. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloTrackAdapter/apolloTrackAdapterUtils.js +26 -0
  317. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloTrackAdapter/index.d.ts +7 -0
  318. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloTrackAdapter/index.js +8 -0
  319. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/consoleLogger/consoleLogger.d.ts +36 -0
  320. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/consoleLogger/consoleLogger.js +49 -0
  321. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/consoleLogger/index.d.ts +3 -0
  322. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/consoleLogger/index.js +6 -0
  323. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/index.d.ts +4 -0
  324. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/index.js +20 -0
  325. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/noLogger/index.d.ts +3 -0
  326. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/noLogger/index.js +6 -0
  327. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/noLogger/noLogger.d.ts +31 -0
  328. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/noLogger/noLogger.js +34 -0
  329. package/node_modules/@autonomous-testing/sdk/build/infrastructure/index.d.ts +3 -0
  330. package/node_modules/@autonomous-testing/sdk/build/infrastructure/index.js +19 -0
  331. package/node_modules/@autonomous-testing/sdk/build/infrastructure/services/apolloTrackAdapterService/apolloTrackAdapterService.d.ts +4 -0
  332. package/node_modules/@autonomous-testing/sdk/build/infrastructure/services/apolloTrackAdapterService/apolloTrackAdapterService.interface.d.ts +51 -0
  333. package/node_modules/@autonomous-testing/sdk/build/infrastructure/services/apolloTrackAdapterService/apolloTrackAdapterService.interface.js +24 -0
  334. package/node_modules/@autonomous-testing/sdk/build/infrastructure/services/apolloTrackAdapterService/apolloTrackAdapterService.js +13 -0
  335. package/node_modules/@autonomous-testing/sdk/build/infrastructure/services/apolloTrackAdapterService/index.d.ts +4 -0
  336. package/node_modules/@autonomous-testing/sdk/build/infrastructure/services/apolloTrackAdapterService/index.js +6 -0
  337. package/node_modules/@autonomous-testing/sdk/build/infrastructure/services/index.d.ts +3 -0
  338. package/node_modules/@autonomous-testing/sdk/build/infrastructure/services/index.js +19 -0
  339. package/node_modules/@autonomous-testing/sdk/build/infrastructure/services/loggerService/consoleLoggerOptions.interface.d.ts +4 -0
  340. package/node_modules/@autonomous-testing/sdk/build/infrastructure/services/loggerService/consoleLoggerOptions.interface.js +3 -0
  341. package/node_modules/@autonomous-testing/sdk/build/infrastructure/services/loggerService/index.d.ts +4 -0
  342. package/node_modules/@autonomous-testing/sdk/build/infrastructure/services/loggerService/index.js +6 -0
  343. package/node_modules/@autonomous-testing/sdk/build/infrastructure/services/loggerService/loggerOptions.interface.d.ts +8 -0
  344. package/node_modules/@autonomous-testing/sdk/build/infrastructure/services/loggerService/loggerOptions.interface.js +3 -0
  345. package/node_modules/@autonomous-testing/sdk/build/infrastructure/services/loggerService/loggerService.d.ts +4 -0
  346. package/node_modules/@autonomous-testing/sdk/build/infrastructure/services/loggerService/loggerService.js +24 -0
  347. package/node_modules/@autonomous-testing/sdk/build/shared/index.d.ts +3 -0
  348. package/node_modules/@autonomous-testing/sdk/build/shared/index.js +19 -0
  349. package/node_modules/@autonomous-testing/sdk/build/shared/metadata/index.d.ts +3 -0
  350. package/node_modules/@autonomous-testing/sdk/build/shared/metadata/index.js +7 -0
  351. package/node_modules/@autonomous-testing/sdk/build/shared/metadata/versionMetadata.d.ts +3 -0
  352. package/node_modules/@autonomous-testing/sdk/build/shared/metadata/versionMetadata.js +6 -0
  353. package/node_modules/@autonomous-testing/sdk/build/shared/utils/error.interface.d.ts +4 -0
  354. package/node_modules/@autonomous-testing/sdk/build/shared/utils/error.interface.js +12 -0
  355. package/node_modules/@autonomous-testing/sdk/build/shared/utils/index.d.ts +4 -0
  356. package/node_modules/@autonomous-testing/sdk/build/shared/utils/index.js +21 -0
  357. package/node_modules/@autonomous-testing/sdk/build/shared/utils/zodHelper/index.d.ts +3 -0
  358. package/node_modules/@autonomous-testing/sdk/build/shared/utils/zodHelper/index.js +6 -0
  359. package/node_modules/@autonomous-testing/sdk/build/shared/utils/zodHelper/zodHelper.d.ts +14 -0
  360. package/node_modules/@autonomous-testing/sdk/build/shared/utils/zodHelper/zodHelper.js +39 -0
  361. package/node_modules/@autonomous-testing/sdk/package.json +53 -0
  362. package/node_modules/asynckit/LICENSE +21 -0
  363. package/node_modules/asynckit/README.md +233 -0
  364. package/node_modules/asynckit/bench.js +76 -0
  365. package/node_modules/asynckit/index.js +6 -0
  366. package/node_modules/asynckit/lib/abort.js +29 -0
  367. package/node_modules/asynckit/lib/async.js +34 -0
  368. package/node_modules/asynckit/lib/defer.js +26 -0
  369. package/node_modules/asynckit/lib/iterate.js +75 -0
  370. package/node_modules/asynckit/lib/readable_asynckit.js +91 -0
  371. package/node_modules/asynckit/lib/readable_parallel.js +25 -0
  372. package/node_modules/asynckit/lib/readable_serial.js +25 -0
  373. package/node_modules/asynckit/lib/readable_serial_ordered.js +29 -0
  374. package/node_modules/asynckit/lib/state.js +37 -0
  375. package/node_modules/asynckit/lib/streamify.js +141 -0
  376. package/node_modules/asynckit/lib/terminator.js +29 -0
  377. package/node_modules/asynckit/package.json +63 -0
  378. package/node_modules/asynckit/parallel.js +43 -0
  379. package/node_modules/asynckit/serial.js +17 -0
  380. package/node_modules/asynckit/serialOrdered.js +75 -0
  381. package/node_modules/asynckit/stream.js +21 -0
  382. package/node_modules/axios/CHANGELOG.md +952 -0
  383. package/node_modules/axios/LICENSE +7 -0
  384. package/node_modules/axios/MIGRATION_GUIDE.md +3 -0
  385. package/node_modules/axios/README.md +1695 -0
  386. package/node_modules/axios/SECURITY.md +6 -0
  387. package/node_modules/axios/dist/axios.js +4172 -0
  388. package/node_modules/axios/dist/axios.js.map +1 -0
  389. package/node_modules/axios/dist/axios.min.js +2 -0
  390. package/node_modules/axios/dist/axios.min.js.map +1 -0
  391. package/node_modules/axios/dist/browser/axios.cjs +3638 -0
  392. package/node_modules/axios/dist/browser/axios.cjs.map +1 -0
  393. package/node_modules/axios/dist/esm/axios.js +3661 -0
  394. package/node_modules/axios/dist/esm/axios.js.map +1 -0
  395. package/node_modules/axios/dist/esm/axios.min.js +2 -0
  396. package/node_modules/axios/dist/esm/axios.min.js.map +1 -0
  397. package/node_modules/axios/dist/node/axios.cjs +4705 -0
  398. package/node_modules/axios/dist/node/axios.cjs.map +1 -0
  399. package/node_modules/axios/index.d.cts +545 -0
  400. package/node_modules/axios/index.d.ts +562 -0
  401. package/node_modules/axios/index.js +43 -0
  402. package/node_modules/axios/lib/adapters/README.md +37 -0
  403. package/node_modules/axios/lib/adapters/adapters.js +79 -0
  404. package/node_modules/axios/lib/adapters/fetch.js +227 -0
  405. package/node_modules/axios/lib/adapters/http.js +685 -0
  406. package/node_modules/axios/lib/adapters/xhr.js +190 -0
  407. package/node_modules/axios/lib/axios.js +89 -0
  408. package/node_modules/axios/lib/cancel/CancelToken.js +121 -0
  409. package/node_modules/axios/lib/cancel/CanceledError.js +25 -0
  410. package/node_modules/axios/lib/cancel/isCancel.js +5 -0
  411. package/node_modules/axios/lib/core/Axios.js +228 -0
  412. package/node_modules/axios/lib/core/AxiosError.js +100 -0
  413. package/node_modules/axios/lib/core/AxiosHeaders.js +302 -0
  414. package/node_modules/axios/lib/core/InterceptorManager.js +71 -0
  415. package/node_modules/axios/lib/core/README.md +8 -0
  416. package/node_modules/axios/lib/core/buildFullPath.js +21 -0
  417. package/node_modules/axios/lib/core/dispatchRequest.js +81 -0
  418. package/node_modules/axios/lib/core/mergeConfig.js +106 -0
  419. package/node_modules/axios/lib/core/settle.js +27 -0
  420. package/node_modules/axios/lib/core/transformData.js +28 -0
  421. package/node_modules/axios/lib/defaults/index.js +161 -0
  422. package/node_modules/axios/lib/defaults/transitional.js +7 -0
  423. package/node_modules/axios/lib/env/README.md +3 -0
  424. package/node_modules/axios/lib/env/classes/FormData.js +2 -0
  425. package/node_modules/axios/lib/env/data.js +1 -0
  426. package/node_modules/axios/lib/helpers/AxiosTransformStream.js +192 -0
  427. package/node_modules/axios/lib/helpers/AxiosURLSearchParams.js +58 -0
  428. package/node_modules/axios/lib/helpers/HttpStatusCode.js +71 -0
  429. package/node_modules/axios/lib/helpers/README.md +7 -0
  430. package/node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js +28 -0
  431. package/node_modules/axios/lib/helpers/bind.js +7 -0
  432. package/node_modules/axios/lib/helpers/buildURL.js +63 -0
  433. package/node_modules/axios/lib/helpers/callbackify.js +16 -0
  434. package/node_modules/axios/lib/helpers/combineURLs.js +15 -0
  435. package/node_modules/axios/lib/helpers/composeSignals.js +46 -0
  436. package/node_modules/axios/lib/helpers/cookies.js +42 -0
  437. package/node_modules/axios/lib/helpers/deprecatedMethod.js +26 -0
  438. package/node_modules/axios/lib/helpers/formDataToJSON.js +95 -0
  439. package/node_modules/axios/lib/helpers/formDataToStream.js +111 -0
  440. package/node_modules/axios/lib/helpers/fromDataURI.js +53 -0
  441. package/node_modules/axios/lib/helpers/isAbsoluteURL.js +15 -0
  442. package/node_modules/axios/lib/helpers/isAxiosError.js +14 -0
  443. package/node_modules/axios/lib/helpers/isURLSameOrigin.js +67 -0
  444. package/node_modules/axios/lib/helpers/null.js +2 -0
  445. package/node_modules/axios/lib/helpers/parseHeaders.js +55 -0
  446. package/node_modules/axios/lib/helpers/parseProtocol.js +6 -0
  447. package/node_modules/axios/lib/helpers/progressEventReducer.js +32 -0
  448. package/node_modules/axios/lib/helpers/readBlob.js +15 -0
  449. package/node_modules/axios/lib/helpers/resolveConfig.js +57 -0
  450. package/node_modules/axios/lib/helpers/speedometer.js +55 -0
  451. package/node_modules/axios/lib/helpers/spread.js +28 -0
  452. package/node_modules/axios/lib/helpers/throttle.js +35 -0
  453. package/node_modules/axios/lib/helpers/toFormData.js +219 -0
  454. package/node_modules/axios/lib/helpers/toURLEncodedForm.js +18 -0
  455. package/node_modules/axios/lib/helpers/trackStream.js +55 -0
  456. package/node_modules/axios/lib/helpers/validator.js +91 -0
  457. package/node_modules/axios/lib/platform/browser/classes/Blob.js +3 -0
  458. package/node_modules/axios/lib/platform/browser/classes/FormData.js +3 -0
  459. package/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js +4 -0
  460. package/node_modules/axios/lib/platform/browser/index.js +13 -0
  461. package/node_modules/axios/lib/platform/common/utils.js +50 -0
  462. package/node_modules/axios/lib/platform/index.js +7 -0
  463. package/node_modules/axios/lib/platform/node/classes/FormData.js +3 -0
  464. package/node_modules/axios/lib/platform/node/classes/URLSearchParams.js +4 -0
  465. package/node_modules/axios/lib/platform/node/index.js +12 -0
  466. package/node_modules/axios/lib/utils.js +728 -0
  467. package/node_modules/axios/package.json +219 -0
  468. package/node_modules/combined-stream/License +19 -0
  469. package/node_modules/combined-stream/Readme.md +138 -0
  470. package/node_modules/combined-stream/lib/combined_stream.js +208 -0
  471. package/node_modules/combined-stream/package.json +25 -0
  472. package/node_modules/delayed-stream/.npmignore +1 -0
  473. package/node_modules/delayed-stream/License +19 -0
  474. package/node_modules/delayed-stream/Makefile +7 -0
  475. package/node_modules/delayed-stream/Readme.md +141 -0
  476. package/node_modules/delayed-stream/lib/delayed_stream.js +107 -0
  477. package/node_modules/delayed-stream/package.json +27 -0
  478. package/node_modules/follow-redirects/LICENSE +18 -0
  479. package/node_modules/follow-redirects/README.md +155 -0
  480. package/node_modules/follow-redirects/debug.js +15 -0
  481. package/node_modules/follow-redirects/http.js +1 -0
  482. package/node_modules/follow-redirects/https.js +1 -0
  483. package/node_modules/follow-redirects/index.js +672 -0
  484. package/node_modules/follow-redirects/package.json +58 -0
  485. package/node_modules/form-data/License +19 -0
  486. package/node_modules/form-data/README.md.bak +358 -0
  487. package/node_modules/form-data/Readme.md +358 -0
  488. package/node_modules/form-data/index.d.ts +62 -0
  489. package/node_modules/form-data/lib/browser.js +2 -0
  490. package/node_modules/form-data/lib/form_data.js +501 -0
  491. package/node_modules/form-data/lib/populate.js +10 -0
  492. package/node_modules/form-data/package.json +68 -0
  493. package/node_modules/mime-db/HISTORY.md +507 -0
  494. package/node_modules/mime-db/LICENSE +23 -0
  495. package/node_modules/mime-db/README.md +100 -0
  496. package/node_modules/mime-db/db.json +8519 -0
  497. package/node_modules/mime-db/index.js +12 -0
  498. package/node_modules/mime-db/package.json +60 -0
  499. package/node_modules/mime-types/HISTORY.md +397 -0
  500. package/node_modules/mime-types/LICENSE +23 -0
  501. package/node_modules/mime-types/README.md +113 -0
  502. package/node_modules/mime-types/index.js +188 -0
  503. package/node_modules/mime-types/package.json +44 -0
  504. package/node_modules/proxy-from-env/.eslintrc +29 -0
  505. package/node_modules/proxy-from-env/.travis.yml +10 -0
  506. package/node_modules/proxy-from-env/LICENSE +20 -0
  507. package/node_modules/proxy-from-env/README.md +131 -0
  508. package/node_modules/proxy-from-env/index.js +108 -0
  509. package/node_modules/proxy-from-env/package.json +34 -0
  510. package/node_modules/proxy-from-env/test.js +483 -0
  511. package/node_modules/zod/LICENSE +21 -0
  512. package/node_modules/zod/README.md +2876 -0
  513. package/node_modules/zod/index.d.ts +2 -0
  514. package/node_modules/zod/lib/ZodError.d.ts +164 -0
  515. package/node_modules/zod/lib/ZodError.js +137 -0
  516. package/node_modules/zod/lib/__tests__/Mocker.d.ts +17 -0
  517. package/node_modules/zod/lib/__tests__/Mocker.js +57 -0
  518. package/node_modules/zod/lib/benchmarks/datetime.d.ts +5 -0
  519. package/node_modules/zod/lib/benchmarks/datetime.js +54 -0
  520. package/node_modules/zod/lib/benchmarks/discriminatedUnion.d.ts +5 -0
  521. package/node_modules/zod/lib/benchmarks/discriminatedUnion.js +79 -0
  522. package/node_modules/zod/lib/benchmarks/index.d.ts +1 -0
  523. package/node_modules/zod/lib/benchmarks/index.js +59 -0
  524. package/node_modules/zod/lib/benchmarks/ipv4.d.ts +5 -0
  525. package/node_modules/zod/lib/benchmarks/ipv4.js +54 -0
  526. package/node_modules/zod/lib/benchmarks/object.d.ts +5 -0
  527. package/node_modules/zod/lib/benchmarks/object.js +70 -0
  528. package/node_modules/zod/lib/benchmarks/primitives.d.ts +5 -0
  529. package/node_modules/zod/lib/benchmarks/primitives.js +170 -0
  530. package/node_modules/zod/lib/benchmarks/realworld.d.ts +5 -0
  531. package/node_modules/zod/lib/benchmarks/realworld.js +56 -0
  532. package/node_modules/zod/lib/benchmarks/string.d.ts +5 -0
  533. package/node_modules/zod/lib/benchmarks/string.js +55 -0
  534. package/node_modules/zod/lib/benchmarks/union.d.ts +5 -0
  535. package/node_modules/zod/lib/benchmarks/union.js +79 -0
  536. package/node_modules/zod/lib/errors.d.ts +5 -0
  537. package/node_modules/zod/lib/errors.js +17 -0
  538. package/node_modules/zod/lib/external.d.ts +6 -0
  539. package/node_modules/zod/lib/external.js +18 -0
  540. package/node_modules/zod/lib/helpers/enumUtil.d.ts +8 -0
  541. package/node_modules/zod/lib/helpers/enumUtil.js +2 -0
  542. package/node_modules/zod/lib/helpers/errorUtil.d.ts +9 -0
  543. package/node_modules/zod/lib/helpers/errorUtil.js +8 -0
  544. package/node_modules/zod/lib/helpers/parseUtil.d.ts +78 -0
  545. package/node_modules/zod/lib/helpers/parseUtil.js +125 -0
  546. package/node_modules/zod/lib/helpers/partialUtil.d.ts +8 -0
  547. package/node_modules/zod/lib/helpers/partialUtil.js +2 -0
  548. package/node_modules/zod/lib/helpers/typeAliases.d.ts +2 -0
  549. package/node_modules/zod/lib/helpers/typeAliases.js +2 -0
  550. package/node_modules/zod/lib/helpers/util.d.ts +82 -0
  551. package/node_modules/zod/lib/helpers/util.js +142 -0
  552. package/node_modules/zod/lib/index.d.ts +4 -0
  553. package/node_modules/zod/lib/index.js +29 -0
  554. package/node_modules/zod/lib/index.mjs +4236 -0
  555. package/node_modules/zod/lib/index.umd.js +4351 -0
  556. package/node_modules/zod/lib/locales/en.d.ts +3 -0
  557. package/node_modules/zod/lib/locales/en.js +129 -0
  558. package/node_modules/zod/lib/types.d.ts +1127 -0
  559. package/node_modules/zod/lib/types.js +3677 -0
  560. package/node_modules/zod/package.json +119 -0
  561. package/package.json +79 -0
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Configuration options for the local screenshot saving adapter.
3
+ */
4
+ export interface LocalSaveScreenshotAdapterOptions {
5
+ /**
6
+ * The root folder where the screenshots will be saved.
7
+ */
8
+ rootFolder?: string;
9
+ /**
10
+ * The format string used to generate image names.
11
+ */
12
+ formatImageName?: string;
13
+ }
14
+ /**
15
+ * Options for formatting file names associated with browser screenshots.
16
+ */
17
+ export interface FormatFileOptions {
18
+ /**
19
+ * The name of the browser.
20
+ */
21
+ browserName: string;
22
+ /**
23
+ * The version of the browser.
24
+ */
25
+ browserVersion: string;
26
+ /**
27
+ * The device's pixel ratio (DPR).
28
+ */
29
+ dpr: number;
30
+ /**
31
+ * The screen height in pixels.
32
+ */
33
+ height: number;
34
+ /**
35
+ * A descriptive name associated with the instance.
36
+ */
37
+ name: string;
38
+ /**
39
+ * The screen width in pixels.
40
+ */
41
+ width: number;
42
+ }
43
+ //# sourceMappingURL=localSaveScreenshot.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localSaveScreenshot.interface.d.ts","sourceRoot":"","sources":["../../../../lib/adapter/driven/localSaveScreenshot/localSaveScreenshot.interface.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,iCAAiC;IAChD;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=localSaveScreenshot.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localSaveScreenshot.interface.js","sourceRoot":"","sources":["../../../../lib/adapter/driven/localSaveScreenshot/localSaveScreenshot.interface.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Configuration options for the local screenshot saving adapter.\n */\nexport interface LocalSaveScreenshotAdapterOptions {\n /**\n * The root folder where the screenshots will be saved.\n */\n rootFolder?: string;\n\n /**\n * The format string used to generate image names.\n */\n formatImageName?: string;\n}\n\n/**\n * Options for formatting file names associated with browser screenshots.\n */\nexport interface FormatFileOptions {\n /**\n * The name of the browser.\n */\n browserName: string;\n\n /**\n * The version of the browser.\n */\n browserVersion: string;\n\n /**\n * The device's pixel ratio (DPR).\n */\n dpr: number;\n\n /**\n * The screen height in pixels.\n */\n height: number;\n\n /**\n * A descriptive name associated with the instance.\n */\n name: string;\n\n /**\n * The screen width in pixels.\n */\n width: number;\n}\n"]}
@@ -0,0 +1,76 @@
1
+ import { setLocalSaveScreenshotOptions } from './default.js';
2
+ import { ensureDirSync, outputFile } from 'fs-extra';
3
+ import { join } from 'path';
4
+ /**
5
+ * A class that implements the PermanentStorageDrivenPort interface for local file storage of screenshots.
6
+ */
7
+ export class LocalSaveScreenshot {
8
+ _config;
9
+ _log;
10
+ /**
11
+ * Creates an instance of LocalSaveScreenshot.
12
+ *
13
+ * @param {LocalSaveScreenshotAdapterOptions} config - Configuration options for local saving of screenshots.
14
+ * @param {Logger} log - Logger for logging messages.
15
+ */
16
+ constructor(config, log) {
17
+ this._config = setLocalSaveScreenshotOptions(config);
18
+ this._log = log;
19
+ }
20
+ /**
21
+ * Get and create a folder with a specific name based on input and environment.
22
+ *
23
+ * @param {ScreenshotFilePathOptions} options - Options for generating the folder name, including the browser name.
24
+ * @returns {string} The full path to the created folder.
25
+ */
26
+ _getAndCreatePath(options) {
27
+ const { rootFolder } = this._config;
28
+ const { browserName } = options;
29
+ const folderPath = join(rootFolder, browserName);
30
+ ensureDirSync(folderPath);
31
+ return folderPath;
32
+ }
33
+ /**
34
+ * Formats a filename based on specified options.
35
+ *
36
+ * @param {ScreenshotFileNameOptions} options - The options used for formatting the filename.
37
+ * @returns {string} The formatted filename as a string.
38
+ */
39
+ _formatFileName(options) {
40
+ const formatFileOptions = {
41
+ browserName: options.browserName,
42
+ browserVersion: options.browserVersion,
43
+ dpr: options.devicePixelRatio,
44
+ height: options.outerHeight,
45
+ name: options.name,
46
+ width: options.outerWidth,
47
+ };
48
+ let fileName = this._config.formatImageName;
49
+ // Replace placeholders in the filename with default values
50
+ for (const [key, value] of Object.entries(formatFileOptions)) {
51
+ const placeholder = `{${key}}`;
52
+ fileName = fileName.replace(placeholder, String(value));
53
+ }
54
+ return `${fileName.replace(/ /g, '_')}.png`;
55
+ }
56
+ /**
57
+ * Save a base64 image to a file.
58
+ *
59
+ * @param {string} base64Image - The base64 image data to be saved.
60
+ * @param {SaveBase64ImageOptions} saveBase64ImageOptions - Options for saving the base64 image.
61
+ * @returns {Promise<PermanentStorageResult>} A Promise that resolves when the image is successfully saved.
62
+ */
63
+ async saveBase64Image(base64Image, saveBase64ImageOptions) {
64
+ const filePath = this._getAndCreatePath(saveBase64ImageOptions.screenshotFilePathOptions);
65
+ const fileName = this._formatFileName(saveBase64ImageOptions.screenshotFileNameOptions);
66
+ const path = join(filePath, fileName);
67
+ await outputFile(path, base64Image, 'base64');
68
+ this._log.info(`Screenshot saved: ${path}`);
69
+ const permanentStorageResult = {
70
+ fileName: fileName,
71
+ filePath: filePath,
72
+ };
73
+ return permanentStorageResult;
74
+ }
75
+ }
76
+ //# sourceMappingURL=localSaveScreenshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localSaveScreenshot.js","sourceRoot":"","sources":["../../../../lib/adapter/driven/localSaveScreenshot/localSaveScreenshot.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAI7D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B;;GAEG;AACH,MAAM,OAAO,mBAAmB;IACtB,OAAO,CAAoC;IAC3C,IAAI,CAAS;IAErB;;;;;OAKG;IACH,YAAY,MAAyC,EAAE,GAAW;QAChE,IAAI,CAAC,OAAO,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACK,iBAAiB,CAAC,OAAkC;QAC1D,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QACpC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACjD,aAAa,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,OAAkC;QACxD,MAAM,iBAAiB,GAAsB;YAC3C,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,GAAG,EAAE,OAAO,CAAC,gBAAgB;YAC7B,MAAM,EAAE,OAAO,CAAC,WAAW;YAC3B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,UAAU;SAC1B,CAAC;QACF,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;QAE5C,2DAA2D;QAC3D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC7D,MAAM,WAAW,GAAG,IAAI,GAAG,GAAG,CAAC;YAC/B,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;IAC9C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CACnB,WAAmB,EACnB,sBAA8C;QAE9C,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,yBAAyB,CAAC,CAAC;QAC1F,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,yBAAyB,CAAC,CAAC;QACxF,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACtC,MAAM,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;QAC5C,MAAM,sBAAsB,GAA2B;YACrD,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;SACnB,CAAC;QACF,OAAO,sBAAsB,CAAC;IAChC,CAAC;CACF","sourcesContent":["import { PermanentStorageResult } from '../../../domain/model/permanentStorageResult.interface.js';\nimport { SaveBase64ImageOptions } from '../../../domain/model/saveBase64ImageOptions.interface.js';\nimport {\n ScreenshotFileNameOptions,\n ScreenshotFilePathOptions,\n} from '../../../domain/model/saveBase64ImageOptions.interface.js';\nimport { PermanentStorageDrivenPort } from '../../../port/driven/permanentStoragePort.js';\nimport { setLocalSaveScreenshotOptions } from './default.js';\nimport { FormatFileOptions } from './localSaveScreenshot.interface.js';\nimport { LocalSaveScreenshotAdapterOptions } from './localSaveScreenshot.interface.js';\nimport { Logger } from '@wdio/logger';\nimport { ensureDirSync, outputFile } from 'fs-extra';\nimport { join } from 'path';\n\n/**\n * A class that implements the PermanentStorageDrivenPort interface for local file storage of screenshots.\n */\nexport class LocalSaveScreenshot implements PermanentStorageDrivenPort {\n private _config: LocalSaveScreenshotAdapterOptions;\n private _log: Logger;\n\n /**\n * Creates an instance of LocalSaveScreenshot.\n *\n * @param {LocalSaveScreenshotAdapterOptions} config - Configuration options for local saving of screenshots.\n * @param {Logger} log - Logger for logging messages.\n */\n constructor(config: LocalSaveScreenshotAdapterOptions, log: Logger) {\n this._config = setLocalSaveScreenshotOptions(config);\n this._log = log;\n }\n\n /**\n * Get and create a folder with a specific name based on input and environment.\n *\n * @param {ScreenshotFilePathOptions} options - Options for generating the folder name, including the browser name.\n * @returns {string} The full path to the created folder.\n */\n private _getAndCreatePath(options: ScreenshotFilePathOptions): string {\n const { rootFolder } = this._config;\n const { browserName } = options;\n const folderPath = join(rootFolder, browserName);\n ensureDirSync(folderPath);\n return folderPath;\n }\n\n /**\n * Formats a filename based on specified options.\n *\n * @param {ScreenshotFileNameOptions} options - The options used for formatting the filename.\n * @returns {string} The formatted filename as a string.\n */\n private _formatFileName(options: ScreenshotFileNameOptions): string {\n const formatFileOptions: FormatFileOptions = {\n browserName: options.browserName,\n browserVersion: options.browserVersion,\n dpr: options.devicePixelRatio,\n height: options.outerHeight,\n name: options.name,\n width: options.outerWidth,\n };\n let fileName = this._config.formatImageName;\n\n // Replace placeholders in the filename with default values\n for (const [key, value] of Object.entries(formatFileOptions)) {\n const placeholder = `{${key}}`;\n fileName = fileName.replace(placeholder, String(value));\n }\n\n return `${fileName.replace(/ /g, '_')}.png`;\n }\n\n /**\n * Save a base64 image to a file.\n *\n * @param {string} base64Image - The base64 image data to be saved.\n * @param {SaveBase64ImageOptions} saveBase64ImageOptions - Options for saving the base64 image.\n * @returns {Promise<PermanentStorageResult>} A Promise that resolves when the image is successfully saved.\n */\n async saveBase64Image(\n base64Image: string,\n saveBase64ImageOptions: SaveBase64ImageOptions,\n ): Promise<PermanentStorageResult> {\n const filePath = this._getAndCreatePath(saveBase64ImageOptions.screenshotFilePathOptions);\n const fileName = this._formatFileName(saveBase64ImageOptions.screenshotFileNameOptions);\n const path = join(filePath, fileName);\n await outputFile(path, base64Image, 'base64');\n this._log.info(`Screenshot saved: ${path}`);\n const permanentStorageResult: PermanentStorageResult = {\n fileName: fileName,\n filePath: filePath,\n };\n return permanentStorageResult;\n }\n}\n"]}
@@ -0,0 +1,10 @@
1
+ import { LoggerPort } from '@autonomous-testing/sdk';
2
+ export declare class WdioLogger implements LoggerPort {
3
+ private _logger;
4
+ constructor();
5
+ info(message: string): void;
6
+ warning(message: string): void;
7
+ debug(message: string): void;
8
+ error(message: string): void;
9
+ }
10
+ //# sourceMappingURL=wdioLoggerAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wdioLoggerAdapter.d.ts","sourceRoot":"","sources":["../../../../lib/adapter/driven/wdioLoggerAdapter/wdioLoggerAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGrD,qBAAa,UAAW,YAAW,UAAU;IAC3C,OAAO,CAAC,OAAO,CAAS;;IAMxB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAG3B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAG5B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAG7B"}
@@ -0,0 +1,20 @@
1
+ import logger from '@wdio/logger';
2
+ export class WdioLogger {
3
+ _logger;
4
+ constructor() {
5
+ this._logger = logger('wopee');
6
+ }
7
+ info(message) {
8
+ this._logger.info(message);
9
+ }
10
+ warning(message) {
11
+ this._logger.warn(message);
12
+ }
13
+ debug(message) {
14
+ this._logger.debug(message);
15
+ }
16
+ error(message) {
17
+ this._logger.error(message);
18
+ }
19
+ }
20
+ //# sourceMappingURL=wdioLoggerAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wdioLoggerAdapter.js","sourceRoot":"","sources":["../../../../lib/adapter/driven/wdioLoggerAdapter/wdioLoggerAdapter.ts"],"names":[],"mappings":"AACA,OAAO,MAAkB,MAAM,cAAc,CAAC;AAE9C,MAAM,OAAO,UAAU;IACb,OAAO,CAAS;IAExB;QACE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,CAAC,OAAe;QACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IACD,KAAK,CAAC,OAAe;QACnB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IACD,KAAK,CAAC,OAAe;QACnB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;CACF","sourcesContent":["import { LoggerPort } from '@autonomous-testing/sdk';\nimport logger, { Logger } from '@wdio/logger';\n\nexport class WdioLogger implements LoggerPort {\n private _logger: Logger;\n\n constructor() {\n this._logger = logger('wopee');\n }\n\n info(message: string): void {\n this._logger.info(message);\n }\n warning(message: string): void {\n this._logger.warn(message);\n }\n debug(message: string): void {\n this._logger.debug(message);\n }\n error(message: string): void {\n this._logger.error(message);\n }\n}\n"]}
@@ -0,0 +1,31 @@
1
+ import { TrackFullPageMobileNativeOptions } from '../../core/domain/valueObjects/track.interface.js';
2
+ import { FullPageScreenshotsData } from '../../desktopBrowser/methods/screenshots.interfaces.js';
3
+ import { CroppingOptions } from '../../domain/model/config.interface.js';
4
+ import { Methods } from '../../domain/model/methods.interface.js';
5
+ import { ScreenshotOutput } from '../../domain/model/screenshotOutput.interface.js';
6
+ import { WopeeService } from '../../domain/service/wopeeService.js';
7
+ export declare function fullPageScreenshot(methods: Methods, options: FullPageScreenshotDataNativeMobileOptions): Promise<{
8
+ fullPageHeight: number;
9
+ fullPageWidth: number;
10
+ data: {
11
+ canvasWidth: number;
12
+ canvasYPosition: number;
13
+ imageHeight: number;
14
+ imageWidth: number;
15
+ imageXPosition: number;
16
+ imageYPosition: number;
17
+ screenshot: string;
18
+ }[];
19
+ }>;
20
+ export declare function makeFullPageBase64Image(screenshotsData: FullPageScreenshotsData, isLandscape: boolean, croppingOptions: CroppingOptions): Promise<string>;
21
+ interface FullPageScreenshotDataNativeMobileOptions {
22
+ fullPageScrollTimeout: number;
23
+ numberOfSwipes: number;
24
+ swipeStartX: number;
25
+ swipeStartY: number;
26
+ swipeStopX: number;
27
+ swipeStopY: number;
28
+ }
29
+ export declare function trackFullPageMobileNative(methods: Methods, wopeeService: WopeeService, options: TrackFullPageMobileNativeOptions): Promise<ScreenshotOutput>;
30
+ export {};
31
+ //# sourceMappingURL=fullPageScreenshotAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fullPageScreenshotAdapter.d.ts","sourceRoot":"","sources":["../../../lib/adapter/fullPageScreenshotAdapter/fullPageScreenshotAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,mDAAmD,CAAC;AAIrG,OAAO,EAAE,uBAAuB,EAAE,MAAM,wDAAwD,CAAC;AAIjG,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AAGpF,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AA2BpE,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,yCAAyC;;;;;;;;;;;;GAiC5G;AAoDD,wBAAsB,uBAAuB,CAC3C,eAAe,EAAE,uBAAuB,EACxC,WAAW,EAAE,OAAO,EACpB,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,MAAM,CAAC,CAyBjB;AAED,UAAU,yCAAyC;IACjD,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,gCAAgC,GACxC,OAAO,CAAC,gBAAgB,CAAC,CA8C3B"}
@@ -0,0 +1,138 @@
1
+ import { waitFor } from '../../desktopBrowser/helpers/utils.js';
2
+ import { getScreenshotSize } from '../../desktopBrowser/helpers/utils.js';
3
+ import { rotateBase64Image } from '../../desktopBrowser/methods/images.js';
4
+ import { takeBase64Screenshot } from '../../desktopBrowser/methods/screenshots.js';
5
+ import { afterScreenshot } from '../../domain/service/afterScreenshot.js';
6
+ import { createCanvas, loadImage } from 'canvas';
7
+ async function swipe(methods, swipeStartX, swipeStartY, swipeStopX, swipeStopY) {
8
+ const actions = [
9
+ {
10
+ type: 'pointer',
11
+ id: 'finger1',
12
+ parameters: { pointerType: 'touch' },
13
+ actions: [
14
+ { type: 'pointerMove', duration: 50, x: swipeStartX, y: swipeStartY },
15
+ { type: 'pointerDown' },
16
+ { type: 'pause', duration: 100 },
17
+ { type: 'pointerMove', duration: 1000, x: swipeStopX, y: swipeStopY },
18
+ { type: 'pointerUp' },
19
+ ],
20
+ },
21
+ ];
22
+ await methods.browser.performActions(actions);
23
+ }
24
+ export async function fullPageScreenshot(methods, options) {
25
+ const viewportScreenshots = [];
26
+ const numberOfSwipes = options.numberOfSwipes;
27
+ const fullPageScrollTimeout = options.fullPageScrollTimeout;
28
+ let screenshotSize;
29
+ for (let i = 0; i <= numberOfSwipes; i++) {
30
+ await waitFor(fullPageScrollTimeout);
31
+ const rawScreenshot = await takeBase64Screenshot(methods.screenShot);
32
+ screenshotSize = getScreenshotSize(rawScreenshot);
33
+ viewportScreenshots.push({
34
+ canvasWidth: screenshotSize.width,
35
+ canvasYPosition: i * screenshotSize.height,
36
+ imageHeight: screenshotSize.height,
37
+ imageWidth: screenshotSize.width,
38
+ imageXPosition: 0,
39
+ imageYPosition: i * screenshotSize.height,
40
+ screenshot: rawScreenshot,
41
+ });
42
+ if (i !== numberOfSwipes) {
43
+ await swipe(methods, options.swipeStartX, options.swipeStartY, options.swipeStopX, options.swipeStopY);
44
+ }
45
+ }
46
+ return {
47
+ fullPageHeight: screenshotSize.height * viewportScreenshots.length,
48
+ fullPageWidth: screenshotSize.width,
49
+ data: viewportScreenshots,
50
+ };
51
+ }
52
+ async function createImageCanvas(screenshotData, croppingOptions, isLandscape) {
53
+ const imageBase64 = isLandscape
54
+ ? await rotateBase64Image({
55
+ base64Image: screenshotData.screenshot,
56
+ degrees: -90,
57
+ newHeight: screenshotData.imageWidth,
58
+ newWidth: screenshotData.imageHeight,
59
+ })
60
+ : screenshotData.screenshot;
61
+ const image = await loadImage(`data:image/png;base64,${imageBase64}`);
62
+ const canvasWidth = image.width;
63
+ const canvasHeight = image.height;
64
+ const canvas = createCanvas(canvasWidth, canvasHeight);
65
+ const ctx = canvas.getContext('2d');
66
+ ctx.fillStyle = 'black';
67
+ ctx.fillRect(0, 0, canvasWidth, canvasHeight);
68
+ let sourceXStart = screenshotData.imageXPosition;
69
+ let sourceYStart = 0;
70
+ let sourceCanvasWidth = canvasWidth;
71
+ let sourceCanvasHeight = canvasHeight;
72
+ if (croppingOptions.croppingEnabled === true) {
73
+ sourceXStart = sourceXStart + croppingOptions.xCropLeft;
74
+ sourceYStart = sourceYStart + croppingOptions.yCropTop;
75
+ sourceCanvasWidth = sourceCanvasWidth - croppingOptions.xCropLeft - croppingOptions.xCropRight;
76
+ sourceCanvasHeight = sourceCanvasHeight - croppingOptions.yCropTop - croppingOptions.yCropBottom;
77
+ }
78
+ ctx.drawImage(image, sourceXStart, sourceYStart, sourceCanvasWidth, sourceCanvasHeight, sourceXStart, sourceYStart, sourceCanvasWidth, sourceCanvasHeight);
79
+ return await loadImage(canvas.toDataURL());
80
+ }
81
+ export async function makeFullPageBase64Image(screenshotsData, isLandscape, croppingOptions) {
82
+ const canvasWidth = screenshotsData.fullPageWidth;
83
+ const canvasHeight = screenshotsData.fullPageHeight;
84
+ const canvas = createCanvas(canvasWidth, canvasHeight);
85
+ const ctx = canvas.getContext('2d');
86
+ for (let i = 0; i < screenshotsData.data.length; i++) {
87
+ const screenshotData = screenshotsData.data[i];
88
+ const image = await createImageCanvas(screenshotData, croppingOptions, isLandscape);
89
+ ctx.drawImage(image, // image
90
+ 0, // sx
91
+ screenshotData.imageYPosition, // sy
92
+ image.width, // sw
93
+ image.height, // sh
94
+ 0, // dx
95
+ screenshotData.canvasYPosition, // dy
96
+ image.width, // dw
97
+ image.height);
98
+ }
99
+ const base64Image = canvas.toDataURL().replace(/^data:image\/png;base64,/, '');
100
+ return base64Image;
101
+ }
102
+ export async function trackFullPageMobileNative(methods, wopeeService, options) {
103
+ const fullPageScrollTimeout = options?.fullPageScrollTimeout;
104
+ const fullPageScreenshotDataNativeMobileOptions = {
105
+ fullPageScrollTimeout: fullPageScrollTimeout !== undefined ? fullPageScrollTimeout : 1500,
106
+ numberOfSwipes: options.numberOfSwipes,
107
+ swipeStartX: options.swipeStartX,
108
+ swipeStartY: options.swipeStartY,
109
+ swipeStopX: options.swipeStopX,
110
+ swipeStopY: options.swipeStopY,
111
+ };
112
+ const screenshotsData = await fullPageScreenshot(methods, fullPageScreenshotDataNativeMobileOptions);
113
+ const fullPageBase64Image = await makeFullPageBase64Image(screenshotsData, wopeeService.config.isLandscape, wopeeService.config.cropping);
114
+ const afterOptions = {
115
+ imageBase64: fullPageBase64Image,
116
+ saveBase64ImageOptions: {
117
+ screenshotFilePathOptions: {
118
+ browserName: 'mobile',
119
+ },
120
+ screenshotFileNameOptions: {
121
+ browserName: 'mobile',
122
+ browserVersion: 'mobile',
123
+ devicePixelRatio: 1,
124
+ name: options.stepName,
125
+ outerHeight: 1,
126
+ outerWidth: 1,
127
+ screenHeight: 1,
128
+ screenWidth: 1,
129
+ },
130
+ },
131
+ screenshotValidationOptions: {
132
+ ...options,
133
+ imageBase64: fullPageBase64Image,
134
+ },
135
+ };
136
+ return afterScreenshot(wopeeService, afterOptions);
137
+ }
138
+ //# sourceMappingURL=fullPageScreenshotAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fullPageScreenshotAdapter.js","sourceRoot":"","sources":["../../../lib/adapter/fullPageScreenshotAdapter/fullPageScreenshotAdapter.ts"],"names":[],"mappings":"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","sourcesContent":["import { TrackFullPageMobileNativeOptions } from '../../core/domain/valueObjects/track.interface.js';\nimport { waitFor } from '../../desktopBrowser/helpers/utils.js';\nimport { getScreenshotSize } from '../../desktopBrowser/helpers/utils.js';\nimport { rotateBase64Image } from '../../desktopBrowser/methods/images.js';\nimport { FullPageScreenshotsData } from '../../desktopBrowser/methods/screenshots.interfaces.js';\nimport { ScreenshotData } from '../../desktopBrowser/methods/screenshots.interfaces.js';\nimport { takeBase64Screenshot } from '../../desktopBrowser/methods/screenshots.js';\nimport { AfterScreenshotOptions } from '../../domain/model/afterScreenshotOptions.interface.js';\nimport { CroppingOptions } from '../../domain/model/config.interface.js';\nimport { Methods } from '../../domain/model/methods.interface.js';\nimport { ScreenshotOutput } from '../../domain/model/screenshotOutput.interface.js';\nimport { ScreenshotSize } from '../../domain/model/screenshotSize.interface.js';\nimport { afterScreenshot } from '../../domain/service/afterScreenshot.js';\nimport { WopeeService } from '../../domain/service/wopeeService.js';\nimport { Image, createCanvas, loadImage } from 'canvas';\n\nasync function swipe(\n methods: Methods,\n swipeStartX: number,\n swipeStartY: number,\n swipeStopX: number,\n swipeStopY: number,\n) {\n const actions = [\n {\n type: 'pointer',\n id: 'finger1',\n parameters: { pointerType: 'touch' },\n actions: [\n { type: 'pointerMove', duration: 50, x: swipeStartX, y: swipeStartY },\n { type: 'pointerDown' },\n { type: 'pause', duration: 100 },\n { type: 'pointerMove', duration: 1000, x: swipeStopX, y: swipeStopY },\n { type: 'pointerUp' },\n ],\n },\n ];\n await methods.browser.performActions(actions);\n}\n\nexport async function fullPageScreenshot(methods: Methods, options: FullPageScreenshotDataNativeMobileOptions) {\n const viewportScreenshots = [];\n const numberOfSwipes: number = options.numberOfSwipes;\n const fullPageScrollTimeout: number = options.fullPageScrollTimeout;\n\n let screenshotSize: ScreenshotSize;\n\n for (let i = 0; i <= numberOfSwipes; i++) {\n await waitFor(fullPageScrollTimeout);\n\n const rawScreenshot = await takeBase64Screenshot(methods.screenShot);\n screenshotSize = getScreenshotSize(rawScreenshot);\n\n viewportScreenshots.push({\n canvasWidth: screenshotSize.width,\n canvasYPosition: i * screenshotSize.height,\n imageHeight: screenshotSize.height,\n imageWidth: screenshotSize.width,\n imageXPosition: 0,\n imageYPosition: i * screenshotSize.height,\n screenshot: rawScreenshot,\n });\n\n if (i !== numberOfSwipes) {\n await swipe(methods, options.swipeStartX, options.swipeStartY, options.swipeStopX, options.swipeStopY);\n }\n }\n\n return {\n fullPageHeight: screenshotSize.height * viewportScreenshots.length,\n fullPageWidth: screenshotSize.width,\n data: viewportScreenshots,\n };\n}\n\nasync function createImageCanvas(\n screenshotData: ScreenshotData,\n croppingOptions: CroppingOptions,\n isLandscape: boolean,\n): Promise<Image> {\n const imageBase64 = isLandscape\n ? await rotateBase64Image({\n base64Image: screenshotData.screenshot,\n degrees: -90,\n newHeight: screenshotData.imageWidth,\n newWidth: screenshotData.imageHeight,\n })\n : screenshotData.screenshot;\n\n const image = await loadImage(`data:image/png;base64,${imageBase64}`);\n\n const canvasWidth = image.width;\n const canvasHeight = image.height;\n const canvas = createCanvas(canvasWidth, canvasHeight);\n const ctx = canvas.getContext('2d');\n ctx.fillStyle = 'black';\n ctx.fillRect(0, 0, canvasWidth, canvasHeight);\n\n let sourceXStart = screenshotData.imageXPosition;\n let sourceYStart = 0;\n let sourceCanvasWidth = canvasWidth;\n let sourceCanvasHeight = canvasHeight;\n\n if (croppingOptions.croppingEnabled === true) {\n sourceXStart = sourceXStart + croppingOptions.xCropLeft;\n sourceYStart = sourceYStart + croppingOptions.yCropTop;\n sourceCanvasWidth = sourceCanvasWidth - croppingOptions.xCropLeft - croppingOptions.xCropRight;\n sourceCanvasHeight = sourceCanvasHeight - croppingOptions.yCropTop - croppingOptions.yCropBottom;\n }\n\n ctx.drawImage(\n image,\n sourceXStart,\n sourceYStart,\n sourceCanvasWidth,\n sourceCanvasHeight,\n sourceXStart,\n sourceYStart,\n sourceCanvasWidth,\n sourceCanvasHeight,\n );\n\n return await loadImage(canvas.toDataURL());\n}\n\nexport async function makeFullPageBase64Image(\n screenshotsData: FullPageScreenshotsData,\n isLandscape: boolean,\n croppingOptions: CroppingOptions,\n): Promise<string> {\n const canvasWidth = screenshotsData.fullPageWidth;\n const canvasHeight = screenshotsData.fullPageHeight;\n const canvas = createCanvas(canvasWidth, canvasHeight);\n const ctx = canvas.getContext('2d');\n\n for (let i = 0; i < screenshotsData.data.length; i++) {\n const screenshotData: ScreenshotData = screenshotsData.data[i];\n const image = await createImageCanvas(screenshotData, croppingOptions, isLandscape);\n\n ctx.drawImage(\n image, // image\n 0, // sx\n screenshotData.imageYPosition, // sy\n image.width, // sw\n image.height, // sh\n 0, // dx\n screenshotData.canvasYPosition, // dy\n image.width, // dw\n image.height, // dh\n );\n }\n\n const base64Image = canvas.toDataURL().replace(/^data:image\\/png;base64,/, '');\n return base64Image;\n}\n\ninterface FullPageScreenshotDataNativeMobileOptions {\n fullPageScrollTimeout: number;\n numberOfSwipes: number;\n swipeStartX: number;\n swipeStartY: number;\n swipeStopX: number;\n swipeStopY: number;\n}\n\nexport async function trackFullPageMobileNative(\n methods: Methods,\n wopeeService: WopeeService,\n options: TrackFullPageMobileNativeOptions,\n): Promise<ScreenshotOutput> {\n const fullPageScrollTimeout = options?.fullPageScrollTimeout;\n\n const fullPageScreenshotDataNativeMobileOptions: FullPageScreenshotDataNativeMobileOptions = {\n fullPageScrollTimeout: fullPageScrollTimeout !== undefined ? fullPageScrollTimeout : 1500,\n numberOfSwipes: options.numberOfSwipes,\n swipeStartX: options.swipeStartX,\n swipeStartY: options.swipeStartY,\n swipeStopX: options.swipeStopX,\n swipeStopY: options.swipeStopY,\n };\n const screenshotsData: FullPageScreenshotsData = await fullPageScreenshot(\n methods,\n fullPageScreenshotDataNativeMobileOptions,\n );\n\n const fullPageBase64Image: string = await makeFullPageBase64Image(\n screenshotsData,\n wopeeService.config.isLandscape,\n wopeeService.config.cropping,\n );\n\n const afterOptions: AfterScreenshotOptions = {\n imageBase64: fullPageBase64Image,\n saveBase64ImageOptions: {\n screenshotFilePathOptions: {\n browserName: 'mobile',\n },\n screenshotFileNameOptions: {\n browserName: 'mobile',\n browserVersion: 'mobile',\n devicePixelRatio: 1,\n name: options.stepName,\n outerHeight: 1,\n outerWidth: 1,\n screenHeight: 1,\n screenWidth: 1,\n },\n },\n screenshotValidationOptions: {\n ...options,\n imageBase64: fullPageBase64Image,\n },\n };\n\n return afterScreenshot(wopeeService, afterOptions);\n}\n"]}
@@ -0,0 +1,10 @@
1
+ import { CroppingOptions, WopeeServiceOptions } from '../../domain/model/config.interface.js';
2
+ import { ConfigDrivingPort } from '../../port/driven/configDrivingPort/configDrivingPort.js';
3
+ import { GeneralWopeeServiceOptions } from '../../port/driven/configDrivingPort/configDrivingPortDefaults.js';
4
+ import 'dotenv/config';
5
+ export declare class WdioConfigAdapter extends ConfigDrivingPort {
6
+ _parseCroppingOptions(options: CroppingOptions): CroppingOptions;
7
+ _parseGeneralWopeeServiceOptions(options: WopeeServiceOptions): GeneralWopeeServiceOptions;
8
+ _loadConfig(options: WopeeServiceOptions): WopeeServiceOptions;
9
+ }
10
+ //# sourceMappingURL=wdioConfigAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wdioConfigAdapter.d.ts","sourceRoot":"","sources":["../../../lib/adapter/wdioConfigAdapter/wdioConfigAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0DAA0D,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,kEAAkE,CAAC;AAG9G,OAAO,eAAe,CAAC;AAEvB,qBAAa,iBAAkB,SAAQ,iBAAiB;IACtD,qBAAqB,CAAC,OAAO,EAAE,eAAe,GAAG,eAAe;IAuBhE,gCAAgC,CAAC,OAAO,EAAE,mBAAmB,GAAG,0BAA0B;IAe1F,WAAW,CAAC,OAAO,EAAE,mBAAmB,GAAG,mBAAmB;CAU/D"}
@@ -0,0 +1,28 @@
1
+ import { z } from 'zod';
2
+ export declare const CroppingOptionsSchema: z.ZodObject<{
3
+ xCropLeft: z.ZodOptional<z.ZodNumber>;
4
+ xCropRight: z.ZodOptional<z.ZodNumber>;
5
+ yCropTop: z.ZodOptional<z.ZodNumber>;
6
+ yCropBottom: z.ZodOptional<z.ZodNumber>;
7
+ croppingEnabled: z.ZodOptional<z.ZodBoolean>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ xCropLeft?: number;
10
+ xCropRight?: number;
11
+ yCropTop?: number;
12
+ yCropBottom?: number;
13
+ croppingEnabled?: boolean;
14
+ }, {
15
+ xCropLeft?: number;
16
+ xCropRight?: number;
17
+ yCropTop?: number;
18
+ yCropBottom?: number;
19
+ croppingEnabled?: boolean;
20
+ }>;
21
+ export declare const GeneralWopeeServiceOptionsSchema: z.ZodObject<{
22
+ isLandscape: z.ZodOptional<z.ZodBoolean>;
23
+ }, "strip", z.ZodTypeAny, {
24
+ isLandscape?: boolean;
25
+ }, {
26
+ isLandscape?: boolean;
27
+ }>;
28
+ //# sourceMappingURL=wdioConfigAdapter.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wdioConfigAdapter.interface.d.ts","sourceRoot":"","sources":["../../../lib/adapter/wdioConfigAdapter/wdioConfigAdapter.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;EAMhC,CAAC;AAEH,eAAO,MAAM,gCAAgC;;;;;;EAE3C,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { z } from 'zod';
2
+ export const CroppingOptionsSchema = z.object({
3
+ xCropLeft: z.number().optional(),
4
+ xCropRight: z.number().optional(),
5
+ yCropTop: z.number().optional(),
6
+ yCropBottom: z.number().optional(),
7
+ croppingEnabled: z.boolean().optional(),
8
+ });
9
+ export const GeneralWopeeServiceOptionsSchema = z.object({
10
+ isLandscape: z.boolean().optional(),
11
+ });
12
+ //# sourceMappingURL=wdioConfigAdapter.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wdioConfigAdapter.interface.js","sourceRoot":"","sources":["../../../lib/adapter/wdioConfigAdapter/wdioConfigAdapter.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACvD,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\n\nexport const CroppingOptionsSchema = z.object({\n xCropLeft: z.number().optional(),\n xCropRight: z.number().optional(),\n yCropTop: z.number().optional(),\n yCropBottom: z.number().optional(),\n croppingEnabled: z.boolean().optional(),\n});\n\nexport const GeneralWopeeServiceOptionsSchema = z.object({\n isLandscape: z.boolean().optional(),\n});\n"]}
@@ -0,0 +1,57 @@
1
+ import { ConfigDrivingPort } from '../../port/driven/configDrivingPort/configDrivingPort.js';
2
+ import { WopeeError } from '../../utils/wopeeError.js';
3
+ import { CroppingOptionsSchema, GeneralWopeeServiceOptionsSchema } from './wdioConfigAdapter.interface.js';
4
+ import 'dotenv/config';
5
+ export class WdioConfigAdapter extends ConfigDrivingPort {
6
+ _parseCroppingOptions(options) {
7
+ let croppingOptions;
8
+ try {
9
+ const parsedSchema = CroppingOptionsSchema.parse({
10
+ ...options,
11
+ });
12
+ croppingOptions = {
13
+ xCropLeft: parsedSchema.xCropLeft,
14
+ xCropRight: parsedSchema.xCropRight,
15
+ yCropTop: parsedSchema.yCropTop,
16
+ yCropBottom: parsedSchema.yCropBottom,
17
+ croppingEnabled: parsedSchema.croppingEnabled,
18
+ };
19
+ }
20
+ catch (error) {
21
+ if (error instanceof Error) {
22
+ throw new WopeeError(error?.message);
23
+ }
24
+ else {
25
+ throw error;
26
+ }
27
+ }
28
+ return croppingOptions;
29
+ }
30
+ _parseGeneralWopeeServiceOptions(options) {
31
+ let generalWopeeServiceOptions;
32
+ try {
33
+ const parsedSchema = GeneralWopeeServiceOptionsSchema.parse({ isLandscape: options.isLandscape });
34
+ generalWopeeServiceOptions = { isLandscape: parsedSchema.isLandscape };
35
+ }
36
+ catch (error) {
37
+ if (error instanceof Error) {
38
+ throw new WopeeError(error?.message);
39
+ }
40
+ else {
41
+ throw error;
42
+ }
43
+ }
44
+ return generalWopeeServiceOptions;
45
+ }
46
+ _loadConfig(options) {
47
+ const screenshotValidationOptions = options.screenshotValidation;
48
+ const croppingOptions = this._parseCroppingOptions(options.cropping);
49
+ const generalWopeeServiceOptions = this._parseGeneralWopeeServiceOptions(options);
50
+ return {
51
+ screenshotValidation: screenshotValidationOptions,
52
+ cropping: croppingOptions,
53
+ isLandscape: generalWopeeServiceOptions.isLandscape,
54
+ };
55
+ }
56
+ }
57
+ //# sourceMappingURL=wdioConfigAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wdioConfigAdapter.js","sourceRoot":"","sources":["../../../lib/adapter/wdioConfigAdapter/wdioConfigAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0DAA0D,CAAC;AAE7F,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AAC3G,OAAO,eAAe,CAAC;AAEvB,MAAM,OAAO,iBAAkB,SAAQ,iBAAiB;IACtD,qBAAqB,CAAC,OAAwB;QAC5C,IAAI,eAAgC,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,qBAAqB,CAAC,KAAK,CAAC;gBAC/C,GAAG,OAAO;aACX,CAAC,CAAC;YACH,eAAe,GAAG;gBAChB,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,UAAU,EAAE,YAAY,CAAC,UAAU;gBACnC,QAAQ,EAAE,YAAY,CAAC,QAAQ;gBAC/B,WAAW,EAAE,YAAY,CAAC,WAAW;gBACrC,eAAe,EAAE,YAAY,CAAC,eAAe;aAC9C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,MAAM,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,gCAAgC,CAAC,OAA4B;QAC3D,IAAI,0BAAsD,CAAC;QAC3D,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,gCAAgC,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YAClG,0BAA0B,GAAG,EAAE,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE,CAAC;QACzE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,MAAM,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,0BAA0B,CAAC;IACpC,CAAC;IAED,WAAW,CAAC,OAA4B;QACtC,MAAM,2BAA2B,GAAG,OAAO,CAAC,oBAAoB,CAAC;QACjE,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,0BAA0B,GAAG,IAAI,CAAC,gCAAgC,CAAC,OAAO,CAAC,CAAC;QAClF,OAAO;YACL,oBAAoB,EAAE,2BAA2B;YACjD,QAAQ,EAAE,eAAe;YACzB,WAAW,EAAE,0BAA0B,CAAC,WAAW;SACpD,CAAC;IACJ,CAAC;CACF","sourcesContent":["import { CroppingOptions, WopeeServiceOptions } from '../../domain/model/config.interface.js';\nimport { ConfigDrivingPort } from '../../port/driven/configDrivingPort/configDrivingPort.js';\nimport { GeneralWopeeServiceOptions } from '../../port/driven/configDrivingPort/configDrivingPortDefaults.js';\nimport { WopeeError } from '../../utils/wopeeError.js';\nimport { CroppingOptionsSchema, GeneralWopeeServiceOptionsSchema } from './wdioConfigAdapter.interface.js';\nimport 'dotenv/config';\n\nexport class WdioConfigAdapter extends ConfigDrivingPort {\n _parseCroppingOptions(options: CroppingOptions): CroppingOptions {\n let croppingOptions: CroppingOptions;\n try {\n const parsedSchema = CroppingOptionsSchema.parse({\n ...options,\n });\n croppingOptions = {\n xCropLeft: parsedSchema.xCropLeft,\n xCropRight: parsedSchema.xCropRight,\n yCropTop: parsedSchema.yCropTop,\n yCropBottom: parsedSchema.yCropBottom,\n croppingEnabled: parsedSchema.croppingEnabled,\n };\n } catch (error) {\n if (error instanceof Error) {\n throw new WopeeError(error?.message);\n } else {\n throw error;\n }\n }\n return croppingOptions;\n }\n\n _parseGeneralWopeeServiceOptions(options: WopeeServiceOptions): GeneralWopeeServiceOptions {\n let generalWopeeServiceOptions: GeneralWopeeServiceOptions;\n try {\n const parsedSchema = GeneralWopeeServiceOptionsSchema.parse({ isLandscape: options.isLandscape });\n generalWopeeServiceOptions = { isLandscape: parsedSchema.isLandscape };\n } catch (error) {\n if (error instanceof Error) {\n throw new WopeeError(error?.message);\n } else {\n throw error;\n }\n }\n return generalWopeeServiceOptions;\n }\n\n _loadConfig(options: WopeeServiceOptions): WopeeServiceOptions {\n const screenshotValidationOptions = options.screenshotValidation;\n const croppingOptions = this._parseCroppingOptions(options.cropping);\n const generalWopeeServiceOptions = this._parseGeneralWopeeServiceOptions(options);\n return {\n screenshotValidation: screenshotValidationOptions,\n cropping: croppingOptions,\n isLandscape: generalWopeeServiceOptions.isLandscape,\n };\n }\n}\n"]}
@@ -0,0 +1,10 @@
1
+ import { LoggerPort } from '@autonomous-testing/sdk';
2
+ export declare class WdioLogger implements LoggerPort {
3
+ private _logger;
4
+ constructor();
5
+ info(message: string): void;
6
+ warning(message: string): void;
7
+ debug(message: string): void;
8
+ error(message: string): void;
9
+ }
10
+ //# sourceMappingURL=wdioLoggerAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wdioLoggerAdapter.d.ts","sourceRoot":"","sources":["../../../lib/adapter/wdioLoggerAdapter/wdioLoggerAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGrD,qBAAa,UAAW,YAAW,UAAU;IAC3C,OAAO,CAAC,OAAO,CAAS;;IAMxB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAG3B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAG9B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAG5B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAG7B"}
@@ -0,0 +1,20 @@
1
+ import logger from '@wdio/logger';
2
+ export class WdioLogger {
3
+ _logger;
4
+ constructor() {
5
+ this._logger = logger('wopee');
6
+ }
7
+ info(message) {
8
+ this._logger.info(message);
9
+ }
10
+ warning(message) {
11
+ this._logger.warn(message);
12
+ }
13
+ debug(message) {
14
+ this._logger.debug(message);
15
+ }
16
+ error(message) {
17
+ this._logger.error(message);
18
+ }
19
+ }
20
+ //# sourceMappingURL=wdioLoggerAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wdioLoggerAdapter.js","sourceRoot":"","sources":["../../../lib/adapter/wdioLoggerAdapter/wdioLoggerAdapter.ts"],"names":[],"mappings":"AACA,OAAO,MAAkB,MAAM,cAAc,CAAC;AAE9C,MAAM,OAAO,UAAU;IACb,OAAO,CAAS;IAExB;QACE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,CAAC,OAAe;QACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IACD,KAAK,CAAC,OAAe;QACnB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IACD,KAAK,CAAC,OAAe;QACnB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;CACF","sourcesContent":["import { LoggerPort } from '@autonomous-testing/sdk';\nimport logger, { Logger } from '@wdio/logger';\n\nexport class WdioLogger implements LoggerPort {\n private _logger: Logger;\n\n constructor() {\n this._logger = logger('wopee');\n }\n\n info(message: string): void {\n this._logger.info(message);\n }\n warning(message: string): void {\n this._logger.warn(message);\n }\n debug(message: string): void {\n this._logger.debug(message);\n }\n error(message: string): void {\n this._logger.error(message);\n }\n}\n"]}
@@ -0,0 +1,7 @@
1
+ export interface ElementPosition {
2
+ height: number;
3
+ width: number;
4
+ x: number;
5
+ y: number;
6
+ }
7
+ //# sourceMappingURL=elementPosition.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elementPosition.interface.d.ts","sourceRoot":"","sources":["../../../../lib/core/domain/valueObjects/elementPosition.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=elementPosition.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elementPosition.interface.js","sourceRoot":"","sources":["../../../../lib/core/domain/valueObjects/elementPosition.interface.ts"],"names":[],"mappings":"","sourcesContent":["export interface ElementPosition {\n height: number;\n width: number;\n x: number;\n y: number;\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import { ElementPosition } from './elementPosition.interface.js';
2
+ import { TrackElementOptions, TrackFullPageMobileNativeOptions, TrackFullPageOptions, TrackImageOptions, TrackOptions, TrackViewportOptions } from './track.interface.js';
3
+ export { ElementPosition, TrackElementOptions, TrackFullPageMobileNativeOptions, TrackFullPageOptions, TrackImageOptions, TrackOptions, TrackViewportOptions, };
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/core/domain/valueObjects/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EACL,mBAAmB,EACnB,gCAAgC,EAChC,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,gCAAgC,EAChC,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,GACrB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/core/domain/valueObjects/index.ts"],"names":[],"mappings":"","sourcesContent":["import { ElementPosition } from './elementPosition.interface.js';\nimport {\n TrackElementOptions,\n TrackFullPageMobileNativeOptions,\n TrackFullPageOptions,\n TrackImageOptions,\n TrackOptions,\n TrackViewportOptions,\n} from './track.interface.js';\n\nexport {\n ElementPosition,\n TrackElementOptions,\n TrackFullPageMobileNativeOptions,\n TrackFullPageOptions,\n TrackImageOptions,\n TrackOptions,\n TrackViewportOptions,\n};\n"]}