ff-automationv2 2.1.3 → 2.2.2

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 (779) hide show
  1. package/README.md +28 -28
  2. package/dist/ai/llmcalls/decodeApiKey.d.ts +1 -0
  3. package/dist/ai/llmcalls/decodeApiKey.js +11 -0
  4. package/dist/ai/llmcalls/llmAction.d.ts +16 -0
  5. package/dist/ai/llmcalls/llmAction.js +145 -0
  6. package/dist/ai/llmcalls/parseLlmOputput.d.ts +15 -0
  7. package/{src/ai/llmcalls/parseLlmOputput.ts → dist/ai/llmcalls/parseLlmOputput.js} +17 -35
  8. package/dist/ai/llmprompts/llmPromptTypes/systemPromptTypes.d.ts +37 -0
  9. package/dist/ai/llmprompts/llmPromptTypes/systemPromptTypes.js +1 -0
  10. package/dist/ai/llmprompts/promptRegistry.d.ts +2 -0
  11. package/dist/ai/llmprompts/promptRegistry.js +40 -0
  12. package/dist/ai/llmprompts/systemPrompts/actionExtractorPrompt.d.ts +2 -0
  13. package/{src/ai/llmprompts/systemPrompts/actionExtractorPrompt.ts → dist/ai/llmprompts/systemPrompts/actionExtractorPrompt.js} +39 -49
  14. package/dist/ai/llmprompts/systemPrompts/combinedActionExtractorPrompt.d.ts +2 -0
  15. package/dist/ai/llmprompts/systemPrompts/combinedActionExtractorPrompt.js +32 -0
  16. package/dist/ai/llmprompts/systemPrompts/combinedActionExtractorPromptMob.d.ts +2 -0
  17. package/dist/ai/llmprompts/systemPrompts/combinedActionExtractorPromptMob.js +44 -0
  18. package/dist/ai/llmprompts/systemPrompts/errorDescriptionPrompt.d.ts +1 -0
  19. package/dist/ai/llmprompts/systemPrompts/errorDescriptionPrompt.js +51 -0
  20. package/dist/ai/llmprompts/systemPrompts/fireflinkElementIndexExtactors.d.ts +2 -0
  21. package/dist/ai/llmprompts/systemPrompts/fireflinkElementIndexExtactors.js +232 -0
  22. package/dist/ai/llmprompts/systemPrompts/fireflinkElementIndexExtractor_Mob.d.ts +2 -0
  23. package/dist/ai/llmprompts/systemPrompts/fireflinkElementIndexExtractor_Mob.js +43 -0
  24. package/dist/ai/llmprompts/systemPrompts/getActionExtractorPrompt.d.ts +2 -0
  25. package/dist/ai/llmprompts/systemPrompts/getActionExtractorPrompt.js +53 -0
  26. package/dist/ai/llmprompts/systemPrompts/getActionExtractorPromptMob.d.ts +2 -0
  27. package/dist/ai/llmprompts/systemPrompts/getActionExtractorPromptMob.js +45 -0
  28. package/dist/ai/llmprompts/systemPrompts/mobileKeywordExtractor.d.ts +2 -0
  29. package/dist/ai/llmprompts/systemPrompts/mobileKeywordExtractor.js +32 -0
  30. package/dist/ai/llmprompts/systemPrompts/userStoryToListPrompt.d.ts +2 -0
  31. package/dist/ai/llmprompts/systemPrompts/userStoryToListPrompt.js +56 -0
  32. package/dist/ai/llmprompts/systemPrompts/verifyActionExtractorPrompt.d.ts +2 -0
  33. package/dist/ai/llmprompts/systemPrompts/verifyActionExtractorPrompt.js +71 -0
  34. package/dist/ai/llmprompts/systemPrompts/verifyActionExtractorPromptMob.d.ts +2 -0
  35. package/dist/ai/llmprompts/systemPrompts/verifyActionExtractorPromptMob.js +46 -0
  36. package/dist/ai/llmprompts/systemPrompts/visionPrompt.d.ts +2 -0
  37. package/dist/ai/llmprompts/systemPrompts/visionPrompt.js +16 -0
  38. package/dist/ai/llmprompts/systemPrompts/visionPromptMobile.d.ts +2 -0
  39. package/dist/ai/llmprompts/systemPrompts/visionPromptMobile.js +19 -0
  40. package/dist/ai/llmprompts/systemPrompts/waitActionExtractorPrompt.d.ts +2 -0
  41. package/dist/ai/llmprompts/systemPrompts/waitActionExtractorPrompt.js +56 -0
  42. package/dist/ai/llmprompts/systemPrompts/waitActionExtractorPromptMob.d.ts +2 -0
  43. package/dist/ai/llmprompts/systemPrompts/waitActionExtractorPromptMob.js +36 -0
  44. package/dist/ai/llmprompts/userPrompts/userPrompt.d.ts +5 -0
  45. package/dist/ai/llmprompts/userPrompts/userPrompt.js +34 -0
  46. package/dist/automation/actions/executor.d.ts +263 -0
  47. package/dist/automation/actions/executor.js +4327 -0
  48. package/dist/automation/actions/interaction/alert/clickCancelOnAlertPopup.d.ts +2 -0
  49. package/dist/automation/actions/interaction/alert/clickCancelOnAlertPopup.js +14 -0
  50. package/dist/automation/actions/interaction/alert/clickOkOnAlertPopup.d.ts +2 -0
  51. package/dist/automation/actions/interaction/alert/clickOkOnAlertPopup.js +14 -0
  52. package/dist/automation/actions/interaction/alert/enterDataToAlert.d.ts +2 -0
  53. package/dist/automation/actions/interaction/alert/enterDataToAlert.js +14 -0
  54. package/dist/automation/actions/interaction/alert/getTextPresentOnAlertPopup.d.ts +2 -0
  55. package/dist/automation/actions/interaction/alert/getTextPresentOnAlertPopup.js +13 -0
  56. package/dist/automation/actions/interaction/alert/verifyAlertPopUpMessageContainsString.d.ts +2 -0
  57. package/dist/automation/actions/interaction/alert/verifyAlertPopUpMessageContainsString.js +20 -0
  58. package/dist/automation/actions/interaction/alert/verifyAlertPopupIsDisplayed.d.ts +2 -0
  59. package/dist/automation/actions/interaction/alert/verifyAlertPopupIsDisplayed.js +13 -0
  60. package/dist/automation/actions/interaction/alert/verifyTextPresentOnAlertPopup.d.ts +2 -0
  61. package/dist/automation/actions/interaction/alert/verifyTextPresentOnAlertPopup.js +20 -0
  62. package/dist/automation/actions/interaction/alert/waitTillAlertIsPresent.d.ts +2 -0
  63. package/dist/automation/actions/interaction/alert/waitTillAlertIsPresent.js +15 -0
  64. package/dist/automation/actions/interaction/clear/clear.d.ts +2 -0
  65. package/dist/automation/actions/interaction/clear/clear.js +48 -0
  66. package/dist/automation/actions/interaction/clear/clearAndEnter.d.ts +2 -0
  67. package/dist/automation/actions/interaction/clear/clearAndEnter.js +52 -0
  68. package/dist/automation/actions/interaction/click/click.d.ts +2 -0
  69. package/dist/automation/actions/interaction/click/click.js +49 -0
  70. package/dist/automation/actions/interaction/click/clickNtimes.d.ts +2 -0
  71. package/dist/automation/actions/interaction/click/clickNtimes.js +55 -0
  72. package/dist/automation/actions/interaction/click/clickUsingJs.d.ts +2 -0
  73. package/dist/automation/actions/interaction/click/clickUsingJs.js +25 -0
  74. package/dist/automation/actions/interaction/click/doubleClick.d.ts +2 -0
  75. package/dist/automation/actions/interaction/click/doubleClick.js +55 -0
  76. package/dist/automation/actions/interaction/click/rightClick.d.ts +2 -0
  77. package/dist/automation/actions/interaction/click/rightClick.js +24 -0
  78. package/dist/automation/actions/interaction/click/waitAndClick.d.ts +2 -0
  79. package/dist/automation/actions/interaction/click/waitAndClick.js +69 -0
  80. package/dist/automation/actions/interaction/dragAndDrop/dragAndDrop.d.ts +2 -0
  81. package/dist/automation/actions/interaction/dragAndDrop/dragAndDrop.js +33 -0
  82. package/dist/automation/actions/interaction/enterActions/enterInput.d.ts +2 -0
  83. package/dist/automation/actions/interaction/enterActions/enterInput.js +58 -0
  84. package/dist/automation/actions/interaction/enterActions/enterInputAndPress.d.ts +2 -0
  85. package/dist/automation/actions/interaction/enterActions/enterInputAndPress.js +99 -0
  86. package/dist/automation/actions/interaction/enterActions/enterUrl.d.ts +2 -0
  87. package/dist/automation/actions/interaction/enterActions/enterUrl.js +40 -0
  88. package/dist/automation/actions/interaction/enterActions/enterusingJs.d.ts +2 -0
  89. package/dist/automation/actions/interaction/enterActions/enterusingJs.js +28 -0
  90. package/dist/automation/actions/interaction/enterActions/waitAndEnter.d.ts +2 -0
  91. package/dist/automation/actions/interaction/enterActions/waitAndEnter.js +71 -0
  92. package/dist/automation/actions/interaction/find/findElements.d.ts +2 -0
  93. package/dist/automation/actions/interaction/find/findElements.js +46 -0
  94. package/dist/automation/actions/interaction/get/browserWindowGetPosition.d.ts +2 -0
  95. package/dist/automation/actions/interaction/get/browserWindowGetPosition.js +13 -0
  96. package/dist/automation/actions/interaction/get/getAllBrokenImages.d.ts +2 -0
  97. package/dist/automation/actions/interaction/get/getAllBrokenImages.js +13 -0
  98. package/dist/automation/actions/interaction/get/getAllBrokenLinkCount.d.ts +2 -0
  99. package/dist/automation/actions/interaction/get/getAllBrokenLinkCount.js +13 -0
  100. package/dist/automation/actions/interaction/get/getAllBrokenLinks.d.ts +2 -0
  101. package/dist/automation/actions/interaction/get/getAllBrokenLinks.js +13 -0
  102. package/dist/automation/actions/interaction/get/getAllConsoleErrors.d.ts +2 -0
  103. package/dist/automation/actions/interaction/get/getAllConsoleErrors.js +13 -0
  104. package/dist/automation/actions/interaction/get/getAllConsoleInformation.d.ts +2 -0
  105. package/dist/automation/actions/interaction/get/getAllConsoleInformation.js +13 -0
  106. package/dist/automation/actions/interaction/get/getAllConsoleLogs.d.ts +2 -0
  107. package/dist/automation/actions/interaction/get/getAllConsoleLogs.js +13 -0
  108. package/dist/automation/actions/interaction/get/getAllConsoleWarnings.d.ts +2 -0
  109. package/dist/automation/actions/interaction/get/getAllConsoleWarnings.js +13 -0
  110. package/dist/automation/actions/interaction/get/getAllCookieNames.d.ts +2 -0
  111. package/dist/automation/actions/interaction/get/getAllCookieNames.js +13 -0
  112. package/dist/automation/actions/interaction/get/getAllCookieValues.d.ts +2 -0
  113. package/dist/automation/actions/interaction/get/getAllCookieValues.js +13 -0
  114. package/dist/automation/actions/interaction/get/getAllSelectedOptions.d.ts +2 -0
  115. package/dist/automation/actions/interaction/get/getAllSelectedOptions.js +29 -0
  116. package/dist/automation/actions/interaction/get/getAllTheOptionsFromListBoxAsText.d.ts +2 -0
  117. package/dist/automation/actions/interaction/get/getAllTheOptionsFromListBoxAsText.js +28 -0
  118. package/dist/automation/actions/interaction/get/getAllTheOptionsFromListBoxAsTextInSortedOrder.d.ts +2 -0
  119. package/dist/automation/actions/interaction/get/getAllTheOptionsFromListBoxAsTextInSortedOrder.js +34 -0
  120. package/dist/automation/actions/interaction/get/getAllTheSelectedOptionsFromListBoxAsText.d.ts +2 -0
  121. package/dist/automation/actions/interaction/get/getAllTheSelectedOptionsFromListBoxAsText.js +30 -0
  122. package/dist/automation/actions/interaction/get/getAllWindowHandles.d.ts +2 -0
  123. package/dist/automation/actions/interaction/get/getAllWindowHandles.js +13 -0
  124. package/dist/automation/actions/interaction/get/getAttribute.d.ts +2 -0
  125. package/dist/automation/actions/interaction/get/getAttribute.js +61 -0
  126. package/dist/automation/actions/interaction/get/getAudioCurrentPlaybackRate.d.ts +2 -0
  127. package/dist/automation/actions/interaction/get/getAudioCurrentPlaybackRate.js +24 -0
  128. package/dist/automation/actions/interaction/get/getAudioCurrentSeekTime.d.ts +2 -0
  129. package/dist/automation/actions/interaction/get/getAudioCurrentSeekTime.js +24 -0
  130. package/dist/automation/actions/interaction/get/getAudioCurrentVolume.d.ts +2 -0
  131. package/dist/automation/actions/interaction/get/getAudioCurrentVolume.js +24 -0
  132. package/dist/automation/actions/interaction/get/getAudioDecodedByte.d.ts +2 -0
  133. package/dist/automation/actions/interaction/get/getAudioDecodedByte.js +29 -0
  134. package/dist/automation/actions/interaction/get/getAudioDefaultPlaybackRate.d.ts +2 -0
  135. package/dist/automation/actions/interaction/get/getAudioDefaultPlaybackRate.js +24 -0
  136. package/dist/automation/actions/interaction/get/getAudioDimension.d.ts +2 -0
  137. package/dist/automation/actions/interaction/get/getAudioDimension.js +30 -0
  138. package/dist/automation/actions/interaction/get/getAudioHeight.d.ts +2 -0
  139. package/dist/automation/actions/interaction/get/getAudioHeight.js +26 -0
  140. package/dist/automation/actions/interaction/get/getAudioMediaLength.d.ts +2 -0
  141. package/dist/automation/actions/interaction/get/getAudioMediaLength.js +24 -0
  142. package/dist/automation/actions/interaction/get/getAudioMediaSource.d.ts +2 -0
  143. package/dist/automation/actions/interaction/get/getAudioMediaSource.js +31 -0
  144. package/dist/automation/actions/interaction/get/getAudioWidth.d.ts +2 -0
  145. package/dist/automation/actions/interaction/get/getAudioWidth.js +26 -0
  146. package/dist/automation/actions/interaction/get/getBestPracticesScore.d.ts +2 -0
  147. package/dist/automation/actions/interaction/get/getBestPracticesScore.js +15 -0
  148. package/dist/automation/actions/interaction/get/getBrowserCount.d.ts +2 -0
  149. package/dist/automation/actions/interaction/get/getBrowserCount.js +13 -0
  150. package/dist/automation/actions/interaction/get/getBrowserVersion.d.ts +2 -0
  151. package/dist/automation/actions/interaction/get/getBrowserVersion.js +13 -0
  152. package/dist/automation/actions/interaction/get/getCapabilityNames.d.ts +2 -0
  153. package/dist/automation/actions/interaction/get/getCapabilityNames.js +13 -0
  154. package/dist/automation/actions/interaction/get/getClipBoardText.d.ts +2 -0
  155. package/dist/automation/actions/interaction/get/getClipBoardText.js +13 -0
  156. package/dist/automation/actions/interaction/get/getCollectiveApiResponseTime.d.ts +2 -0
  157. package/dist/automation/actions/interaction/get/getCollectiveApiResponseTime.js +22 -0
  158. package/dist/automation/actions/interaction/get/getCollectiveApiStatusCode.d.ts +2 -0
  159. package/dist/automation/actions/interaction/get/getCollectiveApiStatusCode.js +22 -0
  160. package/dist/automation/actions/interaction/get/getCssValue.d.ts +2 -0
  161. package/dist/automation/actions/interaction/get/getCssValue.js +25 -0
  162. package/dist/automation/actions/interaction/get/getCurrentDayOfTheWeek.d.ts +2 -0
  163. package/dist/automation/actions/interaction/get/getCurrentDayOfTheWeek.js +13 -0
  164. package/dist/automation/actions/interaction/get/getCurrentSecondsFromCurrentSystemTime.d.ts +2 -0
  165. package/dist/automation/actions/interaction/get/getCurrentSecondsFromCurrentSystemTime.js +13 -0
  166. package/dist/automation/actions/interaction/get/getCurrentSystemDate.d.ts +2 -0
  167. package/dist/automation/actions/interaction/get/getCurrentSystemDate.js +13 -0
  168. package/dist/automation/actions/interaction/get/getCurrentSystemDay.d.ts +2 -0
  169. package/dist/automation/actions/interaction/get/getCurrentSystemDay.js +13 -0
  170. package/dist/automation/actions/interaction/get/getCurrentSystemMonth.d.ts +2 -0
  171. package/dist/automation/actions/interaction/get/getCurrentSystemMonth.js +13 -0
  172. package/dist/automation/actions/interaction/get/getCurrentSystemTime.d.ts +2 -0
  173. package/dist/automation/actions/interaction/get/getCurrentSystemTime.js +13 -0
  174. package/dist/automation/actions/interaction/get/getCurrentSystemYear.d.ts +2 -0
  175. package/dist/automation/actions/interaction/get/getCurrentSystemYear.js +13 -0
  176. package/dist/automation/actions/interaction/get/getCurrentWindowHandle.d.ts +2 -0
  177. package/dist/automation/actions/interaction/get/getCurrentWindowHandle.js +31 -0
  178. package/dist/automation/actions/interaction/get/getDataFromApiRequestHeaderForJsonPath.d.ts +2 -0
  179. package/dist/automation/actions/interaction/get/getDataFromApiRequestHeaderForJsonPath.js +16 -0
  180. package/dist/automation/actions/interaction/get/getDataFromApiResponseForJsonPath.d.ts +2 -0
  181. package/dist/automation/actions/interaction/get/getDataFromApiResponseForJsonPath.js +16 -0
  182. package/dist/automation/actions/interaction/get/getDateWithGivenFormat.d.ts +2 -0
  183. package/dist/automation/actions/interaction/get/getDateWithGivenFormat.js +28 -0
  184. package/dist/automation/actions/interaction/get/getDriverInstance.d.ts +2 -0
  185. package/dist/automation/actions/interaction/get/getDriverInstance.js +31 -0
  186. package/dist/automation/actions/interaction/get/getFirstContentfulPaint.d.ts +2 -0
  187. package/dist/automation/actions/interaction/get/getFirstContentfulPaint.js +13 -0
  188. package/dist/automation/actions/interaction/get/getFirstSelectedOption.d.ts +2 -0
  189. package/dist/automation/actions/interaction/get/getFirstSelectedOption.js +30 -0
  190. package/dist/automation/actions/interaction/get/getFullPaintTime.d.ts +2 -0
  191. package/dist/automation/actions/interaction/get/getFullPaintTime.js +13 -0
  192. package/dist/automation/actions/interaction/get/getHTMLCodeOfPage.d.ts +2 -0
  193. package/dist/automation/actions/interaction/get/getHTMLCodeOfPage.js +13 -0
  194. package/dist/automation/actions/interaction/get/getHeightOfBrowserWindow.d.ts +2 -0
  195. package/dist/automation/actions/interaction/get/getHeightOfBrowserWindow.js +13 -0
  196. package/dist/automation/actions/interaction/get/getHeightOfWebElement.d.ts +2 -0
  197. package/dist/automation/actions/interaction/get/getHeightOfWebElement.js +24 -0
  198. package/dist/automation/actions/interaction/get/getHourFromCurrentSystemTime.d.ts +2 -0
  199. package/dist/automation/actions/interaction/get/getHourFromCurrentSystemTime.js +13 -0
  200. package/dist/automation/actions/interaction/get/getImplicitTimeOut.d.ts +2 -0
  201. package/dist/automation/actions/interaction/get/getImplicitTimeOut.js +31 -0
  202. package/dist/automation/actions/interaction/get/getLargestContentfulPaint.d.ts +2 -0
  203. package/dist/automation/actions/interaction/get/getLargestContentfulPaint.js +13 -0
  204. package/dist/automation/actions/interaction/get/getListBoxSize.d.ts +2 -0
  205. package/dist/automation/actions/interaction/get/getListBoxSize.js +29 -0
  206. package/dist/automation/actions/interaction/get/getListOfElementsFromLocatorTypeLocatorValue.d.ts +2 -0
  207. package/dist/automation/actions/interaction/get/getListOfElementsFromLocatorTypeLocatorValue.js +48 -0
  208. package/dist/automation/actions/interaction/get/getLocation.d.ts +2 -0
  209. package/dist/automation/actions/interaction/get/getLocation.js +53 -0
  210. package/dist/automation/actions/interaction/get/getMinuteFromCurrentSystemTime.d.ts +2 -0
  211. package/dist/automation/actions/interaction/get/getMinuteFromCurrentSystemTime.js +13 -0
  212. package/dist/automation/actions/interaction/get/getNetworkRouteTime.d.ts +2 -0
  213. package/dist/automation/actions/interaction/get/getNetworkRouteTime.js +13 -0
  214. package/dist/automation/actions/interaction/get/getNumberOfBrokenImages.d.ts +2 -0
  215. package/dist/automation/actions/interaction/get/getNumberOfBrokenImages.js +13 -0
  216. package/dist/automation/actions/interaction/get/getNumberOfLinksPresentInCurrentPage.d.ts +2 -0
  217. package/dist/automation/actions/interaction/get/getNumberOfLinksPresentInCurrentPage.js +13 -0
  218. package/dist/automation/actions/interaction/get/getNumberOfWorkingLinksFromCurrentPage.d.ts +2 -0
  219. package/dist/automation/actions/interaction/get/getNumberOfWorkingLinksFromCurrentPage.js +13 -0
  220. package/dist/automation/actions/interaction/get/getOptions.d.ts +2 -0
  221. package/dist/automation/actions/interaction/get/getOptions.js +23 -0
  222. package/dist/automation/actions/interaction/get/getPageTitle.d.ts +2 -0
  223. package/dist/automation/actions/interaction/get/getPageTitle.js +13 -0
  224. package/dist/automation/actions/interaction/get/getPerformanceMetrics.d.ts +2 -0
  225. package/dist/automation/actions/interaction/get/getPerformanceMetrics.js +13 -0
  226. package/dist/automation/actions/interaction/get/getPwaScore.d.ts +2 -0
  227. package/dist/automation/actions/interaction/get/getPwaScore.js +15 -0
  228. package/dist/automation/actions/interaction/get/getRect.d.ts +2 -0
  229. package/dist/automation/actions/interaction/get/getRect.js +68 -0
  230. package/dist/automation/actions/interaction/get/getScreenshot.d.ts +2 -0
  231. package/dist/automation/actions/interaction/get/getScreenshot.js +35 -0
  232. package/dist/automation/actions/interaction/get/getScreenshotAs.d.ts +2 -0
  233. package/dist/automation/actions/interaction/get/getScreenshotAs.js +53 -0
  234. package/dist/automation/actions/interaction/get/getSeoScore.d.ts +2 -0
  235. package/dist/automation/actions/interaction/get/getSeoScore.js +15 -0
  236. package/dist/automation/actions/interaction/get/getSingleApiRequestPayload.d.ts +2 -0
  237. package/dist/automation/actions/interaction/get/getSingleApiRequestPayload.js +15 -0
  238. package/dist/automation/actions/interaction/get/getSingleApiResponse.d.ts +2 -0
  239. package/dist/automation/actions/interaction/get/getSingleApiResponse.js +23 -0
  240. package/dist/automation/actions/interaction/get/getSingleApiResponseTime.d.ts +2 -0
  241. package/dist/automation/actions/interaction/get/getSingleApiResponseTime.js +22 -0
  242. package/dist/automation/actions/interaction/get/getSingleApiStatusCode.d.ts +2 -0
  243. package/dist/automation/actions/interaction/get/getSingleApiStatusCode.js +25 -0
  244. package/dist/automation/actions/interaction/get/getSize.d.ts +2 -0
  245. package/dist/automation/actions/interaction/get/getSize.js +52 -0
  246. package/dist/automation/actions/interaction/get/getSizeOfBrowserWindow.d.ts +2 -0
  247. package/dist/automation/actions/interaction/get/getSizeOfBrowserWindow.js +13 -0
  248. package/dist/automation/actions/interaction/get/getStringDataFromLocalFile.d.ts +2 -0
  249. package/dist/automation/actions/interaction/get/getStringDataFromLocalFile.js +19 -0
  250. package/dist/automation/actions/interaction/get/getSystemProperty.d.ts +2 -0
  251. package/dist/automation/actions/interaction/get/getSystemProperty.js +40 -0
  252. package/dist/automation/actions/interaction/get/getTagName.d.ts +2 -0
  253. package/dist/automation/actions/interaction/get/getTagName.js +54 -0
  254. package/dist/automation/actions/interaction/get/getText.d.ts +2 -0
  255. package/dist/automation/actions/interaction/get/getText.js +53 -0
  256. package/dist/automation/actions/interaction/get/getTheFirstSelectedOptionFromListBoxAsText.d.ts +2 -0
  257. package/dist/automation/actions/interaction/get/getTheFirstSelectedOptionFromListBoxAsText.js +30 -0
  258. package/dist/automation/actions/interaction/get/getTotalNumberOfCookies.d.ts +2 -0
  259. package/dist/automation/actions/interaction/get/getTotalNumberOfCookies.js +13 -0
  260. package/dist/automation/actions/interaction/get/getTunnelIdentifier.d.ts +2 -0
  261. package/dist/automation/actions/interaction/get/getTunnelIdentifier.js +20 -0
  262. package/dist/automation/actions/interaction/get/getURLPresentInAddressBar.d.ts +2 -0
  263. package/dist/automation/actions/interaction/get/getURLPresentInAddressBar.js +13 -0
  264. package/dist/automation/actions/interaction/get/getUserHomeDirectory.d.ts +2 -0
  265. package/dist/automation/actions/interaction/get/getUserHomeDirectory.js +13 -0
  266. package/dist/automation/actions/interaction/get/getValueByCookieName.d.ts +2 -0
  267. package/dist/automation/actions/interaction/get/getValueByCookieName.js +21 -0
  268. package/dist/automation/actions/interaction/get/getValueFromLocalStorage.d.ts +2 -0
  269. package/dist/automation/actions/interaction/get/getValueFromLocalStorage.js +20 -0
  270. package/dist/automation/actions/interaction/get/getValueOfSystemVariable.d.ts +2 -0
  271. package/dist/automation/actions/interaction/get/getValueOfSystemVariable.js +15 -0
  272. package/dist/automation/actions/interaction/get/getVideoCurrentPlaybackRate.d.ts +2 -0
  273. package/dist/automation/actions/interaction/get/getVideoCurrentPlaybackRate.js +24 -0
  274. package/dist/automation/actions/interaction/get/getVideoCurrentSeekTime.d.ts +2 -0
  275. package/dist/automation/actions/interaction/get/getVideoCurrentSeekTime.js +24 -0
  276. package/dist/automation/actions/interaction/get/getVideoCurrentVolume.d.ts +2 -0
  277. package/dist/automation/actions/interaction/get/getVideoCurrentVolume.js +24 -0
  278. package/dist/automation/actions/interaction/get/getVideoDecodedByte.d.ts +2 -0
  279. package/dist/automation/actions/interaction/get/getVideoDecodedByte.js +34 -0
  280. package/dist/automation/actions/interaction/get/getVideoDefaultPlaybackRate.d.ts +2 -0
  281. package/dist/automation/actions/interaction/get/getVideoDefaultPlaybackRate.js +24 -0
  282. package/dist/automation/actions/interaction/get/getVideoDimension.d.ts +2 -0
  283. package/dist/automation/actions/interaction/get/getVideoDimension.js +27 -0
  284. package/dist/automation/actions/interaction/get/getVideoHeight.d.ts +2 -0
  285. package/dist/automation/actions/interaction/get/getVideoHeight.js +24 -0
  286. package/dist/automation/actions/interaction/get/getVideoMediaLength.d.ts +2 -0
  287. package/dist/automation/actions/interaction/get/getVideoMediaLength.js +24 -0
  288. package/dist/automation/actions/interaction/get/getVideoMediaSource.d.ts +2 -0
  289. package/dist/automation/actions/interaction/get/getVideoMediaSource.js +32 -0
  290. package/dist/automation/actions/interaction/get/getVideoWidth.d.ts +2 -0
  291. package/dist/automation/actions/interaction/get/getVideoWidth.js +24 -0
  292. package/dist/automation/actions/interaction/get/getWidthOfBrowser.d.ts +2 -0
  293. package/dist/automation/actions/interaction/get/getWidthOfBrowser.js +13 -0
  294. package/dist/automation/actions/interaction/get/getWidthOfWebElement.d.ts +2 -0
  295. package/dist/automation/actions/interaction/get/getWidthOfWebElement.js +24 -0
  296. package/dist/automation/actions/interaction/get/getWorkingLinksFromCurrentPage.d.ts +2 -0
  297. package/dist/automation/actions/interaction/get/getWorkingLinksFromCurrentPage.js +13 -0
  298. package/dist/automation/actions/interaction/get/getWrappedElement.d.ts +2 -0
  299. package/dist/automation/actions/interaction/get/getWrappedElement.js +24 -0
  300. package/dist/automation/actions/interaction/get/getWrappedOptionFromListBoxAsText.d.ts +2 -0
  301. package/dist/automation/actions/interaction/get/getWrappedOptionFromListBoxAsText.js +33 -0
  302. package/dist/automation/actions/interaction/get/getXLocationOfBrowserWindow.d.ts +2 -0
  303. package/dist/automation/actions/interaction/get/getXLocationOfBrowserWindow.js +13 -0
  304. package/dist/automation/actions/interaction/get/getXLocationOfWebElement.d.ts +2 -0
  305. package/dist/automation/actions/interaction/get/getXLocationOfWebElement.js +55 -0
  306. package/dist/automation/actions/interaction/get/getYLocationOfBrowserWindow.d.ts +2 -0
  307. package/dist/automation/actions/interaction/get/getYLocationOfBrowserWindow.js +13 -0
  308. package/dist/automation/actions/interaction/get/getYLocationOfWebElement.d.ts +2 -0
  309. package/dist/automation/actions/interaction/get/getYLocationOfWebElement.js +54 -0
  310. package/dist/automation/actions/interaction/iframe/switchToDefaultContent.d.ts +2 -0
  311. package/dist/automation/actions/interaction/iframe/switchToDefaultContent.js +14 -0
  312. package/dist/automation/actions/interaction/maximize/maximize.d.ts +2 -0
  313. package/dist/automation/actions/interaction/maximize/maximize.js +15 -0
  314. package/dist/automation/actions/interaction/maximize/minimize.d.ts +2 -0
  315. package/dist/automation/actions/interaction/maximize/minimize.js +15 -0
  316. package/dist/automation/actions/interaction/navigation/goBack.d.ts +2 -0
  317. package/dist/automation/actions/interaction/navigation/goBack.js +14 -0
  318. package/dist/automation/actions/interaction/navigation/navigate.d.ts +2 -0
  319. package/dist/automation/actions/interaction/navigation/navigate.js +14 -0
  320. package/dist/automation/actions/interaction/navigation/refresh.d.ts +2 -0
  321. package/dist/automation/actions/interaction/navigation/refresh.js +14 -0
  322. package/dist/automation/actions/interaction/press/mobPressBackKey.d.ts +2 -0
  323. package/dist/automation/actions/interaction/press/mobPressBackKey.js +16 -0
  324. package/dist/automation/actions/interaction/press/pressAnyKey.d.ts +2 -0
  325. package/dist/automation/actions/interaction/press/pressAnyKey.js +69 -0
  326. package/dist/automation/actions/interaction/press/pressAnyKeyNTimes.d.ts +2 -0
  327. package/dist/automation/actions/interaction/press/pressAnyKeyNTimes.js +77 -0
  328. package/dist/automation/actions/interaction/press/pressEnterKey.d.ts +2 -0
  329. package/dist/automation/actions/interaction/press/pressEnterKey.js +37 -0
  330. package/dist/automation/actions/interaction/scroll/scrollHorizontallyTillElementIsVisible.d.ts +2 -0
  331. package/dist/automation/actions/interaction/scroll/scrollHorizontallyTillElementIsVisible.js +24 -0
  332. package/dist/automation/actions/interaction/scroll/scrollPageToSpecificLocation.d.ts +2 -0
  333. package/dist/automation/actions/interaction/scroll/scrollPageToSpecificLocation.js +33 -0
  334. package/dist/automation/actions/interaction/scroll/scrollToElement.d.ts +2 -0
  335. package/dist/automation/actions/interaction/scroll/scrollToElement.js +23 -0
  336. package/dist/automation/actions/interaction/scroll/scrollVerticallyTillElementIsVisible.d.ts +2 -0
  337. package/dist/automation/actions/interaction/scroll/scrollVerticallyTillElementIsVisible.js +24 -0
  338. package/dist/automation/actions/interaction/set/setClipBoardText.d.ts +2 -0
  339. package/dist/automation/actions/interaction/set/setClipBoardText.js +35 -0
  340. package/dist/automation/actions/interaction/shadowDom/shadowDomClick.d.ts +2 -0
  341. package/dist/automation/actions/interaction/shadowDom/shadowDomClick.js +16 -0
  342. package/dist/automation/actions/interaction/shadowDom/shadowDomEnter.d.ts +2 -0
  343. package/dist/automation/actions/interaction/shadowDom/shadowDomEnter.js +16 -0
  344. package/dist/automation/actions/interaction/shadowDom/shadowDomGetText.d.ts +2 -0
  345. package/dist/automation/actions/interaction/shadowDom/shadowDomGetText.js +16 -0
  346. package/dist/automation/actions/interaction/shadowDom/shadowDomUpload.d.ts +2 -0
  347. package/dist/automation/actions/interaction/shadowDom/shadowDomUpload.js +21 -0
  348. package/dist/automation/actions/interaction/shadowDom/shadowDomVerifyPartialText.d.ts +2 -0
  349. package/dist/automation/actions/interaction/shadowDom/shadowDomVerifyPartialText.js +16 -0
  350. package/dist/automation/actions/interaction/shadowDom/shadowDomVerifyText.d.ts +2 -0
  351. package/dist/automation/actions/interaction/shadowDom/shadowDomVerifyText.js +16 -0
  352. package/dist/automation/actions/interaction/switch/switchToNewTabBasedOnTitle.d.ts +2 -0
  353. package/dist/automation/actions/interaction/switch/switchToNewTabBasedOnTitle.js +14 -0
  354. package/dist/automation/actions/interaction/switch/switchToNewWindowBasedOnTitle.d.ts +2 -0
  355. package/dist/automation/actions/interaction/switch/switchToNewWindowBasedOnTitle.js +14 -0
  356. package/dist/automation/actions/interaction/switch/switchToParentWindow.d.ts +2 -0
  357. package/dist/automation/actions/interaction/switch/switchToParentWindow.js +15 -0
  358. package/dist/automation/actions/interaction/switch/switchToTabBasedOnUrl.d.ts +2 -0
  359. package/dist/automation/actions/interaction/switch/switchToTabBasedOnUrl.js +14 -0
  360. package/dist/automation/actions/interaction/switch/switchToWindowBasedOnURL.d.ts +2 -0
  361. package/dist/automation/actions/interaction/switch/switchToWindowBasedOnURL.js +14 -0
  362. package/dist/automation/actions/interaction/switch/switchToWindowIfTitleContainsString.d.ts +2 -0
  363. package/dist/automation/actions/interaction/switch/switchToWindowIfTitleContainsString.js +15 -0
  364. package/dist/automation/actions/interaction/switch/switchToWindowIfUrlContainsString.d.ts +2 -0
  365. package/dist/automation/actions/interaction/switch/switchToWindowIfUrlContainsString.js +15 -0
  366. package/dist/automation/actions/interaction/upload/uploadfile.d.ts +2 -0
  367. package/dist/automation/actions/interaction/upload/uploadfile.js +31 -0
  368. package/dist/automation/actions/interaction/verify/VerifyAccessibilityScore.d.ts +2 -0
  369. package/dist/automation/actions/interaction/verify/VerifyAccessibilityScore.js +55 -0
  370. package/dist/automation/actions/interaction/verify/VerifyAllBrokenImages.d.ts +2 -0
  371. package/dist/automation/actions/interaction/verify/VerifyAllBrokenImages.js +40 -0
  372. package/dist/automation/actions/interaction/verify/VerifyAllBrowserWindowsClosed.d.ts +2 -0
  373. package/dist/automation/actions/interaction/verify/VerifyAllBrowserWindowsClosed.js +20 -0
  374. package/dist/automation/actions/interaction/verify/VerifyAllOptionsAreDeSelected.d.ts +2 -0
  375. package/dist/automation/actions/interaction/verify/VerifyAllOptionsAreDeSelected.js +42 -0
  376. package/dist/automation/actions/interaction/verify/VerifyAllOptionsAreSelected.d.ts +2 -0
  377. package/dist/automation/actions/interaction/verify/VerifyAllOptionsAreSelected.js +48 -0
  378. package/dist/automation/actions/interaction/verify/VerifyAttributeValue.d.ts +2 -0
  379. package/dist/automation/actions/interaction/verify/VerifyAttributeValue.js +72 -0
  380. package/dist/automation/actions/interaction/verify/VerifyBestPracticesScore.d.ts +2 -0
  381. package/dist/automation/actions/interaction/verify/VerifyBestPracticesScore.js +55 -0
  382. package/dist/automation/actions/interaction/verify/VerifyBrowserHtmlCodeContainsString.d.ts +2 -0
  383. package/dist/automation/actions/interaction/verify/VerifyBrowserHtmlCodeContainsString.js +24 -0
  384. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowHeight.d.ts +2 -0
  385. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowHeight.js +25 -0
  386. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowTitleContainsString.d.ts +2 -0
  387. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowTitleContainsString.js +23 -0
  388. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowTitleIsString.d.ts +2 -0
  389. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowTitleIsString.js +22 -0
  390. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowUrlContainsExpectedUrl.d.ts +2 -0
  391. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowUrlContainsExpectedUrl.js +22 -0
  392. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowUrlIsString.d.ts +2 -0
  393. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowUrlIsString.js +22 -0
  394. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowWidth.d.ts +2 -0
  395. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowWidth.js +25 -0
  396. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowXLocation.d.ts +2 -0
  397. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowXLocation.js +25 -0
  398. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowYLocation.d.ts +2 -0
  399. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowYLocation.js +25 -0
  400. package/dist/automation/actions/interaction/verify/VerifyCheckBoxIsNotSelected.d.ts +2 -0
  401. package/dist/automation/actions/interaction/verify/VerifyCheckBoxIsNotSelected.js +34 -0
  402. package/dist/automation/actions/interaction/verify/VerifyCheckBoxIsSelected.d.ts +2 -0
  403. package/dist/automation/actions/interaction/verify/VerifyCheckBoxIsSelected.js +31 -0
  404. package/dist/automation/actions/interaction/verify/VerifyCssAttributeValue.d.ts +2 -0
  405. package/dist/automation/actions/interaction/verify/VerifyCssAttributeValue.js +41 -0
  406. package/dist/automation/actions/interaction/verify/VerifyElementIsClickable.d.ts +2 -0
  407. package/dist/automation/actions/interaction/verify/VerifyElementIsClickable.js +61 -0
  408. package/dist/automation/actions/interaction/verify/VerifyElementIsDisabled.d.ts +2 -0
  409. package/dist/automation/actions/interaction/verify/VerifyElementIsDisabled.js +65 -0
  410. package/dist/automation/actions/interaction/verify/VerifyElementIsDisplayed.d.ts +2 -0
  411. package/dist/automation/actions/interaction/verify/VerifyElementIsDisplayed.js +65 -0
  412. package/dist/automation/actions/interaction/verify/VerifyElementIsEnabled.d.ts +2 -0
  413. package/dist/automation/actions/interaction/verify/VerifyElementIsEnabled.js +65 -0
  414. package/dist/automation/actions/interaction/verify/VerifyElementIsNotDisplayed.d.ts +2 -0
  415. package/dist/automation/actions/interaction/verify/VerifyElementIsNotDisplayed.js +31 -0
  416. package/dist/automation/actions/interaction/verify/VerifyElementIsSelected.d.ts +2 -0
  417. package/dist/automation/actions/interaction/verify/VerifyElementIsSelected.js +65 -0
  418. package/dist/automation/actions/interaction/verify/VerifyElementNotContainsText.d.ts +2 -0
  419. package/dist/automation/actions/interaction/verify/VerifyElementNotContainsText.js +98 -0
  420. package/dist/automation/actions/interaction/verify/VerifyHeightOfWebElement.d.ts +2 -0
  421. package/dist/automation/actions/interaction/verify/VerifyHeightOfWebElement.js +71 -0
  422. package/dist/automation/actions/interaction/verify/VerifyHexCodeForGivenXYCoordinates.d.ts +2 -0
  423. package/dist/automation/actions/interaction/verify/VerifyHexCodeForGivenXYCoordinates.js +37 -0
  424. package/dist/automation/actions/interaction/verify/VerifyIfAllCookiesAreDeleted.d.ts +2 -0
  425. package/dist/automation/actions/interaction/verify/VerifyIfAllCookiesAreDeleted.js +20 -0
  426. package/dist/automation/actions/interaction/verify/VerifyIfAudioEnded.d.ts +2 -0
  427. package/dist/automation/actions/interaction/verify/VerifyIfAudioEnded.js +31 -0
  428. package/dist/automation/actions/interaction/verify/VerifyIfAudioIsMuted.d.ts +2 -0
  429. package/dist/automation/actions/interaction/verify/VerifyIfAudioIsMuted.js +31 -0
  430. package/dist/automation/actions/interaction/verify/VerifyIfAudioIsPaused.d.ts +2 -0
  431. package/dist/automation/actions/interaction/verify/VerifyIfAudioIsPaused.js +31 -0
  432. package/dist/automation/actions/interaction/verify/VerifyIfAudioIsPlaying.d.ts +2 -0
  433. package/dist/automation/actions/interaction/verify/VerifyIfAudioIsPlaying.js +38 -0
  434. package/dist/automation/actions/interaction/verify/VerifyIfBrowserWindowIsClosed.d.ts +2 -0
  435. package/dist/automation/actions/interaction/verify/VerifyIfBrowserWindowIsClosed.js +22 -0
  436. package/dist/automation/actions/interaction/verify/VerifyIfCookieNameIsAdded.d.ts +2 -0
  437. package/dist/automation/actions/interaction/verify/VerifyIfCookieNameIsAdded.js +25 -0
  438. package/dist/automation/actions/interaction/verify/VerifyIfCookieNameIsDeleted.d.ts +2 -0
  439. package/dist/automation/actions/interaction/verify/VerifyIfCookieNameIsDeleted.js +22 -0
  440. package/dist/automation/actions/interaction/verify/VerifyIfCookieObjectIsPresent.d.ts +2 -0
  441. package/dist/automation/actions/interaction/verify/VerifyIfCookieObjectIsPresent.js +39 -0
  442. package/dist/automation/actions/interaction/verify/VerifyIfGivenOptionIsDuplicate.d.ts +2 -0
  443. package/dist/automation/actions/interaction/verify/VerifyIfGivenOptionIsDuplicate.js +36 -0
  444. package/dist/automation/actions/interaction/verify/VerifyIfImageIsBroken.d.ts +2 -0
  445. package/dist/automation/actions/interaction/verify/VerifyIfImageIsBroken.js +31 -0
  446. package/dist/automation/actions/interaction/verify/VerifyIfLinkIsBroken.d.ts +2 -0
  447. package/dist/automation/actions/interaction/verify/VerifyIfLinkIsBroken.js +31 -0
  448. package/dist/automation/actions/interaction/verify/VerifyIfLinkIsWorking.d.ts +2 -0
  449. package/dist/automation/actions/interaction/verify/VerifyIfLinkIsWorking.js +28 -0
  450. package/dist/automation/actions/interaction/verify/VerifyIfLinksAreBroken.d.ts +2 -0
  451. package/dist/automation/actions/interaction/verify/VerifyIfLinksAreBroken.js +35 -0
  452. package/dist/automation/actions/interaction/verify/VerifyIfLinksAreWorking.d.ts +2 -0
  453. package/dist/automation/actions/interaction/verify/VerifyIfLinksAreWorking.js +33 -0
  454. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithIndexIsDeselectedInElement.d.ts +2 -0
  455. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithIndexIsDeselectedInElement.js +49 -0
  456. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithIndexIsSelectedInListBox.d.ts +2 -0
  457. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithIndexIsSelectedInListBox.js +54 -0
  458. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithTextIsDeselected.d.ts +2 -0
  459. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithTextIsDeselected.js +28 -0
  460. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithValueIsDeselected.d.ts +2 -0
  461. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithValueIsDeselected.js +40 -0
  462. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithValueIsSelected.d.ts +2 -0
  463. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithValueIsSelected.js +40 -0
  464. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithVisibleTextIsSelected.d.ts +2 -0
  465. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithVisibleTextIsSelected.js +28 -0
  466. package/dist/automation/actions/interaction/verify/VerifyIfSpecifiedOptionIsSelected.d.ts +2 -0
  467. package/dist/automation/actions/interaction/verify/VerifyIfSpecifiedOptionIsSelected.js +53 -0
  468. package/dist/automation/actions/interaction/verify/VerifyIfStatusCodeOfALinkIsStatusCode.d.ts +2 -0
  469. package/dist/automation/actions/interaction/verify/VerifyIfStatusCodeOfALinkIsStatusCode.js +28 -0
  470. package/dist/automation/actions/interaction/verify/VerifyIfStatusCodesOfLinks.d.ts +2 -0
  471. package/dist/automation/actions/interaction/verify/VerifyIfStatusCodesOfLinks.js +35 -0
  472. package/dist/automation/actions/interaction/verify/VerifyIfVideoEnded.d.ts +2 -0
  473. package/dist/automation/actions/interaction/verify/VerifyIfVideoEnded.js +31 -0
  474. package/dist/automation/actions/interaction/verify/VerifyIfVideoIsMuted.d.ts +2 -0
  475. package/dist/automation/actions/interaction/verify/VerifyIfVideoIsMuted.js +33 -0
  476. package/dist/automation/actions/interaction/verify/VerifyIfVideoIsPaused.d.ts +2 -0
  477. package/dist/automation/actions/interaction/verify/VerifyIfVideoIsPaused.js +31 -0
  478. package/dist/automation/actions/interaction/verify/VerifyIfVideoIsPlaying.d.ts +2 -0
  479. package/dist/automation/actions/interaction/verify/VerifyIfVideoIsPlaying.js +33 -0
  480. package/dist/automation/actions/interaction/verify/VerifyIfVideoPlayingInMute.d.ts +2 -0
  481. package/dist/automation/actions/interaction/verify/VerifyIfVideoPlayingInMute.js +38 -0
  482. package/dist/automation/actions/interaction/verify/VerifyIfVideoPlayingInUnmute.d.ts +2 -0
  483. package/dist/automation/actions/interaction/verify/VerifyIfVideoPlayingInUnmute.js +38 -0
  484. package/dist/automation/actions/interaction/verify/VerifyIfXAndYCoordinateOfElement.d.ts +2 -0
  485. package/dist/automation/actions/interaction/verify/VerifyIfXAndYCoordinateOfElement.js +74 -0
  486. package/dist/automation/actions/interaction/verify/VerifyLinkNavigatesToTitle.d.ts +2 -0
  487. package/dist/automation/actions/interaction/verify/VerifyLinkNavigatesToTitle.js +23 -0
  488. package/dist/automation/actions/interaction/verify/VerifyListBoxOptionsAreSorted.d.ts +2 -0
  489. package/dist/automation/actions/interaction/verify/VerifyListBoxOptionsAreSorted.js +46 -0
  490. package/dist/automation/actions/interaction/verify/VerifyNavigateURL.d.ts +2 -0
  491. package/dist/automation/actions/interaction/verify/VerifyNavigateURL.js +25 -0
  492. package/dist/automation/actions/interaction/verify/VerifyNumberOfElementsByTagName.d.ts +2 -0
  493. package/dist/automation/actions/interaction/verify/VerifyNumberOfElementsByTagName.js +28 -0
  494. package/dist/automation/actions/interaction/verify/VerifyNumberOfElementsByXpath.d.ts +2 -0
  495. package/dist/automation/actions/interaction/verify/VerifyNumberOfElementsByXpath.js +36 -0
  496. package/dist/automation/actions/interaction/verify/VerifyPartialAttributeValue.d.ts +2 -0
  497. package/dist/automation/actions/interaction/verify/VerifyPartialAttributeValue.js +73 -0
  498. package/dist/automation/actions/interaction/verify/VerifyPartialTitleOfCurrentPage.d.ts +2 -0
  499. package/dist/automation/actions/interaction/verify/VerifyPartialTitleOfCurrentPage.js +23 -0
  500. package/dist/automation/actions/interaction/verify/VerifyPerformanceScore.d.ts +2 -0
  501. package/dist/automation/actions/interaction/verify/VerifyPerformanceScore.js +56 -0
  502. package/dist/automation/actions/interaction/verify/VerifyPwaScore.d.ts +2 -0
  503. package/dist/automation/actions/interaction/verify/VerifyPwaScore.js +44 -0
  504. package/dist/automation/actions/interaction/verify/VerifyRadioButtonIsNotSelected.d.ts +2 -0
  505. package/dist/automation/actions/interaction/verify/VerifyRadioButtonIsNotSelected.js +32 -0
  506. package/dist/automation/actions/interaction/verify/VerifyRadioButtonIsSelected.d.ts +2 -0
  507. package/dist/automation/actions/interaction/verify/VerifyRadioButtonIsSelected.js +30 -0
  508. package/dist/automation/actions/interaction/verify/VerifySeoScore.d.ts +2 -0
  509. package/dist/automation/actions/interaction/verify/VerifySeoScore.js +53 -0
  510. package/dist/automation/actions/interaction/verify/VerifyTagName.d.ts +2 -0
  511. package/dist/automation/actions/interaction/verify/VerifyTagName.js +30 -0
  512. package/dist/automation/actions/interaction/verify/VerifyThatSpecifiedOptionIsNotSelected.d.ts +2 -0
  513. package/dist/automation/actions/interaction/verify/VerifyThatSpecifiedOptionIsNotSelected.js +53 -0
  514. package/dist/automation/actions/interaction/verify/VerifyTitleInAllPage.d.ts +2 -0
  515. package/dist/automation/actions/interaction/verify/VerifyTitleInAllPage.js +37 -0
  516. package/dist/automation/actions/interaction/verify/VerifyTitleOfCurrentPage.d.ts +2 -0
  517. package/dist/automation/actions/interaction/verify/VerifyTitleOfCurrentPage.js +23 -0
  518. package/dist/automation/actions/interaction/verify/VerifyValueOfElementContainsString.d.ts +2 -0
  519. package/dist/automation/actions/interaction/verify/VerifyValueOfElementContainsString.js +39 -0
  520. package/dist/automation/actions/interaction/verify/VerifyValueOfElementIsCleared.d.ts +2 -0
  521. package/dist/automation/actions/interaction/verify/VerifyValueOfElementIsCleared.js +32 -0
  522. package/dist/automation/actions/interaction/verify/VerifyValueOfElementIsString.d.ts +2 -0
  523. package/dist/automation/actions/interaction/verify/VerifyValueOfElementIsString.js +37 -0
  524. package/dist/automation/actions/interaction/verify/VerifyWidthOfElement.d.ts +2 -0
  525. package/dist/automation/actions/interaction/verify/VerifyWidthOfElement.js +71 -0
  526. package/dist/automation/actions/interaction/verify/VerifyXLocationOfElement.d.ts +2 -0
  527. package/dist/automation/actions/interaction/verify/VerifyXLocationOfElement.js +71 -0
  528. package/dist/automation/actions/interaction/verify/VerifyYLocationOfElement.d.ts +2 -0
  529. package/dist/automation/actions/interaction/verify/VerifyYLocationOfElement.js +65 -0
  530. package/dist/automation/actions/interaction/verify/checkIfElementIsDisplayed.d.ts +2 -0
  531. package/dist/automation/actions/interaction/verify/checkIfElementIsDisplayed.js +63 -0
  532. package/dist/automation/actions/interaction/verify/verifypartialtext.d.ts +2 -0
  533. package/dist/automation/actions/interaction/verify/verifypartialtext.js +106 -0
  534. package/dist/automation/actions/interaction/verify/verifytext.d.ts +2 -0
  535. package/dist/automation/actions/interaction/verify/verifytext.js +111 -0
  536. package/dist/automation/actions/interaction/wait/wait.d.ts +2 -0
  537. package/dist/automation/actions/interaction/wait/wait.js +14 -0
  538. package/dist/automation/actions/interaction/wait/waitTillAttributeOfElementIsString.d.ts +2 -0
  539. package/dist/automation/actions/interaction/wait/waitTillAttributeOfElementIsString.js +68 -0
  540. package/dist/automation/actions/interaction/wait/waitTillElementContainsText.d.ts +2 -0
  541. package/dist/automation/actions/interaction/wait/waitTillElementContainsText.js +62 -0
  542. package/dist/automation/actions/interaction/wait/waitTillElementHasText.d.ts +2 -0
  543. package/dist/automation/actions/interaction/wait/waitTillElementHasText.js +56 -0
  544. package/dist/automation/actions/interaction/wait/waitTillElementIsClickable.d.ts +2 -0
  545. package/dist/automation/actions/interaction/wait/waitTillElementIsClickable.js +56 -0
  546. package/dist/automation/actions/interaction/wait/waitTillPresenceOfAllElements.d.ts +2 -0
  547. package/dist/automation/actions/interaction/wait/waitTillPresenceOfAllElements.js +55 -0
  548. package/dist/automation/actions/interaction/wait/waitTillPresenceOfElement.d.ts +2 -0
  549. package/dist/automation/actions/interaction/wait/waitTillPresenceOfElement.js +50 -0
  550. package/{src/automation/actions/interface/waitActionInterface.ts → dist/automation/actions/interface/IframeInterface.d.ts} +2 -3
  551. package/dist/automation/actions/interface/IframeInterface.js +1 -0
  552. package/dist/automation/actions/interface/alertActionInterface.d.ts +37 -0
  553. package/dist/automation/actions/interface/alertActionInterface.js +1 -0
  554. package/dist/automation/actions/interface/clearActionInterface.d.ts +25 -0
  555. package/dist/automation/actions/interface/clearActionInterface.js +1 -0
  556. package/dist/automation/actions/interface/clickActionInterface.d.ts +81 -0
  557. package/dist/automation/actions/interface/clickActionInterface.js +1 -0
  558. package/dist/automation/actions/interface/dragAndDropToElementInterface.d.ts +17 -0
  559. package/dist/automation/actions/interface/dragAndDropToElementInterface.js +1 -0
  560. package/dist/automation/actions/interface/findActionInterface.d.ts +14 -0
  561. package/dist/automation/actions/interface/findActionInterface.js +1 -0
  562. package/dist/automation/actions/interface/getActionInterface.d.ts +763 -0
  563. package/dist/automation/actions/interface/getActionInterface.js +1 -0
  564. package/dist/automation/actions/interface/interactionActionInterface.d.ts +68 -0
  565. package/dist/automation/actions/interface/interactionActionInterface.js +1 -0
  566. package/dist/automation/actions/interface/maximizeAndMinimizeInterface.d.ts +9 -0
  567. package/dist/automation/actions/interface/maximizeAndMinimizeInterface.js +1 -0
  568. package/dist/automation/actions/interface/navigationActionInterface.d.ts +19 -0
  569. package/dist/automation/actions/interface/navigationActionInterface.js +1 -0
  570. package/dist/automation/actions/interface/pressActionInterface.d.ts +23 -0
  571. package/dist/automation/actions/interface/pressActionInterface.js +1 -0
  572. package/dist/automation/actions/interface/scrollActionInterface.d.ts +40 -0
  573. package/dist/automation/actions/interface/scrollActionInterface.js +1 -0
  574. package/dist/automation/actions/interface/setActionInterface.d.ts +7 -0
  575. package/dist/automation/actions/interface/setActionInterface.js +1 -0
  576. package/dist/automation/actions/interface/shadowDomInterface.d.ts +72 -0
  577. package/dist/automation/actions/interface/shadowDomInterface.js +1 -0
  578. package/dist/automation/actions/interface/switchingActionInterface.d.ts +86 -0
  579. package/dist/automation/actions/interface/switchingActionInterface.js +1 -0
  580. package/dist/automation/actions/interface/uploadFile.d.ts +14 -0
  581. package/dist/automation/actions/interface/uploadFile.js +1 -0
  582. package/dist/automation/actions/interface/verifyActionInterface.d.ts +726 -0
  583. package/dist/automation/actions/interface/verifyActionInterface.js +1 -0
  584. package/dist/automation/actions/interface/waitActionInterface.d.ts +76 -0
  585. package/dist/automation/actions/interface/waitActionInterface.js +1 -0
  586. package/dist/automation/browserSession/initiateBrowserSession.d.ts +10 -0
  587. package/dist/automation/browserSession/initiateBrowserSession.js +42 -0
  588. package/dist/automation/mobileSession/initiateMobileSession.d.ts +31 -0
  589. package/dist/automation/mobileSession/initiateMobileSession.js +47 -0
  590. package/dist/core/constants/allAction.d.ts +1 -0
  591. package/dist/core/constants/allAction.js +20 -0
  592. package/dist/core/constants/defaultValues.d.ts +1 -0
  593. package/dist/core/constants/defaultValues.js +1 -0
  594. package/dist/core/constants/supportedActions.d.ts +2 -0
  595. package/dist/core/constants/supportedActions.js +32 -0
  596. package/dist/core/interfaces/StableDomInterface.d.ts +5 -0
  597. package/dist/core/interfaces/StableDomInterface.js +1 -0
  598. package/dist/core/interfaces/actionInterface.d.ts +245 -0
  599. package/dist/core/interfaces/actionInterface.js +1 -0
  600. package/dist/core/interfaces/automationRunnerInterface.d.ts +4 -0
  601. package/dist/core/interfaces/automationRunnerInterface.js +1 -0
  602. package/{src/core/interfaces/browserCapabilitiesInterface.ts → dist/core/interfaces/browserCapabilitiesInterface.d.ts} +1 -3
  603. package/dist/core/interfaces/browserCapabilitiesInterface.js +1 -0
  604. package/{src/core/interfaces/browserConfigurationInterface.ts → dist/core/interfaces/browserConfigurationInterface.d.ts} +1 -1
  605. package/dist/core/interfaces/browserConfigurationInterface.js +1 -0
  606. package/{src/core/interfaces/domAnalysisInterface.ts → dist/core/interfaces/domAnalysisInterface.d.ts} +0 -5
  607. package/dist/core/interfaces/domAnalysisInterface.js +1 -0
  608. package/dist/core/interfaces/errorInfoInterface.d.ts +7 -0
  609. package/dist/core/interfaces/errorInfoInterface.js +1 -0
  610. package/dist/core/interfaces/executionDetails.d.ts +32 -0
  611. package/dist/core/interfaces/executionDetails.js +1 -0
  612. package/dist/core/interfaces/fireflinkScriptPayloadInterface.d.ts +39 -0
  613. package/dist/core/interfaces/fireflinkScriptPayloadInterface.js +1 -0
  614. package/{src/core/interfaces/llmConfigurationInterface.ts → dist/core/interfaces/llmConfigurationInterface.d.ts} +1 -1
  615. package/dist/core/interfaces/llmConfigurationInterface.js +1 -0
  616. package/{src/core/interfaces/llmResponseInterface.ts → dist/core/interfaces/llmResponseInterface.d.ts} +23 -11
  617. package/dist/core/interfaces/llmResponseInterface.js +1 -0
  618. package/{src/core/interfaces/promptInterface.ts → dist/core/interfaces/promptInterface.d.ts} +20 -2
  619. package/dist/core/interfaces/promptInterface.js +1 -0
  620. package/dist/core/interfaces/scriptGenrationDataInterface.d.ts +11 -0
  621. package/dist/core/interfaces/scriptGenrationDataInterface.js +1 -0
  622. package/dist/core/interfaces/simplifyAndFlattenInterface.d.ts +13 -0
  623. package/dist/core/interfaces/simplifyAndFlattenInterface.js +1 -0
  624. package/dist/core/interfaces/toolsInterface.d.ts +5 -0
  625. package/dist/core/interfaces/toolsInterface.js +1 -0
  626. package/dist/core/main/actionHandlerFactory.d.ts +4 -0
  627. package/dist/core/main/actionHandlerFactory.js +704 -0
  628. package/{src/core/main/executionContext.ts → dist/core/main/executionContext.d.ts} +9 -12
  629. package/dist/core/main/executionContext.js +15 -0
  630. package/dist/core/main/runAutomationScript.d.ts +11 -0
  631. package/dist/core/main/runAutomationScript.js +553 -0
  632. package/dist/core/main/stepProcessor.d.ts +23 -0
  633. package/dist/core/main/stepProcessor.js +14 -0
  634. package/dist/core/types/llmResponseType.d.ts +2 -0
  635. package/dist/core/types/llmResponseType.js +1 -0
  636. package/dist/core/types/promptMap.d.ts +7 -0
  637. package/dist/core/types/promptMap.js +1 -0
  638. package/dist/core/types/promptType.d.ts +11 -0
  639. package/dist/core/types/promptType.js +12 -0
  640. package/dist/core/types/scriptTypesType.d.ts +1 -0
  641. package/dist/core/types/scriptTypesType.js +1 -0
  642. package/dist/core/types/visionllmInputType.d.ts +9 -0
  643. package/dist/core/types/visionllmInputType.js +1 -0
  644. package/dist/domAnalysis/getRelaventElements.d.ts +12 -0
  645. package/dist/domAnalysis/getRelaventElements.js +25 -0
  646. package/dist/domAnalysis/relativeElementsFromDom.d.ts +4 -0
  647. package/dist/domAnalysis/relativeElementsFromDom.js +193 -0
  648. package/dist/domAnalysis/searchBest.d.ts +8 -0
  649. package/dist/domAnalysis/searchBest.js +208 -0
  650. package/dist/domAnalysis/simplifyAndFlatten.d.ts +5 -0
  651. package/dist/domAnalysis/simplifyAndFlatten.js +186 -0
  652. package/dist/fireflinkData/fireflinkLocators/elementsFromHTML.d.ts +24 -0
  653. package/dist/fireflinkData/fireflinkLocators/elementsFromHTML.js +511 -0
  654. package/dist/fireflinkData/fireflinkLocators/getListOfLocators.d.ts +3 -0
  655. package/dist/fireflinkData/fireflinkLocators/getListOfLocators.js +24 -0
  656. package/dist/fireflinkData/fireflinkLocators/typeList.d.ts +1 -0
  657. package/{src/fireflinkData/fireflinkLocators/typeList.ts → dist/fireflinkData/fireflinkLocators/typeList.js} +6 -12
  658. package/dist/fireflinkData/fireflinkScript/scriptGenrationData.d.ts +14 -0
  659. package/dist/fireflinkData/fireflinkScript/scriptGenrationData.js +60 -0
  660. package/dist/imageAnalysisMobile/annotatedScreenshotMobile.d.ts +1 -0
  661. package/dist/imageAnalysisMobile/annotatedScreenshotMobile.js +82 -0
  662. package/dist/imageAnalysisMobile/annotatedScreenshotMobileInterface.d.ts +6 -0
  663. package/dist/imageAnalysisMobile/annotatedScreenshotMobileInterface.js +1 -0
  664. package/dist/imageAnalysisWeb/annotateScreenshot.d.ts +2 -0
  665. package/dist/imageAnalysisWeb/annotateScreenshot.js +139 -0
  666. package/dist/imageAnalysisWeb/generateAnnotatedScreenshots.d.ts +1 -0
  667. package/dist/imageAnalysisWeb/generateAnnotatedScreenshots.js +28 -0
  668. package/dist/imageAnalysisWeb/screenshotInterface.d.ts +14 -0
  669. package/dist/imageAnalysisWeb/screenshotInterface.js +1 -0
  670. package/{src/index.ts → dist/index.d.ts} +0 -3
  671. package/dist/index.js +4 -0
  672. package/dist/llmConfig/llmConfiguration.d.ts +5 -0
  673. package/dist/llmConfig/llmConfiguration.js +18 -0
  674. package/dist/service/api/fireflinkApi.service.d.ts +4 -0
  675. package/dist/service/api/fireflinkApi.service.js +22 -0
  676. package/dist/service/kafka/fireflinkKafka.service.d.ts +7 -0
  677. package/dist/service/kafka/fireflinkKafka.service.js +22 -0
  678. package/dist/service/scriptRunner.service.d.ts +10 -0
  679. package/dist/service/scriptRunner.service.js +36 -0
  680. package/dist/tests/Framework.d.ts +0 -0
  681. package/dist/tests/Framework.js +62 -0
  682. package/dist/tests/test12.d.ts +1 -0
  683. package/dist/tests/test12.js +51 -0
  684. package/dist/tests/test3.d.ts +2 -0
  685. package/dist/tests/test3.js +19 -0
  686. package/dist/utils/DomExtraction/jsForAttributeInjection.d.ts +5 -0
  687. package/dist/utils/DomExtraction/jsForAttributeInjection.js +256 -0
  688. package/dist/utils/InstancesDetails/getInstancesInfo.d.ts +1 -0
  689. package/dist/utils/InstancesDetails/getInstancesInfo.js +9 -0
  690. package/dist/utils/alertPopup/isAlertPresent.d.ts +2 -0
  691. package/dist/utils/alertPopup/isAlertPresent.js +11 -0
  692. package/dist/utils/alertPopup/isAlertPresentInterface.d.ts +3 -0
  693. package/dist/utils/alertPopup/isAlertPresentInterface.js +1 -0
  694. package/dist/utils/helpers/enterActionHelper.d.ts +10 -0
  695. package/dist/utils/helpers/enterActionHelper.js +110 -0
  696. package/dist/utils/helpers/imageUtils.d.ts +6 -0
  697. package/dist/utils/helpers/imageUtils.js +11 -0
  698. package/dist/utils/helpers/sameActionsHelper.d.ts +1 -0
  699. package/dist/utils/helpers/sameActionsHelper.js +52 -0
  700. package/dist/utils/helpers/xpathcreation.d.ts +1 -0
  701. package/dist/utils/helpers/xpathcreation.js +39 -0
  702. package/dist/utils/iframesExtraction/findElementUsingFF.d.ts +2 -0
  703. package/dist/utils/iframesExtraction/findElementUsingFF.js +32 -0
  704. package/dist/utils/iframesExtraction/iframeInterface.d.ts +17 -0
  705. package/dist/utils/iframesExtraction/iframeInterface.js +1 -0
  706. package/dist/utils/iframesExtraction/switchToIframeByMeta.d.ts +2 -0
  707. package/dist/utils/iframesExtraction/switchToIframeByMeta.js +22 -0
  708. package/dist/utils/javascript/jsFindElement.d.ts +1 -0
  709. package/{src/utils/javascript/jsFindElement.ts → dist/utils/javascript/jsFindElement.js} +168 -160
  710. package/dist/utils/javascript/jsForShadowRoot.d.ts +6 -0
  711. package/{src/utils/javascript/jsForShadowRoot.ts → dist/utils/javascript/jsForShadowRoot.js} +203 -210
  712. package/dist/utils/javascript/jsForToaster.d.ts +1 -0
  713. package/{src/utils/javascript/jsForToaster.ts → dist/utils/javascript/jsForToaster.js} +59 -59
  714. package/dist/utils/javascript/jsForVision.d.ts +2 -0
  715. package/dist/utils/javascript/jsForVision.js +148 -0
  716. package/dist/utils/logger/logData.d.ts +8 -0
  717. package/dist/utils/logger/logData.js +107 -0
  718. package/dist/utils/mobileXpath/findXpathFromIndex.d.ts +2 -0
  719. package/dist/utils/mobileXpath/findXpathFromIndex.js +61 -0
  720. package/dist/utils/mobileXpath/findXpathFromIndexInterface.d.ts +4 -0
  721. package/dist/utils/mobileXpath/findXpathFromIndexInterface.js +1 -0
  722. package/dist/utils/newTab/newTabTracker.d.ts +2 -0
  723. package/dist/utils/newTab/newTabTracker.js +38 -0
  724. package/package.json +68 -53
  725. package/ARCHITECTURE.md +0 -112
  726. package/FireFlink_Architecture.drawio +0 -68
  727. package/ONBOARDING.md +0 -29
  728. package/RELEASE_GUIDE.md +0 -15
  729. package/TECHNICAL_DEEP_DIVE.md +0 -26
  730. package/bitbucket-pipelines.yml +0 -36
  731. package/eslint.config.ts +0 -29
  732. package/src/ai/llmcalls/decodeApiKey.ts +0 -14
  733. package/src/ai/llmcalls/llmAction.ts +0 -89
  734. package/src/ai/llmprompts/promptRegistry.ts +0 -16
  735. package/src/ai/llmprompts/systemPrompts/errorDescriptionPrompt.ts +0 -23
  736. package/src/ai/llmprompts/systemPrompts/fireflinkElementIndexExtactors.ts +0 -173
  737. package/src/ai/llmprompts/systemPrompts/userStoryToListPrompt.ts +0 -24
  738. package/src/ai/llmprompts/systemPrompts/visionPrompt.ts +0 -28
  739. package/src/ai/llmprompts/userPrompts/userPrompt.ts +0 -41
  740. package/src/automation/actions/executor.ts +0 -75
  741. package/src/automation/actions/interaction/click.ts +0 -25
  742. package/src/automation/actions/interaction/enterInput.ts +0 -36
  743. package/src/automation/actions/interface/interactionActionInterface.ts +0 -27
  744. package/src/automation/actions/interface/navigationActionInterface.ts +0 -22
  745. package/src/automation/actions/navigation/getTitle.ts +0 -9
  746. package/src/automation/actions/navigation/goBack.ts +0 -9
  747. package/src/automation/actions/navigation/navigate.ts +0 -10
  748. package/src/automation/actions/navigation/refresh.ts +0 -9
  749. package/src/automation/actions/wait/wait.ts +0 -10
  750. package/src/automation/browserSession/initiateBrowserSession.ts +0 -81
  751. package/src/core/constants/supportedActions.ts +0 -8
  752. package/src/core/interfaces/StableDomInterface.ts +0 -6
  753. package/src/core/interfaces/actionInterface.ts +0 -13
  754. package/src/core/interfaces/automationRunnerInterface.ts +0 -3
  755. package/src/core/interfaces/executionDetails.ts +0 -29
  756. package/src/core/interfaces/fireflinkScriptPayloadInterface.ts +0 -39
  757. package/src/core/interfaces/scriptGenrationDataInterface.ts +0 -16
  758. package/src/core/interfaces/toolsInterface.ts +0 -5
  759. package/src/core/main/actionHandlerFactory.ts +0 -86
  760. package/src/core/main/runAutomationScript.ts +0 -254
  761. package/src/core/main/stepProcessor.ts +0 -28
  762. package/src/core/types/llmResponseType.ts +0 -11
  763. package/src/core/types/promptMap.ts +0 -7
  764. package/src/core/types/promptType.ts +0 -7
  765. package/src/core/types/visionllmInputType.ts +0 -4
  766. package/src/domAnalysis/getRelaventElements.ts +0 -28
  767. package/src/domAnalysis/relativeElementsFromDom.ts +0 -94
  768. package/src/domAnalysis/searchBest.ts +0 -165
  769. package/src/domAnalysis/simplifyAndFlatten.ts +0 -118
  770. package/src/fireflinkData/fireflinkLocators/elementsFromHTML.ts +0 -656
  771. package/src/fireflinkData/fireflinkLocators/getListOfLocators.ts +0 -31
  772. package/src/fireflinkData/fireflinkScript/scriptGenrationData.ts +0 -30
  773. package/src/llmConfig/llmConfiguration.ts +0 -26
  774. package/src/service/fireflinkApi.service.ts +0 -46
  775. package/src/service/scriptRunner.service.ts +0 -83
  776. package/src/utils/DomExtraction/jsForAttributeInjection.ts +0 -322
  777. package/src/utils/helpers/enterActionHelper.ts +0 -94
  778. package/src/utils/logger/logData.ts +0 -81
  779. package/tsconfig.json +0 -26
@@ -0,0 +1,256 @@
1
+ import { logger } from "../../utils/logger/logData.js";
2
+ export async function getAnnotatedDOM(browser) {
3
+ return await browser.execute(() => {
4
+ let nodeIndex = 0;
5
+ // const xpaths: Record<string, string> = {};
6
+ // ==========================================================
7
+ // COVERAGE CHECK
8
+ // ==========================================================
9
+ function getCoverageStatus(el) {
10
+ if (!el || !el.getBoundingClientRect)
11
+ return "unknown";
12
+ const rect = el.getBoundingClientRect();
13
+ if (rect.width === 0 || rect.height === 0)
14
+ return "false";
15
+ const testPoints = [
16
+ [rect.left + 5, rect.top + 5],
17
+ [rect.right - 5, rect.top + 5],
18
+ [rect.left + 5, rect.bottom - 5],
19
+ [rect.right - 5, rect.bottom - 5],
20
+ [rect.left + rect.width / 2, rect.top + rect.height / 2]
21
+ ];
22
+ for (const [x, y] of testPoints) {
23
+ const topEl = document.elementFromPoint(x, y);
24
+ if (!topEl)
25
+ continue;
26
+ if (topEl === el || el.contains(topEl))
27
+ continue;
28
+ const style = getComputedStyle(topEl);
29
+ if (style.pointerEvents === "none" ||
30
+ style.opacity === "0" ||
31
+ style.visibility === "hidden")
32
+ continue;
33
+ if (el.closest("label")?.contains(topEl))
34
+ continue;
35
+ if (topEl.closest("label")?.contains(el))
36
+ continue;
37
+ if (el.parentElement?.contains(topEl))
38
+ continue;
39
+ const isBlocking = ["BUTTON", "A"].includes(topEl.tagName) ||
40
+ topEl.onclick ||
41
+ topEl.getAttribute("role") === "button";
42
+ if (isBlocking)
43
+ return "true";
44
+ }
45
+ return "false";
46
+ }
47
+ // ==========================================================
48
+ // VISIBILITY CHECK
49
+ // ==========================================================
50
+ function isUsable(node) {
51
+ const s = getComputedStyle(node);
52
+ if (s.display === "none" ||
53
+ s.visibility === "hidden" ||
54
+ s.opacity === "0" ||
55
+ s.pointerEvents === "none")
56
+ return false;
57
+ const rect = node.getBoundingClientRect();
58
+ if (rect.width === 0 || rect.height === 0)
59
+ return false;
60
+ return true;
61
+ }
62
+ // ==========================================================
63
+ // ANNOTATION
64
+ // ==========================================================
65
+ function annotate(node) {
66
+ const s = getComputedStyle(node);
67
+ node.setAttribute("element-visibility", s.visibility || "");
68
+ node.setAttribute("element-pointer-events", s.pointerEvents || "");
69
+ node.setAttribute("element-zindex", s.zIndex || "");
70
+ if (!isUsable(node)) {
71
+ node.setAttribute("element-covered", "true");
72
+ return;
73
+ }
74
+ try {
75
+ node.setAttribute("element-covered", getCoverageStatus(node));
76
+ }
77
+ catch {
78
+ node.setAttribute("element-covered", "unknown");
79
+ }
80
+ }
81
+ // ==========================================================
82
+ // XPATH (Shadow + iframe safe)
83
+ // ==========================================================
84
+ function getXPath(node) {
85
+ if (!node || node.nodeType !== 1)
86
+ return "";
87
+ const segments = [];
88
+ let current = node;
89
+ while (current && current.nodeType === 1) {
90
+ const parent = current.parentNode;
91
+ if (parent instanceof ShadowRoot) {
92
+ const host = parent.host;
93
+ const siblings = Array.from(parent.children)
94
+ .filter(n => n.tagName === current.tagName);
95
+ const index = siblings.indexOf(current) + 1;
96
+ segments.unshift("shadow/" +
97
+ current.tagName.toLowerCase() +
98
+ "[" + index + "]");
99
+ current = host;
100
+ continue;
101
+ }
102
+ let index = 1;
103
+ if (parent && parent.children) {
104
+ const siblings = Array.from(parent.children).filter(n => n.tagName === current.tagName);
105
+ index = siblings.indexOf(current) + 1;
106
+ }
107
+ segments.unshift(current.tagName.toLowerCase() +
108
+ "[" + index + "]");
109
+ if (!parent || parent.nodeType !== 1)
110
+ break;
111
+ current = parent;
112
+ }
113
+ let path = "/" + segments.join("/");
114
+ if (node.ownerDocument !== document) {
115
+ const frameEl = node.ownerDocument.defaultView?.frameElement;
116
+ if (frameEl) {
117
+ let framePath = frameEl.getAttribute("ff-xpath");
118
+ if (!framePath) {
119
+ framePath = getXPath(frameEl);
120
+ }
121
+ path = framePath + path;
122
+ }
123
+ }
124
+ return path;
125
+ }
126
+ // ==========================================================
127
+ // TRUE NODE WALK (TreeWalker)
128
+ // ==========================================================
129
+ function walk(root) {
130
+ const walker = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, null);
131
+ let node = walker.currentNode;
132
+ while (node) {
133
+ if (node.nodeType === 1 &&
134
+ !["META", "STYLE", "SCRIPT"]
135
+ .includes(node.tagName)) {
136
+ const fireId = "Fire-Flink-" + nodeIndex++;
137
+ const xpath = getXPath(node);
138
+ node.setAttribute("ff-inspect", fireId);
139
+ node.setAttribute("ff-xpath", xpath);
140
+ // xpaths[fireId] = xpath;
141
+ annotate(node);
142
+ }
143
+ if (node.shadowRoot) {
144
+ walk(node.shadowRoot);
145
+ }
146
+ if (node.tagName === "IFRAME") {
147
+ try {
148
+ const doc = node
149
+ .contentDocument;
150
+ if (doc?.documentElement) {
151
+ walk(doc.documentElement);
152
+ }
153
+ }
154
+ catch {
155
+ node.setAttribute("ff-cross-origin", "true");
156
+ }
157
+ }
158
+ node = walker.nextNode();
159
+ }
160
+ }
161
+ // Start traversal
162
+ walk(document.documentElement);
163
+ // ==========================================================
164
+ // SERIALIZER
165
+ // ==========================================================
166
+ function serializeNode(node) {
167
+ if (node.nodeType === Node.TEXT_NODE)
168
+ return node.textContent || "";
169
+ if (node.nodeType !== Node.ELEMENT_NODE)
170
+ return "";
171
+ const el = node;
172
+ const tag = el.tagName.toLowerCase();
173
+ let html = "<" + tag;
174
+ for (const attr of Array.from(el.attributes)) {
175
+ if (attr.name === "srcdoc")
176
+ continue;
177
+ html +=
178
+ " " + attr.name +
179
+ "=\"" +
180
+ attr.value.replace(/"/g, "&quot;") +
181
+ "\"";
182
+ }
183
+ html += ">";
184
+ if (el.shadowRoot) {
185
+ html += "<!--#shadow-root-->";
186
+ el
187
+ .shadowRoot
188
+ .childNodes
189
+ .forEach(child => {
190
+ html += serializeNode(child);
191
+ });
192
+ html += "<!--#/shadow-root-->";
193
+ }
194
+ if (tag === "iframe" &&
195
+ el.getAttribute("ff-cross-origin") !== "true") {
196
+ try {
197
+ const doc = el
198
+ .contentDocument;
199
+ if (doc) {
200
+ html += serializeNode(doc.documentElement);
201
+ }
202
+ }
203
+ catch (error) {
204
+ logger.error("Attribute injection failed", error);
205
+ }
206
+ }
207
+ el.childNodes.forEach(child => {
208
+ html += serializeNode(child);
209
+ });
210
+ html += "</" + tag + ">";
211
+ return html;
212
+ }
213
+ return {
214
+ dom: "<!DOCTYPE html>\n" +
215
+ serializeNode(document.documentElement)
216
+ // selectors: xpaths
217
+ };
218
+ });
219
+ }
220
+ import { DOMParser, XMLSerializer } from "@xmldom/xmldom";
221
+ export async function getAnnotatedDOMForMobile(driver) {
222
+ try {
223
+ // Wait like Python sleep(2)
224
+ await driver.pause(2000);
225
+ const pageSource = await driver.getPageSource();
226
+ if (!pageSource) {
227
+ throw new Error("Unable to capture DOM");
228
+ }
229
+ // Parse XML DOM
230
+ const parser = new DOMParser();
231
+ const xmlDoc = parser.parseFromString(pageSource, "text/xml");
232
+ const allElements = xmlDoc.getElementsByTagName("*");
233
+ let index = 1;
234
+ for (const element of Array.from(allElements)) {
235
+ element.setAttribute("FF-inspecter", `Fire-Flink-${index}`);
236
+ index++;
237
+ }
238
+ // Convert DOM back to string
239
+ const serializer = new XMLSerializer();
240
+ let annotatedXML = serializer.serializeToString(xmlDoc);
241
+ // Preserve XML declaration if present
242
+ if (pageSource.trim().startsWith("<?xml")) {
243
+ const declarationEnd = pageSource.indexOf("?>");
244
+ if (declarationEnd !== -1) {
245
+ const declaration = pageSource.substring(0, declarationEnd + 2).trim();
246
+ annotatedXML = `${declaration}\n${annotatedXML}`;
247
+ }
248
+ }
249
+ return {
250
+ dom: annotatedXML
251
+ };
252
+ }
253
+ catch (error) {
254
+ throw new Error(`Unable to annotate DOM: ${error.message}`, { cause: error });
255
+ }
256
+ }
@@ -0,0 +1 @@
1
+ export declare function getAiInstanceInfo(responseObject: any): Record<string, string>;
@@ -0,0 +1,9 @@
1
+ export function getAiInstanceInfo(responseObject) {
2
+ return {
3
+ serviceProvider: responseObject.serviceProvider,
4
+ apiKey: responseObject.instanceDetails.apiKey,
5
+ apiUrl: responseObject.instanceDetails.apiUrl,
6
+ visionApiKey: responseObject.instanceDetails.visionApiKey ?? "c2stcHJvai1zODVFenVfWkdnVUxoT1dNVVhRTmxuUW9ELUpnS3dEMGpvSmJZcDE0YWd4ZEZ3MWM5Mlh5NnlLUFJpYk1XckUtTTRTV1dzcHc0MFQzQmxia0ZKekVkWXRMTm1rWWlJQVRYTUwyTWhhTU5NR3FUWjhZekJYZHdkTHc0MHRVT084d0t6N19wRENYSERSX0NsSVRtTVpjR3VsY3ZlNEE=",
7
+ model: responseObject.model,
8
+ };
9
+ }
@@ -0,0 +1,2 @@
1
+ import { IAlertChecker } from "./isAlertPresentInterface";
2
+ export declare const isAlertPresent: IAlertChecker;
@@ -0,0 +1,11 @@
1
+ export const isAlertPresent = async (driver, timeout = 0) => {
2
+ try {
3
+ if (!driver)
4
+ return false;
5
+ await driver.waitUntil(async () => await driver.isAlertOpen(), { timeout });
6
+ return true;
7
+ }
8
+ catch {
9
+ return false;
10
+ }
11
+ };
@@ -0,0 +1,3 @@
1
+ export interface IAlertChecker {
2
+ (driver: WebdriverIO.Browser, timeout?: number): Promise<boolean>;
3
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ interface EnterActionResult {
2
+ ffNumber: number;
3
+ xpathPath: string;
4
+ }
5
+ interface EnterActionResultMob {
6
+ xpathPath: string;
7
+ }
8
+ export declare const enterActionHelper: (pageDOM: string, ffNumber: string) => EnterActionResult;
9
+ export declare function enterActionHelperMob(annotatedDom: string, num: string): EnterActionResultMob;
10
+ export {};
@@ -0,0 +1,110 @@
1
+ import { JSDOM } from "jsdom";
2
+ import { DOMParser } from "@xmldom/xmldom";
3
+ import { getFFIndexAndXPath } from "./xpathcreation.js";
4
+ import { logger } from "../logger/logData.js";
5
+ import xpath from "xpath";
6
+ export const enterActionHelper = (pageDOM, ffNumber) => {
7
+ // Extract numeric part
8
+ const match = ffNumber.match(/\d+$/);
9
+ let numericFF = match ? parseInt(match[0], 10) : 0;
10
+ const parser = new JSDOM(pageDOM);
11
+ const doc = parser.window.document;
12
+ const isEditable = (el) => {
13
+ if (!el)
14
+ return false;
15
+ const tag = el.tagName?.toLowerCase();
16
+ return (["input", "textarea", "select"].includes(tag) ||
17
+ el.getAttribute("contenteditable") === "true");
18
+ };
19
+ const getXPath = (el) => {
20
+ return el?.getAttribute("ff-xpath") || "";
21
+ };
22
+ const element = doc.querySelector(`[ff-inspect="Fire-Flink-${numericFF}"]`);
23
+ if (!element) {
24
+ return { ffNumber: numericFF, xpathPath: "" };
25
+ }
26
+ let xpathPath = "";
27
+ // Current element editable
28
+ if (isEditable(element)) {
29
+ xpathPath = getXPath(element);
30
+ }
31
+ else {
32
+ // Search editable child
33
+ let editableChild = null;
34
+ for (const child of Array.from(element.querySelectorAll("*"))) {
35
+ if (isEditable(child)) {
36
+ editableChild = child;
37
+ break;
38
+ }
39
+ }
40
+ if (editableChild) {
41
+ xpathPath = getXPath(editableChild);
42
+ }
43
+ else {
44
+ // Try next 10 FF elements
45
+ for (let offset = 1; offset <= 10; offset++) {
46
+ const nextNum = numericFF + offset;
47
+ const nextTarget = doc.querySelector(`[ff-inspect="Fire-Flink-${nextNum}"]`);
48
+ if (isEditable(nextTarget)) {
49
+ numericFF = nextNum;
50
+ xpathPath = getXPath(nextTarget);
51
+ break;
52
+ }
53
+ }
54
+ // Final fallback
55
+ if (!xpathPath) {
56
+ xpathPath = getXPath(element);
57
+ }
58
+ }
59
+ }
60
+ // console.log("xpathPath", xpathPath);
61
+ return {
62
+ ffNumber: numericFF,
63
+ xpathPath
64
+ };
65
+ };
66
+ export function enterActionHelperMob(annotatedDom, num) {
67
+ const parser = new DOMParser();
68
+ const match = num.match(/\d+$/);
69
+ const numericFF = match ? parseInt(match[0], 10) : 0;
70
+ const xmlDoc = parser.parseFromString(annotatedDom, "text/xml");
71
+ const xpathQuery = `//*[@FF-inspecter='${num}']`;
72
+ const nodes = xpath.select(xpathQuery, xmlDoc);
73
+ const element = nodes.length ? nodes[0] : null;
74
+ let xpathPath = "";
75
+ if (element) {
76
+ const elementClass = (element.getAttribute("class") || "").toLowerCase();
77
+ if (elementClass.includes("edittext") ||
78
+ elementClass.includes("autocompletetextview")) {
79
+ xpathPath = getFFIndexAndXPath(annotatedDom, num);
80
+ }
81
+ else {
82
+ // check immediate children
83
+ const children = Array.from(element.children);
84
+ let editableChild = null;
85
+ for (const child of children) {
86
+ const childClass = (child.getAttribute("class") || "").toLowerCase();
87
+ if (childClass.includes("edittext") ||
88
+ childClass.includes("autocompletetextview")) {
89
+ editableChild = child;
90
+ break;
91
+ }
92
+ }
93
+ if (editableChild) {
94
+ const childNum = editableChild.getAttribute("FF-inspecter")?.split("-").pop();
95
+ if (childNum) {
96
+ xpathPath = getFFIndexAndXPath(annotatedDom, `Fire-Flink-${childNum}`);
97
+ }
98
+ }
99
+ else {
100
+ xpathPath = getFFIndexAndXPath(annotatedDom, num);
101
+ }
102
+ }
103
+ }
104
+ else {
105
+ logger.info(`No element found for ffNumber: ${numericFF} in MOB_Enter action`);
106
+ }
107
+ return {
108
+ xpathPath
109
+ };
110
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Ensures that a base64 string or Buffer has the correct data URI prefix for PNG images.
3
+ * @param image The base64 string or Buffer.
4
+ * @returns The base64 string with the `data:image/png;base64,` prefix.
5
+ */
6
+ export declare function formatImageBase64(image: string | Buffer): string;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Ensures that a base64 string or Buffer has the correct data URI prefix for PNG images.
3
+ * @param image The base64 string or Buffer.
4
+ * @returns The base64 string with the `data:image/png;base64,` prefix.
5
+ */
6
+ export function formatImageBase64(image) {
7
+ if (!image)
8
+ return "";
9
+ const base64 = Buffer.isBuffer(image) ? image.toString("base64") : image;
10
+ return base64.startsWith("data:") ? base64 : `data:image/png;base64,${base64}`;
11
+ }
@@ -0,0 +1 @@
1
+ export declare const sameActionHelper: Record<string, string>;
@@ -0,0 +1,52 @@
1
+ export const sameActionHelper = {
2
+ MOB_Tap: "Click",
3
+ MOB_Enter: "SendKeys",
4
+ MOB_VerifyElementIsDisplayed: "VerifyElementIsDisplayed",
5
+ MOB_VerifyElementIsEnabled: "VerifyElementIsEnabled",
6
+ MOB_VerifyXLocationOfAndroidElement: "VerifyXLocationOfElement",
7
+ MOB_VerifyElementIsSelected: "VerifyElementIsSelected",
8
+ MOB_VerifyYLocationOfAndroidElement: "VerifyYLocationOfElement",
9
+ MOB_VerifyWidthOfElement: "VerifyWidthOfElement",
10
+ MOB_WaitAndClick: "WaitAndClick",
11
+ MOB_GetScreenshot: "GetScreenshot",
12
+ MOB_VerifyText: "VerifyText",
13
+ MOB_VerifyElementNotContainsText: "VerifyElementNotContainsText",
14
+ MOB_VerifyIfXAndYCoordinateOfElement: "VerifyIfXAndYCoordinateOfElement",
15
+ MOB_VerifyPartialAttributeValue: "VerifyPartialAttributeValue",
16
+ MOB_VerifyElementIsClickable: "VerifyElementIsClickable",
17
+ MOB_VerifyElementIsDisabled: "VerifyElementIsDisabled",
18
+ MOB_GetImplicitTimeOut: "GetImplicitTimeOut",
19
+ MOB_GetDriverInstance: "GetDriverInstance",
20
+ MOB_GetCurrentWindowHandle: "GetCurrentWindowHandle",
21
+ MOB_GetTagName: "GetTagName",
22
+ MOB_GetScreenshotAs: "GetScreenshotAs",
23
+ MOB_GetX: "GetXLocationOfWebElement",
24
+ MOB_GetLocation: "GetLocation",
25
+ MOB_GetY: "GetYLocationOfWebElement",
26
+ MOB_GetRect: "GetRect",
27
+ MOB_GetText: "GetText",
28
+ MOB_GetSize: "GetSize",
29
+ MOB_GetAttribute: "GetAttribute",
30
+ MOB_Clear: "Clear",
31
+ MOB_DoubleTap: "DoubleClick",
32
+ MOB_TapNTimes: "ClickNTimes",
33
+ MOB_VerifyPartialText: "VerifyPartialText",
34
+ MOB_VerifyAttributeValue: "VerifyAttributeValue",
35
+ MOB_ClearThenEnterInput: "ClearThenEnterInput",
36
+ MOB_EnterDataAndPressKey: "EnterDataAndPressKey",
37
+ MOB_WaitAndSendKeys: "WaitAndSendKeys",
38
+ MOB_VerifyHeightOfElement: "VerifyHeightOfWebElement",
39
+ MOB_WaitTillPresenceOfElement: "WaitTillPresenceOfElement",
40
+ MOB_WaitTillPresenceOfAllElements: "WaitTillPresenceOfAllElements",
41
+ MOB_WaitTillAttributeOfElementIsString: "WaitTillAttributeOfElementIsString",
42
+ MOB_EnterUrl: "EnterUrl",
43
+ MOB_SetClipBoardText: "SetClipBoardText",
44
+ MOB_PressAnyKeyNTimes: "PressAnyKeyNTimes",
45
+ MOB_FindElements: "FindElements",
46
+ MOB_WaitTillElementIsClickable: "WaitTillElementIsClickable",
47
+ MOB_CheckIfElementIsDisplayed: "CheckIfElementIsDisplayed",
48
+ MOB_PressAnyKey: "PressAnyKey",
49
+ MOB_WaitTillElementHasText: "WaitTillElementHasText",
50
+ MOB_WaitTillElementContainsText: "WaitTillElementContainsText",
51
+ MOB_PressEnterKey: "PressEnterKey"
52
+ };
@@ -0,0 +1 @@
1
+ export declare function getFFIndexAndXPath(annotatedDom: string, fireflinkIndex: string): string;
@@ -0,0 +1,39 @@
1
+ import { DOMParser } from "@xmldom/xmldom";
2
+ import xpath from "xpath";
3
+ // import { logger } from "../logger/logData.js";
4
+ export function getFFIndexAndXPath(annotatedDom, fireflinkIndex) {
5
+ try {
6
+ const parser = new DOMParser();
7
+ const xmlDoc = parser.parseFromString(annotatedDom, "text/xml");
8
+ const xpathQuery = `//*[@FF-inspecter='${fireflinkIndex}']`;
9
+ const nodes = xpath.select(xpathQuery, xmlDoc);
10
+ const element = nodes.length ? nodes[0] : null;
11
+ function buildXPath(node) {
12
+ if (node.nodeType !== 1)
13
+ return "";
14
+ const parts = [];
15
+ while (node && node.nodeType === 1) {
16
+ let index = 1;
17
+ let sibling = node.previousSibling;
18
+ while (sibling) {
19
+ if (sibling.nodeType === 1 &&
20
+ sibling.tagName === node.tagName) {
21
+ index++;
22
+ }
23
+ sibling = sibling.previousSibling;
24
+ }
25
+ parts.unshift(`${node.tagName}[${index}]`);
26
+ node = node.parentNode;
27
+ }
28
+ return "/" + parts.join("/");
29
+ }
30
+ let xpathPath = "";
31
+ if (element) {
32
+ xpathPath = buildXPath(element);
33
+ }
34
+ return xpathPath;
35
+ }
36
+ catch (error) {
37
+ throw new Error("Error in getFFIndexAndXPath", { cause: error });
38
+ }
39
+ }
@@ -0,0 +1,2 @@
1
+ import { IFindElementUsingFF } from "./iframeInterface.js";
2
+ export declare const findElementUsingFF: (args: IFindElementUsingFF) => Promise<void>;
@@ -0,0 +1,32 @@
1
+ import { switchToIframeByMeta } from "./switchToIframeByMeta.js";
2
+ export const findElementUsingFF = async (args) => {
3
+ await args.driver.switchToFrame(null);
4
+ const usedElementNames = [];
5
+ for (const frameMeta of args.frames) {
6
+ const xpathUsed = await switchToIframeByMeta(args.driver, frameMeta);
7
+ if (xpathUsed) {
8
+ let finalElementName = args.elementName;
9
+ if (finalElementName) {
10
+ const baseName = finalElementName;
11
+ let newName = baseName;
12
+ let count = 0;
13
+ while (usedElementNames.includes(newName)) {
14
+ count++;
15
+ newName = `${baseName}_${count}`;
16
+ }
17
+ finalElementName = newName;
18
+ usedElementNames.push(finalElementName);
19
+ }
20
+ args.scriptDataAppender.add(async () => ({
21
+ nlpName: 'SwitchToFrameByFrameElement',
22
+ stepInputs: [],
23
+ elementsData: [{
24
+ name: finalElementName,
25
+ type: args.elementType,
26
+ locators: [{ name: "xpath", value: xpathUsed }],
27
+ platform: args.platform
28
+ }]
29
+ }));
30
+ }
31
+ }
32
+ };
@@ -0,0 +1,17 @@
1
+ import { ScriptDataAppender } from "../../fireflinkData/fireflinkScript/scriptGenrationData";
2
+ export interface FrameMeta {
3
+ id?: string;
4
+ name?: string;
5
+ title?: string;
6
+ aria?: string;
7
+ src?: string;
8
+ }
9
+ export interface IFindElementUsingFF {
10
+ driver: WebdriverIO.Browser;
11
+ selector: string;
12
+ frames: FrameMeta[];
13
+ scriptDataAppender: ScriptDataAppender;
14
+ elementName: string;
15
+ elementType: string;
16
+ platform: string;
17
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import { FrameMeta } from "./iframeInterface.js";
2
+ export declare function switchToIframeByMeta(driver: WebdriverIO.Browser, frameMeta: FrameMeta): Promise<string | null>;
@@ -0,0 +1,22 @@
1
+ export async function switchToIframeByMeta(driver, frameMeta) {
2
+ const selectors = [
3
+ frameMeta.id && `//*[@id='${frameMeta.id}']`,
4
+ frameMeta.name && `//*[@name='${frameMeta.name}']`,
5
+ frameMeta.title && `//iframe[@title='${frameMeta.title}']`,
6
+ frameMeta.aria && `//iframe[@aria-label='${frameMeta.aria}']`,
7
+ frameMeta.src && `//iframe[contains(@src,'${frameMeta.src}')]`,
8
+ ].filter(Boolean);
9
+ for (const selector of selectors) {
10
+ try {
11
+ const iframe = await driver.$(selector);
12
+ if (await iframe.isExisting()) {
13
+ await driver.switchToFrame(iframe);
14
+ return selector;
15
+ }
16
+ }
17
+ catch {
18
+ continue;
19
+ }
20
+ }
21
+ return null;
22
+ }
@@ -0,0 +1 @@
1
+ export declare const Find_element_by_ff_js_script = "\n const target = arguments[0];\n const callback = arguments[arguments.length - 1];\n\n const MAX_WAIT = 2000;\n const INTERVAL = 50;\n const start = Date.now();\n\n // ---------------- FINDER ----------------\n function findByFfInspect(root) {\n const visited = new Set();\n const stack = [{ node: root, frames: [], currentDoc: root }];\n\n while (stack.length > 0) {\n const { node, frames, currentDoc } = stack.pop();\n if (!node) continue;\n\n if (\n node.nodeType === Node.DOCUMENT_NODE ||\n node.nodeType === Node.DOCUMENT_FRAGMENT_NODE\n ) {\n if (visited.has(node)) continue;\n visited.add(node);\n }\n\n if (node.nodeType === Node.ELEMENT_NODE) {\n\n if (node.getAttribute && node.getAttribute(\"ff-inspect\") === target) {\n return { node, frames, iframe_dom: currentDoc };\n }\n\n // Shadow DOM\n if (node.shadowRoot) {\n stack.push({\n node: node.shadowRoot,\n frames,\n currentDoc\n });\n }\n\n // Iframe traversal\n if (node.tagName === \"IFRAME\") {\n try {\n const doc = node.contentDocument || node.contentWindow?.document;\n if (doc) {\n const meta = {\n id: node.id || null,\n name: node.getAttribute(\"name\") || null,\n title: node.getAttribute(\"title\") || null,\n aria: node.getAttribute(\"aria-label\") || null,\n src: node.getAttribute(\"src\") || null,\n };\n\n stack.push({\n node: doc,\n frames: [...frames, meta],\n currentDoc: doc\n });\n }\n } catch (e) {}\n }\n\n const kids = node.children || node.childNodes;\n for (let i = kids.length - 1; i >= 0; i--) {\n stack.push({ node: kids[i], frames, currentDoc });\n }\n }\n\n else if (\n node.nodeType === Node.DOCUMENT_NODE ||\n node.nodeType === Node.DOCUMENT_FRAGMENT_NODE\n ) {\n const kids = node.childNodes;\n for (let i = kids.length - 1; i >= 0; i--) {\n stack.push({ node: kids[i], frames, currentDoc });\n }\n }\n }\n\n return null;\n }\n\n // ---------------- CLICKABILITY ----------------\n function isClickable(el) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false;\n const tag = el.tagName.toLowerCase();\n if (tag === \"button\" || tag === \"a\") return true;\n if (el.getAttribute(\"role\") === \"button\") return true;\n if (tag === \"input\") {\n const t = (el.getAttribute(\"type\") || \"\").toLowerCase();\n return t === \"button\" || t === \"submit\";\n }\n return false;\n }\n\n function findClickableInside(root) {\n const queue = [root];\n while (queue.length) {\n const node = queue.shift();\n if (isClickable(node)) return node;\n const kids = node.children || node.childNodes;\n for (let k of kids) queue.push(k);\n }\n return null;\n }\n\n // ---------------- XPATH BUILDER ----------------\n function buildXPath(el) {\n if (!el) return null;\n\n if (el.id) return \"//*[@id=\\\"\" + el.id + \"\\\"]\";\n\n const name = el.getAttribute(\"name\");\n if (name) return \"//*[@name=\\\"\" + name + \"\\\"]\";\n\n const text = el.textContent && el.textContent.trim();\n if (text && text.length < 50) {\n const escaped = text.replace(/\"/g, '\\\"');\n const xp = \"//*[text()=\\\"\" + escaped + \"\\\"]\";\n try {\n const n = document.evaluate(xp, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);\n if (n.singleNodeValue === el) return xp;\n } catch {}\n }\n\n const parts = [];\n let node = el;\n\n while (node && node.nodeType === Node.ELEMENT_NODE) {\n let idx = 1;\n let sib = node.previousSibling;\n while (sib) {\n if (sib.nodeType === Node.ELEMENT_NODE && sib.nodeName === node.nodeName) idx++;\n sib = sib.previousSibling;\n }\n parts.unshift(node.nodeName.toLowerCase() + \"[\" + idx + \"]\");\n node = node.parentNode instanceof ShadowRoot ? node.parentNode.host : node.parentNode;\n }\n\n return \"/\" + parts.join(\"/\");\n }\n\n // ---------------- WAIT LOOP ----------------\n (function attempt() {\n const found = findByFfInspect(document);\n\n if (!found) {\n if (Date.now() - start > MAX_WAIT) {\n return callback({ success: false, reason: \"timeout\" });\n }\n return setTimeout(attempt, INTERVAL);\n }\n\n let targetNode = found.node;\n if (!isClickable(targetNode)) {\n const inside = findClickableInside(targetNode);\n if (inside) targetNode = inside;\n }\n\n const xpath_if = buildXPath(targetNode);\n\n return callback({\n success: true,\n xpath_if,\n frames: found.frames,\n iframe_dom_html: found.iframe_dom?.documentElement?.outerHTML || null\n });\n })();\n";