ff-automationv2 2.1.3 → 2.2.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 (362) hide show
  1. package/.env +1 -0
  2. package/.husky/pre-commit +5 -0
  3. package/ARCHITECTURE.md +6 -3
  4. package/Note.md +7 -0
  5. package/RELEASE_GUIDE.md +1 -1
  6. package/bitbucket-pipelines.yml +4 -25
  7. package/eslint.config.ts +4 -0
  8. package/package.json +21 -9
  9. package/src/ai/llmcalls/decodeApiKey.ts +1 -1
  10. package/src/ai/llmcalls/llmAction.ts +154 -47
  11. package/src/ai/llmprompts/llmPromptTypes/systemPromptTypes.ts +45 -0
  12. package/src/ai/llmprompts/promptRegistry.ts +34 -8
  13. package/src/ai/llmprompts/systemPrompts/actionExtractorPrompt.ts +4 -7
  14. package/src/ai/llmprompts/systemPrompts/combinedActionExtractorPrompt.ts +41 -0
  15. package/src/ai/llmprompts/systemPrompts/combinedActionExtractorPromptMob.ts +53 -0
  16. package/src/ai/llmprompts/systemPrompts/errorDescriptionPrompt.ts +43 -14
  17. package/src/ai/llmprompts/systemPrompts/fireflinkElementIndexExtactors.ts +111 -36
  18. package/src/ai/llmprompts/systemPrompts/fireflinkElementIndexExtractor_Mob.ts +53 -0
  19. package/src/ai/llmprompts/systemPrompts/getActionExtractorPrompt.ts +62 -0
  20. package/src/ai/llmprompts/systemPrompts/getActionExtractorPromptMob.ts +54 -0
  21. package/src/ai/llmprompts/systemPrompts/mobileKeywordExtractor.ts +39 -0
  22. package/src/ai/llmprompts/systemPrompts/userStoryToListPrompt.ts +48 -11
  23. package/src/ai/llmprompts/systemPrompts/verifyActionExtractorPrompt.ts +82 -0
  24. package/src/ai/llmprompts/systemPrompts/verifyActionExtractorPromptMob.ts +58 -0
  25. package/src/ai/llmprompts/systemPrompts/visionPrompt.ts +8 -14
  26. package/src/ai/llmprompts/systemPrompts/visionPromptMobile.ts +25 -0
  27. package/src/ai/llmprompts/systemPrompts/waitActionExtractorPrompt.ts +65 -0
  28. package/src/ai/llmprompts/systemPrompts/waitActionExtractorPromptMob.ts +45 -0
  29. package/src/ai/llmprompts/userPrompts/userPrompt.ts +28 -4
  30. package/src/automation/actions/executor.ts +4478 -48
  31. package/src/automation/actions/interaction/alert/clickCancelOnAlertPopup.ts +21 -0
  32. package/src/automation/actions/interaction/alert/clickOkOnAlertPopup.ts +20 -0
  33. package/src/automation/actions/interaction/alert/enterDataToAlert.ts +20 -0
  34. package/src/automation/actions/interaction/alert/getTextPresentOnAlertPopup.ts +19 -0
  35. package/src/automation/actions/interaction/alert/verifyAlertPopUpMessageContainsString.ts +32 -0
  36. package/src/automation/actions/interaction/alert/verifyAlertPopupIsDisplayed.ts +19 -0
  37. package/src/automation/actions/interaction/alert/verifyTextPresentOnAlertPopup.ts +33 -0
  38. package/src/automation/actions/interaction/alert/waitTillAlertIsPresent.ts +25 -0
  39. package/src/automation/actions/interaction/clear/clear.ts +61 -0
  40. package/src/automation/actions/interaction/clear/clearAndEnter.ts +58 -0
  41. package/src/automation/actions/interaction/click/click.ts +61 -0
  42. package/src/automation/actions/interaction/click/clickNtimes.ts +67 -0
  43. package/src/automation/actions/interaction/click/clickUsingJs.ts +33 -0
  44. package/src/automation/actions/interaction/click/doubleClick.ts +66 -0
  45. package/src/automation/actions/interaction/click/rightClick.ts +29 -0
  46. package/src/automation/actions/interaction/click/waitAndClick.ts +83 -0
  47. package/src/automation/actions/interaction/dragAndDrop/dragAndDrop.ts +46 -0
  48. package/src/automation/actions/interaction/enterActions/enterInput.ts +81 -0
  49. package/src/automation/actions/interaction/enterActions/enterInputAndPress.ts +134 -0
  50. package/src/automation/actions/interaction/enterActions/enterUrl.ts +52 -0
  51. package/src/automation/actions/interaction/enterActions/enterusingJs.ts +41 -0
  52. package/src/automation/actions/interaction/enterActions/waitAndEnter.ts +106 -0
  53. package/src/automation/actions/interaction/find/findElements.ts +57 -0
  54. package/src/automation/actions/interaction/get/browserWindowGetPosition.ts +15 -0
  55. package/src/automation/actions/interaction/get/getAllBrokenImages.ts +16 -0
  56. package/src/automation/actions/interaction/get/getAllBrokenLinkCount.ts +17 -0
  57. package/src/automation/actions/interaction/get/getAllBrokenLinks.ts +16 -0
  58. package/src/automation/actions/interaction/get/getAllConsoleErrors.ts +16 -0
  59. package/src/automation/actions/interaction/get/getAllConsoleInformation.ts +16 -0
  60. package/src/automation/actions/interaction/get/getAllConsoleLogs.ts +16 -0
  61. package/src/automation/actions/interaction/get/getAllConsoleWarnings.ts +18 -0
  62. package/src/automation/actions/interaction/get/getAllCookieNames.ts +16 -0
  63. package/src/automation/actions/interaction/get/getAllCookieValues.ts +16 -0
  64. package/src/automation/actions/interaction/get/getAllSelectedOptions.ts +43 -0
  65. package/src/automation/actions/interaction/get/getAllTheOptionsFromListBoxAsText.ts +46 -0
  66. package/src/automation/actions/interaction/get/getAllTheOptionsFromListBoxAsTextInSortedOrder.ts +54 -0
  67. package/src/automation/actions/interaction/get/getAllTheSelectedOptionsFromListBoxAsText.ts +43 -0
  68. package/src/automation/actions/interaction/get/getAllWindowHandles.ts +18 -0
  69. package/src/automation/actions/interaction/get/getAttribute.ts +83 -0
  70. package/src/automation/actions/interaction/get/getAudioCurrentPlaybackRate.ts +35 -0
  71. package/src/automation/actions/interaction/get/getAudioCurrentSeekTime.ts +36 -0
  72. package/src/automation/actions/interaction/get/getAudioCurrentVolume.ts +36 -0
  73. package/src/automation/actions/interaction/get/getAudioDecodedByte.ts +43 -0
  74. package/src/automation/actions/interaction/get/getAudioDefaultPlaybackRate.ts +36 -0
  75. package/src/automation/actions/interaction/get/getAudioDimension.ts +43 -0
  76. package/src/automation/actions/interaction/get/getAudioHeight.ts +38 -0
  77. package/src/automation/actions/interaction/get/getAudioMediaLength.ts +34 -0
  78. package/src/automation/actions/interaction/get/getAudioMediaSource.ts +44 -0
  79. package/src/automation/actions/interaction/get/getAudioWidth.ts +38 -0
  80. package/src/automation/actions/interaction/get/getBestPracticesScore.ts +20 -0
  81. package/src/automation/actions/interaction/get/getBrowserCount.ts +17 -0
  82. package/src/automation/actions/interaction/get/getBrowserVersion.ts +16 -0
  83. package/src/automation/actions/interaction/get/getCapabilityNames.ts +18 -0
  84. package/src/automation/actions/interaction/get/getClipBoardText.ts +16 -0
  85. package/src/automation/actions/interaction/get/getCollectiveApiResponseTime.ts +27 -0
  86. package/src/automation/actions/interaction/get/getCollectiveApiStatusCode.ts +29 -0
  87. package/src/automation/actions/interaction/get/getCssValue.ts +38 -0
  88. package/src/automation/actions/interaction/get/getCurrentDayOfTheWeek.ts +18 -0
  89. package/src/automation/actions/interaction/get/getCurrentSecondsFromCurrentSystemTime.ts +19 -0
  90. package/src/automation/actions/interaction/get/getCurrentSystemDate.ts +18 -0
  91. package/src/automation/actions/interaction/get/getCurrentSystemDay.ts +16 -0
  92. package/src/automation/actions/interaction/get/getCurrentSystemMonth.ts +16 -0
  93. package/src/automation/actions/interaction/get/getCurrentSystemTime.ts +18 -0
  94. package/src/automation/actions/interaction/get/getCurrentSystemYear.ts +18 -0
  95. package/src/automation/actions/interaction/get/getCurrentWindowHandle.ts +36 -0
  96. package/src/automation/actions/interaction/get/getDataFromApiRequestHeaderForJsonPath.ts +21 -0
  97. package/src/automation/actions/interaction/get/getDataFromApiResponseForJsonPath.ts +21 -0
  98. package/src/automation/actions/interaction/get/getDateWithGivenFormat.ts +35 -0
  99. package/src/automation/actions/interaction/get/getDriverInstance.ts +35 -0
  100. package/src/automation/actions/interaction/get/getFirstContentfulPaint.ts +16 -0
  101. package/src/automation/actions/interaction/get/getFirstSelectedOption.ts +44 -0
  102. package/src/automation/actions/interaction/get/getFullPaintTime.ts +16 -0
  103. package/src/automation/actions/interaction/get/getHTMLCodeOfPage.ts +18 -0
  104. package/src/automation/actions/interaction/get/getHeightOfBrowserWindow.ts +18 -0
  105. package/src/automation/actions/interaction/get/getHeightOfWebElement.ts +36 -0
  106. package/src/automation/actions/interaction/get/getHourFromCurrentSystemTime.ts +18 -0
  107. package/src/automation/actions/interaction/get/getImplicitTimeOut.ts +36 -0
  108. package/src/automation/actions/interaction/get/getLargestContentfulPaint.ts +16 -0
  109. package/src/automation/actions/interaction/get/getListBoxSize.ts +41 -0
  110. package/src/automation/actions/interaction/get/getListOfElementsFromLocatorTypeLocatorValue.ts +63 -0
  111. package/src/automation/actions/interaction/get/getLocation.ts +68 -0
  112. package/src/automation/actions/interaction/get/getMinuteFromCurrentSystemTime.ts +18 -0
  113. package/src/automation/actions/interaction/get/getNetworkRouteTime.ts +16 -0
  114. package/src/automation/actions/interaction/get/getNumberOfBrokenImages.ts +16 -0
  115. package/src/automation/actions/interaction/get/getNumberOfLinksPresentInCurrentPage.ts +18 -0
  116. package/src/automation/actions/interaction/get/getNumberOfWorkingLinksFromCurrentPage.ts +15 -0
  117. package/src/automation/actions/interaction/get/getOptions.ts +35 -0
  118. package/src/automation/actions/interaction/get/getPageTitle.ts +18 -0
  119. package/src/automation/actions/interaction/get/getPerformanceMetrics.ts +15 -0
  120. package/src/automation/actions/interaction/get/getPwaScore.ts +20 -0
  121. package/src/automation/actions/interaction/get/getRect.ts +87 -0
  122. package/src/automation/actions/interaction/get/getScreenshot.ts +41 -0
  123. package/src/automation/actions/interaction/get/getScreenshotAs.ts +64 -0
  124. package/src/automation/actions/interaction/get/getSeoScore.ts +20 -0
  125. package/src/automation/actions/interaction/get/getSingleApiRequestPayload.ts +22 -0
  126. package/src/automation/actions/interaction/get/getSingleApiResponse.ts +30 -0
  127. package/src/automation/actions/interaction/get/getSingleApiResponseTime.ts +28 -0
  128. package/src/automation/actions/interaction/get/getSingleApiStatusCode.ts +32 -0
  129. package/src/automation/actions/interaction/get/getSize.ts +68 -0
  130. package/src/automation/actions/interaction/get/getSizeOfBrowserWindow.ts +17 -0
  131. package/src/automation/actions/interaction/get/getStringDataFromLocalFile.ts +25 -0
  132. package/src/automation/actions/interaction/get/getSystemProperty.ts +46 -0
  133. package/src/automation/actions/interaction/get/getTagName.ts +67 -0
  134. package/src/automation/actions/interaction/get/getText.ts +68 -0
  135. package/src/automation/actions/interaction/get/getTheFirstSelectedOptionFromListBoxAsText.ts +44 -0
  136. package/src/automation/actions/interaction/get/getTotalNumberOfCookies.ts +16 -0
  137. package/src/automation/actions/interaction/get/getTunnelIdentifier.ts +25 -0
  138. package/src/automation/actions/interaction/get/getURLPresentInAddressBar.ts +18 -0
  139. package/src/automation/actions/interaction/get/getUserHomeDirectory.ts +16 -0
  140. package/src/automation/actions/interaction/get/getValueByCookieName.ts +27 -0
  141. package/src/automation/actions/interaction/get/getValueFromLocalStorage.ts +26 -0
  142. package/src/automation/actions/interaction/get/getValueOfSystemVariable.ts +20 -0
  143. package/src/automation/actions/interaction/get/getVideoCurrentPlaybackRate.ts +36 -0
  144. package/src/automation/actions/interaction/get/getVideoCurrentSeekTime.ts +36 -0
  145. package/src/automation/actions/interaction/get/getVideoCurrentVolume.ts +36 -0
  146. package/src/automation/actions/interaction/get/getVideoDecodedByte.ts +52 -0
  147. package/src/automation/actions/interaction/get/getVideoDefaultPlaybackRate.ts +36 -0
  148. package/src/automation/actions/interaction/get/getVideoDimension.ts +40 -0
  149. package/src/automation/actions/interaction/get/getVideoHeight.ts +36 -0
  150. package/src/automation/actions/interaction/get/getVideoMediaLength.ts +36 -0
  151. package/src/automation/actions/interaction/get/getVideoMediaSource.ts +46 -0
  152. package/src/automation/actions/interaction/get/getVideoWidth.ts +36 -0
  153. package/src/automation/actions/interaction/get/getWidthOfBrowser.ts +18 -0
  154. package/src/automation/actions/interaction/get/getWidthOfWebElement.ts +36 -0
  155. package/src/automation/actions/interaction/get/getWorkingLinksFromCurrentPage.ts +16 -0
  156. package/src/automation/actions/interaction/get/getWrappedElement.ts +36 -0
  157. package/src/automation/actions/interaction/get/getWrappedOptionFromListBoxAsText.ts +47 -0
  158. package/src/automation/actions/interaction/get/getXLocationOfBrowserWindow.ts +18 -0
  159. package/src/automation/actions/interaction/get/getXLocationOfWebElement.ts +71 -0
  160. package/src/automation/actions/interaction/get/getYLocationOfBrowserWindow.ts +18 -0
  161. package/src/automation/actions/interaction/get/getYLocationOfWebElement.ts +70 -0
  162. package/src/automation/actions/interaction/iframe/switchToDefaultContent.ts +15 -0
  163. package/src/automation/actions/interaction/maximize/maximize.ts +15 -0
  164. package/src/automation/actions/interaction/maximize/minimize.ts +17 -0
  165. package/src/automation/actions/interaction/navigation/goBack.ts +14 -0
  166. package/src/automation/actions/interaction/navigation/navigate.ts +16 -0
  167. package/src/automation/actions/interaction/navigation/refresh.ts +14 -0
  168. package/src/automation/actions/interaction/press/mobPressBackKey.ts +19 -0
  169. package/src/automation/actions/interaction/press/pressAnyKey.ts +89 -0
  170. package/src/automation/actions/interaction/press/pressAnyKeyNTimes.ts +100 -0
  171. package/src/automation/actions/interaction/press/pressEnterKey.ts +45 -0
  172. package/src/automation/actions/interaction/scroll/scrollHorizontallyTillElementIsVisible.ts +29 -0
  173. package/src/automation/actions/interaction/scroll/scrollPageToSpecificLocation.ts +37 -0
  174. package/src/automation/actions/interaction/scroll/scrollToElement.ts +28 -0
  175. package/src/automation/actions/interaction/scroll/scrollVerticallyTillElementIsVisible.ts +29 -0
  176. package/src/automation/actions/interaction/set/setClipBoardText.ts +46 -0
  177. package/src/automation/actions/interaction/shadowDom/shadowDomClick.ts +25 -0
  178. package/src/automation/actions/interaction/shadowDom/shadowDomEnter.ts +27 -0
  179. package/src/automation/actions/interaction/shadowDom/shadowDomGetText.ts +28 -0
  180. package/src/automation/actions/interaction/shadowDom/shadowDomUpload.ts +37 -0
  181. package/src/automation/actions/interaction/shadowDom/shadowDomVerifyPartialText.ts +29 -0
  182. package/src/automation/actions/interaction/shadowDom/shadowDomVerifyText.ts +22 -0
  183. package/src/automation/actions/interaction/switch/switchToNewTabBasedOnTitle.ts +16 -0
  184. package/src/automation/actions/interaction/switch/switchToNewWindowBasedOnTitle.ts +16 -0
  185. package/src/automation/actions/interaction/switch/switchToParentWindow.ts +19 -0
  186. package/src/automation/actions/interaction/switch/switchToTabBasedOnUrl.ts +16 -0
  187. package/src/automation/actions/interaction/switch/switchToWindowBasedOnURL.ts +16 -0
  188. package/src/automation/actions/interaction/switch/switchToWindowIfTitleContainsString.ts +18 -0
  189. package/src/automation/actions/interaction/switch/switchToWindowIfUrlContainsString.ts +18 -0
  190. package/src/automation/actions/interaction/upload/uploadfile.ts +41 -0
  191. package/src/automation/actions/interaction/verify/VerifyAccessibilityScore.ts +90 -0
  192. package/src/automation/actions/interaction/verify/VerifyAllBrokenImages.ts +54 -0
  193. package/src/automation/actions/interaction/verify/VerifyAllBrowserWindowsClosed.ts +27 -0
  194. package/src/automation/actions/interaction/verify/VerifyAllOptionsAreDeSelected.ts +55 -0
  195. package/src/automation/actions/interaction/verify/VerifyAllOptionsAreSelected.ts +66 -0
  196. package/src/automation/actions/interaction/verify/VerifyAttributeValue.ts +96 -0
  197. package/src/automation/actions/interaction/verify/VerifyBestPracticesScore.ts +87 -0
  198. package/src/automation/actions/interaction/verify/VerifyBrowserHtmlCodeContainsString.ts +35 -0
  199. package/src/automation/actions/interaction/verify/VerifyBrowserWindowHeight.ts +35 -0
  200. package/src/automation/actions/interaction/verify/VerifyBrowserWindowTitleContainsString.ts +31 -0
  201. package/src/automation/actions/interaction/verify/VerifyBrowserWindowTitleIsString.ts +30 -0
  202. package/src/automation/actions/interaction/verify/VerifyBrowserWindowUrlContainsExpectedUrl.ts +30 -0
  203. package/src/automation/actions/interaction/verify/VerifyBrowserWindowUrlIsString.ts +30 -0
  204. package/src/automation/actions/interaction/verify/VerifyBrowserWindowWidth.ts +35 -0
  205. package/src/automation/actions/interaction/verify/VerifyBrowserWindowXLocation.ts +36 -0
  206. package/src/automation/actions/interaction/verify/VerifyBrowserWindowYLocation.ts +35 -0
  207. package/src/automation/actions/interaction/verify/VerifyCheckBoxIsNotSelected.ts +46 -0
  208. package/src/automation/actions/interaction/verify/VerifyCheckBoxIsSelected.ts +43 -0
  209. package/src/automation/actions/interaction/verify/VerifyCssAttributeValue.ts +62 -0
  210. package/src/automation/actions/interaction/verify/VerifyElementIsClickable.ts +86 -0
  211. package/src/automation/actions/interaction/verify/VerifyElementIsDisabled.ts +91 -0
  212. package/src/automation/actions/interaction/verify/VerifyElementIsDisplayed.ts +87 -0
  213. package/src/automation/actions/interaction/verify/VerifyElementIsEnabled.ts +87 -0
  214. package/src/automation/actions/interaction/verify/VerifyElementIsNotDisplayed.ts +45 -0
  215. package/src/automation/actions/interaction/verify/VerifyElementIsSelected.ts +83 -0
  216. package/src/automation/actions/interaction/verify/VerifyElementNotContainsText.ts +129 -0
  217. package/src/automation/actions/interaction/verify/VerifyHeightOfWebElement.ts +101 -0
  218. package/src/automation/actions/interaction/verify/VerifyHexCodeForGivenXYCoordinates.ts +51 -0
  219. package/src/automation/actions/interaction/verify/VerifyIfAllCookiesAreDeleted.ts +27 -0
  220. package/src/automation/actions/interaction/verify/VerifyIfAudioEnded.ts +48 -0
  221. package/src/automation/actions/interaction/verify/VerifyIfAudioIsMuted.ts +48 -0
  222. package/src/automation/actions/interaction/verify/VerifyIfAudioIsPaused.ts +48 -0
  223. package/src/automation/actions/interaction/verify/VerifyIfAudioIsPlaying.ts +57 -0
  224. package/src/automation/actions/interaction/verify/VerifyIfBrowserWindowIsClosed.ts +27 -0
  225. package/src/automation/actions/interaction/verify/VerifyIfCookieNameIsAdded.ts +38 -0
  226. package/src/automation/actions/interaction/verify/VerifyIfCookieNameIsDeleted.ts +33 -0
  227. package/src/automation/actions/interaction/verify/VerifyIfCookieObjectIsPresent.ts +49 -0
  228. package/src/automation/actions/interaction/verify/VerifyIfGivenOptionIsDuplicate.ts +60 -0
  229. package/src/automation/actions/interaction/verify/VerifyIfImageIsBroken.ts +40 -0
  230. package/src/automation/actions/interaction/verify/VerifyIfLinkIsBroken.ts +38 -0
  231. package/src/automation/actions/interaction/verify/VerifyIfLinkIsWorking.ts +37 -0
  232. package/src/automation/actions/interaction/verify/VerifyIfLinksAreBroken.ts +46 -0
  233. package/src/automation/actions/interaction/verify/VerifyIfLinksAreWorking.ts +45 -0
  234. package/src/automation/actions/interaction/verify/VerifyIfOptionWithIndexIsDeselectedInElement.ts +75 -0
  235. package/src/automation/actions/interaction/verify/VerifyIfOptionWithIndexIsSelectedInListBox.ts +77 -0
  236. package/src/automation/actions/interaction/verify/VerifyIfOptionWithTextIsDeselected.ts +40 -0
  237. package/src/automation/actions/interaction/verify/VerifyIfOptionWithValueIsDeselected.ts +61 -0
  238. package/src/automation/actions/interaction/verify/VerifyIfOptionWithValueIsSelected.ts +58 -0
  239. package/src/automation/actions/interaction/verify/VerifyIfOptionWithVisibleTextIsSelected.ts +40 -0
  240. package/src/automation/actions/interaction/verify/VerifyIfSpecifiedOptionIsSelected.ts +78 -0
  241. package/src/automation/actions/interaction/verify/VerifyIfStatusCodeOfALinkIsStatusCode.ts +37 -0
  242. package/src/automation/actions/interaction/verify/VerifyIfStatusCodesOfLinks.ts +46 -0
  243. package/src/automation/actions/interaction/verify/VerifyIfVideoEnded.ts +49 -0
  244. package/src/automation/actions/interaction/verify/VerifyIfVideoIsMuted.ts +49 -0
  245. package/src/automation/actions/interaction/verify/VerifyIfVideoIsPaused.ts +49 -0
  246. package/src/automation/actions/interaction/verify/VerifyIfVideoIsPlaying.ts +50 -0
  247. package/src/automation/actions/interaction/verify/VerifyIfVideoPlayingInMute.ts +58 -0
  248. package/src/automation/actions/interaction/verify/VerifyIfVideoPlayingInUnmute.ts +58 -0
  249. package/src/automation/actions/interaction/verify/VerifyIfXAndYCoordinateOfElement.ts +101 -0
  250. package/src/automation/actions/interaction/verify/VerifyLinkNavigatesToTitle.ts +41 -0
  251. package/src/automation/actions/interaction/verify/VerifyListBoxOptionsAreSorted.ts +72 -0
  252. package/src/automation/actions/interaction/verify/VerifyNavigateURL.ts +34 -0
  253. package/src/automation/actions/interaction/verify/VerifyNumberOfElementsByTagName.ts +35 -0
  254. package/src/automation/actions/interaction/verify/VerifyNumberOfElementsByXpath.ts +52 -0
  255. package/src/automation/actions/interaction/verify/VerifyPartialAttributeValue.ts +94 -0
  256. package/src/automation/actions/interaction/verify/VerifyPartialTitleOfCurrentPage.ts +29 -0
  257. package/src/automation/actions/interaction/verify/VerifyPerformanceScore.ts +84 -0
  258. package/src/automation/actions/interaction/verify/VerifyPwaScore.ts +66 -0
  259. package/src/automation/actions/interaction/verify/VerifyRadioButtonIsNotSelected.ts +42 -0
  260. package/src/automation/actions/interaction/verify/VerifyRadioButtonIsSelected.ts +42 -0
  261. package/src/automation/actions/interaction/verify/VerifySeoScore.ts +79 -0
  262. package/src/automation/actions/interaction/verify/VerifyTagName.ts +44 -0
  263. package/src/automation/actions/interaction/verify/VerifyThatSpecifiedOptionIsNotSelected.ts +73 -0
  264. package/src/automation/actions/interaction/verify/VerifyTitleInAllPage.ts +51 -0
  265. package/src/automation/actions/interaction/verify/VerifyTitleOfCurrentPage.ts +30 -0
  266. package/src/automation/actions/interaction/verify/VerifyValueOfElementContainsString.ts +51 -0
  267. package/src/automation/actions/interaction/verify/VerifyValueOfElementIsCleared.ts +45 -0
  268. package/src/automation/actions/interaction/verify/VerifyValueOfElementIsString.ts +54 -0
  269. package/src/automation/actions/interaction/verify/VerifyWidthOfElement.ts +90 -0
  270. package/src/automation/actions/interaction/verify/VerifyXLocationOfElement.ts +89 -0
  271. package/src/automation/actions/interaction/verify/VerifyYLocationOfElement.ts +90 -0
  272. package/src/automation/actions/interaction/verify/checkIfElementIsDisplayed.ts +83 -0
  273. package/src/automation/actions/interaction/verify/verifypartialtext.ts +131 -0
  274. package/src/automation/actions/interaction/verify/verifytext.ts +143 -0
  275. package/src/automation/actions/interaction/wait/wait.ts +16 -0
  276. package/src/automation/actions/interaction/wait/waitTillAttributeOfElementIsString.ts +88 -0
  277. package/src/automation/actions/interaction/wait/waitTillElementContainsText.ts +79 -0
  278. package/src/automation/actions/interaction/wait/waitTillElementHasText.ts +71 -0
  279. package/src/automation/actions/interaction/wait/waitTillElementIsClickable.ts +72 -0
  280. package/src/automation/actions/interaction/wait/waitTillPresenceOfAllElements.ts +72 -0
  281. package/src/automation/actions/interaction/wait/waitTillPresenceOfElement.ts +67 -0
  282. package/src/automation/actions/interface/IframeInterface.ts +6 -0
  283. package/src/automation/actions/interface/alertActionInterface.ts +39 -0
  284. package/src/automation/actions/interface/clearActionInterface.ts +27 -0
  285. package/src/automation/actions/interface/clickActionInterface.ts +87 -0
  286. package/src/automation/actions/interface/dragAndDropToElementInterface.ts +18 -0
  287. package/src/automation/actions/interface/findActionInterface.ts +15 -0
  288. package/src/automation/actions/interface/getActionInterface.ts +873 -0
  289. package/src/automation/actions/interface/interactionActionInterface.ts +51 -3
  290. package/src/automation/actions/interface/maximizeAndMinimizeInterface.ts +12 -0
  291. package/src/automation/actions/interface/navigationActionInterface.ts +1 -1
  292. package/src/automation/actions/interface/pressActionInterface.ts +25 -0
  293. package/src/automation/actions/interface/scrollActionInterface.ts +45 -0
  294. package/src/automation/actions/interface/setActionInterface.ts +10 -0
  295. package/src/automation/actions/interface/shadowDomInterface.ts +78 -0
  296. package/src/automation/actions/interface/switchingActionInterface.ts +93 -0
  297. package/src/automation/actions/interface/uploadFile.ts +14 -0
  298. package/src/automation/actions/interface/verifyActionInterface.ts +743 -0
  299. package/src/automation/actions/interface/waitActionInterface.ts +75 -0
  300. package/src/automation/browserSession/initiateBrowserSession.ts +12 -40
  301. package/src/automation/mobileSession/initiateMobileSession.ts +81 -0
  302. package/src/core/constants/allAction.ts +21 -0
  303. package/src/core/constants/defaultValues.ts +1 -0
  304. package/src/core/constants/supportedActions.ts +27 -2
  305. package/src/core/interfaces/actionInterface.ts +238 -3
  306. package/src/core/interfaces/automationRunnerInterface.ts +2 -1
  307. package/src/core/interfaces/browserCapabilitiesInterface.ts +1 -3
  308. package/src/core/interfaces/errorInfoInterface.ts +7 -0
  309. package/src/core/interfaces/executionDetails.ts +10 -6
  310. package/src/core/interfaces/fireflinkScriptPayloadInterface.ts +17 -5
  311. package/src/core/interfaces/llmResponseInterface.ts +28 -4
  312. package/src/core/interfaces/promptInterface.ts +20 -0
  313. package/src/core/interfaces/scriptGenrationDataInterface.ts +2 -2
  314. package/src/core/interfaces/simplifyAndFlattenInterface.ts +13 -0
  315. package/src/core/main/actionHandlerFactory.ts +1528 -53
  316. package/src/core/main/executionContext.ts +5 -1
  317. package/src/core/main/runAutomationScript.ts +528 -123
  318. package/src/core/main/stepProcessor.ts +4 -2
  319. package/src/core/types/llmResponseType.ts +7 -3
  320. package/src/core/types/promptMap.ts +7 -4
  321. package/src/core/types/promptType.ts +6 -0
  322. package/src/core/types/scriptTypesType.ts +1 -0
  323. package/src/domAnalysis/getRelaventElements.ts +10 -1
  324. package/src/domAnalysis/relativeElementsFromDom.ts +205 -0
  325. package/src/domAnalysis/searchBest.ts +130 -17
  326. package/src/domAnalysis/simplifyAndFlatten.ts +139 -10
  327. package/src/fireflinkData/fireflinkLocators/getListOfLocators.ts +1 -2
  328. package/src/fireflinkData/fireflinkScript/scriptGenrationData.ts +70 -21
  329. package/src/imageAnalysisMobile/annotatedScreenshotMobile.ts +137 -0
  330. package/src/imageAnalysisMobile/annotatedScreenshotMobileInterface.ts +6 -0
  331. package/src/imageAnalysisWeb/annotateScreenshot.ts +196 -0
  332. package/src/imageAnalysisWeb/generateAnnotatedScreenshots.ts +43 -0
  333. package/src/imageAnalysisWeb/screenshotInterface.ts +18 -0
  334. package/src/index.ts +2 -2
  335. package/src/service/{fireflinkApi.service.ts → api/fireflinkApi.service.ts} +5 -7
  336. package/src/service/kafka/fireflinkKafka.service.ts +25 -0
  337. package/src/service/scriptRunner.service.ts +23 -42
  338. package/src/utils/DomExtraction/jsForAttributeInjection.ts +68 -12
  339. package/src/utils/InstancesDetails/getInstancesInfo.ts +12 -0
  340. package/src/utils/alertPopup/isAlertPresent.ts +20 -0
  341. package/src/utils/alertPopup/isAlertPresentInterface.ts +6 -0
  342. package/src/utils/helpers/enterActionHelper.ts +88 -2
  343. package/src/utils/helpers/imageUtils.ts +10 -0
  344. package/src/utils/helpers/sameActionsHelper.ts +52 -0
  345. package/src/utils/helpers/xpathcreation.ts +59 -0
  346. package/src/utils/iframesExtraction/findElementUsingFF.ts +45 -0
  347. package/src/utils/iframesExtraction/iframeInterface.ts +22 -0
  348. package/src/utils/iframesExtraction/switchToIframeByMeta.ts +23 -0
  349. package/src/utils/javascript/jsFindElement.ts +39 -31
  350. package/src/utils/javascript/jsForShadowRoot.ts +9 -9
  351. package/src/utils/javascript/jsForVision.ts +151 -0
  352. package/src/utils/logger/logData.ts +126 -47
  353. package/src/utils/mobileXpath/findXpathFromIndex.ts +87 -0
  354. package/src/utils/mobileXpath/findXpathFromIndexInterface.ts +4 -0
  355. package/src/utils/newTab/newTabTracker.ts +62 -0
  356. package/src/automation/actions/interaction/click.ts +0 -25
  357. package/src/automation/actions/interaction/enterInput.ts +0 -36
  358. package/src/automation/actions/navigation/getTitle.ts +0 -9
  359. package/src/automation/actions/navigation/goBack.ts +0 -9
  360. package/src/automation/actions/navigation/navigate.ts +0 -10
  361. package/src/automation/actions/navigation/refresh.ts +0 -9
  362. package/src/automation/actions/wait/wait.ts +0 -10
@@ -1,86 +1,1561 @@
1
1
  import { ExecutionContext } from "../main/executionContext.js";
2
2
  import { ActionExecutor } from "../../automation/actions/executor.js";
3
+ import { logger } from "../../utils/logger/logData.js"
4
+
5
+
6
+ type ActionHandler = (result?: any) => Promise<void>;
3
7
 
4
8
  export function createActionHandlers(
5
9
  context: ExecutionContext,
6
- pageLoad: number,
7
- implicit: number
8
- ): Record<string, (result: any) => Promise<void>> {
10
+ ): Record<string, ActionHandler> {
9
11
 
10
- return {
12
+ const requireExecutor = (): ActionExecutor => {
13
+ if (!context.executor) {
14
+ throw new Error("Browser not initialized.");
15
+ }
16
+ return context.executor;
17
+ };
18
+
19
+ const withExecutor =
20
+ (fn: (executor: ActionExecutor, result?: any) => Promise<void>): ActionHandler =>
21
+ async (result?: any) => {
22
+ try {
23
+ const executor = requireExecutor();
24
+ await fn(executor, result);
25
+ }
26
+ catch (error) {
27
+ logger.error("Error in createActionHandlers", error)
28
+ throw error
29
+ }
30
+ };
11
31
 
32
+ return {
12
33
  open: async () => {
13
- await context.session.open({
14
- browserName: "chrome",
15
- pageLoad,
16
- implicit
17
- });
18
-
19
- context.executor = new ActionExecutor(
20
- await context.session.getCurrentBrowser(),
21
- context.scriptAppender,
22
- context.locator,
23
- context.request.platform
24
- );
25
-
26
- context.scriptAppender.add({
27
- nlpName: "OpenBrowser",
28
- elementsData: [],
29
- stepInputs: []
30
- });
31
- },
34
+ try {
35
+ await context.session.open();
36
+ context.executor = new ActionExecutor(
37
+ await context.session.getCurrentDriver(),
38
+ context.scriptAppender,
39
+ context.locator,
40
+ context.request.platform
41
+ );
32
42
 
33
- navigate: async (result: any) => {
34
- if (!context.executor) {
35
- throw new Error("Browser not initialized.");
43
+ context.scriptAppender.add(async () => ({
44
+ nlpName: "OpenBrowser",
45
+ elementsData: [],
46
+ stepInputs: []
47
+ }));
36
48
  }
49
+ catch (error) {
37
50
 
38
- await context.executor.navigate(result.response.keywords[0]);
39
- },
40
- goBack: async () => {
41
- if (!context.executor) {
42
- throw new Error("Browser not initialized.");
51
+ logger.error("Error in createActionHandlers", error)
52
+
53
+ throw error;
43
54
  }
44
- await context.executor.goBack();
45
55
  },
46
- refresh: async () => {
47
- if (!context.executor) {
48
- throw new Error("Browser not initialized.");
56
+ openApp: async (result) => {
57
+ try {
58
+ await context.androidSession.open({
59
+ capabilities: {
60
+ platformName: "Android",
61
+ "appium:platformVersion": context.request.platform_version,
62
+ "appium:deviceName": "AndroidDevice",
63
+ "appium:udid": context.request.realDeviceId,
64
+ "appium:automationName": "UiAutomator2",
65
+ "appium:ignoreHiddenApiPolicyError": true,
66
+ "appium:shouldUseCompactResponses": true,
67
+ "appium:ignoreUnimportantViews": false,
68
+ "appium:disableAndroidWatcher": true,
69
+ "appium:disableWindowAnimation": true,
70
+ "appium:uiautomator2ServerLaunchTimeout": 60000,
71
+ "appium:uiautomator2ServerReadTimeout": 60000,
72
+ "appium:waitForIdleTimeout": 60000,
73
+ "appium:waitForIdlePollingInterval": 60000,
74
+ "appium:waitForSelectorTimeout": 60000,
75
+ },
76
+ keywords: result.keywords
77
+ })
78
+
79
+ context.executor = new ActionExecutor(
80
+ await context.androidSession.getCurrentDriver(),
81
+ context.scriptAppender,
82
+ context.locator,
83
+ context.request.platform
84
+ );
85
+
86
+ context.scriptAppender.add(async () => ({
87
+ nlpName: "Open Android App",
88
+ elementsData: [],
89
+ stepInputs: [result.keywords[0], result.keywords[1]]
90
+ }));
91
+ }
92
+ catch (error) {
93
+
94
+ logger.error("Error in createActionHandlers", error)
95
+
96
+ throw error;
49
97
  }
50
- await context.executor.refresh();
51
98
  },
52
- wait: async (result: any) => {
53
- if (!context.executor) {
54
- throw new Error("Browser not initialized.");
99
+
100
+ close: async () => {
101
+ try {
102
+ await context.session.close();
103
+ context.scriptAppender.add(async () => ({
104
+ nlpName: "CloseBrowser",
105
+ elementsData: [],
106
+ stepInputs: []
107
+ }));
108
+ }
109
+ catch (error) {
110
+ logger.error("Error in createActionHandlers", error)
111
+
112
+ throw error;
55
113
  }
56
- await context.executor.wait(result.value);
57
114
  },
58
- click: async (result: any) => {
59
- if (!context.executor) {
60
- throw new Error("Browser not initialized.");
115
+
116
+ closeApp: async () => {
117
+ try {
118
+ await context.androidSession.close();
119
+ context.scriptAppender.add(async () => ({
120
+ nlpName: "CloseApp",
121
+ elementsData: [],
122
+ stepInputs: []
123
+ }));
124
+ }
125
+ catch (error) {
126
+ logger.error("Error in createActionHandlers", error)
127
+
128
+ throw error;
61
129
  }
62
- await context.executor.click(
130
+ },
131
+
132
+ navigate: withExecutor(async (executor, result) => {
133
+ await executor.navigate(result.keywords[0]);
134
+
135
+ }),
136
+
137
+ maximize: withExecutor(async (executor) => {
138
+ await executor.maximize();
139
+ }),
140
+ minimize: withExecutor(async (executor) => {
141
+ await executor.minimize();
142
+ }),
143
+
144
+ goBack: withExecutor(async (executor) => {
145
+ await executor.goBack();
146
+ }),
147
+
148
+ refresh: withExecutor(async (executor) => {
149
+ await executor.refresh();
150
+ }),
151
+
152
+ Sleep: withExecutor(async (executor, result) => {
153
+ await executor.wait(result.value);
154
+ }),
155
+
156
+ switchToFrame: withExecutor(async (executor, result) => {
157
+ await executor.switchToFrame(
158
+ result.driver,
159
+ result.selector,
160
+ result.frames,
161
+ result.elementName,
162
+ result.elementType
163
+ );
164
+ }),
165
+
166
+ Click: withExecutor(async (executor, result) => {
167
+ await executor.click(
63
168
  result.pageDOM,
64
169
  result.selector,
65
170
  result.fireflinkIndex,
66
171
  result.elementName,
67
172
  result.elementType
68
173
  );
69
- },
174
+ }),
175
+ RightClick: withExecutor(async (executor, result) => {
176
+ await executor.rightClick(
177
+ result.pageDOM,
178
+ result.selector,
179
+ result.fireflinkIndex,
180
+ result.elementName,
181
+ result.elementType
182
+ );
183
+ }),
184
+ DoubleClick: withExecutor(async (executor, result) => {
185
+ await executor.doubleClick(
186
+ result.pageDOM,
187
+ result.selector,
188
+ result.fireflinkIndex,
189
+ result.elementName,
190
+ result.elementType
191
+ );
192
+ }),
193
+ WaitAndClick: withExecutor(async (executor, result) => {
194
+ await executor.waitAndClick(
195
+ result.pageDOM,
196
+ result.selector,
197
+ result.value,
198
+ result.fireflinkIndex,
199
+ result.elementName,
200
+ result.elementType
201
+ );
202
+ }),
203
+ ClickNTimes: withExecutor(async (executor, result) => {
204
+ await executor.clickNTimes(
205
+ result.pageDOM,
206
+ result.selector,
207
+ result.value,
208
+ result.fireflinkIndex,
209
+ result.elementName,
210
+ result.elementType
211
+ );
212
+ }),
213
+ ClickUsingJS: withExecutor(async (executor, result) => {
214
+ await executor.clickUsingJS(
215
+ result.pageDOM,
216
+ result.selector,
217
+ result.fireflinkIndex,
218
+ result.elementName,
219
+ result.elementType
220
+ );
221
+ }),
222
+ SendKeys: withExecutor(async (executor, result) => {
223
+ await executor.enterInput(
224
+ result.selector,
225
+ result.value,
226
+ result.fireflinkIndex,
227
+ result.pageDOM,
228
+ result.elementName,
229
+ result.elementType
230
+ );
231
+ }),
232
+ EnterDataAndPressKey: withExecutor(async (executor, result) => {
233
+ await executor.enterInputAndPress(
234
+ result.selector,
235
+ result.value,
236
+ result.fireflinkIndex,
237
+ result.pageDOM,
238
+ result.elementName,
239
+ result.elementType
240
+ );
241
+ }),
242
+ SendKeys_shadow: withExecutor(async (executor, result) => {
243
+ await executor.enterInputShadow(
244
+ result.selector,
245
+ result.value,
246
+ result.fireflinkIndex,
247
+ result.pageDOM,
248
+ result.elementName,
249
+ result.elementType
250
+ );
251
+ }),
252
+ Click_shadow: withExecutor(async (executor, result) => {
253
+ await executor.clickShadowElement(
254
+ result.selector,
255
+ result.fireflinkIndex,
256
+ result.pageDOM,
257
+ result.elementName,
258
+ result.elementType
259
+ );
260
+ }),
261
+ GetText_shadow: withExecutor(async (executor, result) => {
262
+ await executor.getTextShadowElement(
263
+ result.selector,
264
+ result.fireflinkIndex,
265
+ result.pageDOM,
266
+ result.elementName,
267
+ result.elementType
268
+ );
269
+ }),
270
+ VerifyText_shadow: withExecutor(async (executor, result) => {
271
+ await executor.verifyTextShadowElement(
272
+ result.selector,
273
+ result.value,
274
+ result.fireflinkIndex,
275
+ result.pageDOM,
276
+ result.elementName,
277
+ result.elementType
278
+ );
279
+ }),
280
+ VerifyPartialText_shadow: withExecutor(async (executor, result) => {
281
+ await executor.verifyPartialTextShadowElement(
282
+ result.selector,
283
+ result.value,
284
+ result.fireflinkIndex,
285
+ result.pageDOM,
286
+ result.elementName,
287
+ result.elementType
288
+ );
289
+ }),
290
+ upload_shadow: withExecutor(async (executor, result) => {
291
+ await executor.uploadShadowElement(
292
+ result.selector,
293
+ result.value,
294
+ result.fireflinkIndex,
295
+ result.pageDOM,
296
+ result.elementName,
297
+ result.elementType
298
+ );
299
+ }),
300
+ EnterInputUsingJS: withExecutor(async (executor, result) => {
301
+ await executor.enterInputUsingJS(
302
+ result.pageDOM,
303
+ result.selector,
304
+ result.value,
305
+ result.fireflinkIndex,
306
+ result.elementName,
307
+ result.elementType
308
+ );
309
+ }),
310
+ Builtin_DragAndDropToElement: withExecutor(async (executor, result) => {
311
+ await executor.dragAndDropToElement(
312
+ result.selector1,
313
+ result.selector2,
314
+ result.fireflinkIndex1,
315
+ result.fireflinkIndex2,
316
+ result.pageDOM,
317
+ result.elementName1,
318
+ result.elementName2,
319
+ result.elementType1,
320
+ result.elementType2
321
+ );
322
+ }),
323
+ WaitAndSendKeys: withExecutor(async (executor, result) => {
324
+ await executor.waitAndEnter(
325
+ result.selector,
326
+ result.value,
327
+ result.fireflinkIndex,
328
+ result.pageDOM,
329
+ result.elementName,
330
+ result.elementType
331
+ );
332
+ }),
70
333
 
71
- enter: async (result: any) => {
72
- if (!context.executor) {
73
- throw new Error("Browser not initialized.");
74
- }
75
- await context.executor.enterInput(
334
+ Clear: withExecutor(async (executor, result) => {
335
+ await executor.clear(
336
+ result.pageDOM,
337
+ result.selector,
338
+ result.fireflinkIndex,
339
+ result.elementName,
340
+ result.elementType
341
+ );
342
+ }),
343
+
344
+ ClearThenEnterInput: withExecutor(async (executor, result) => {
345
+ await executor.clearAndEnter(
346
+ result.pageDOM,
347
+ result.selector,
348
+ result.value,
349
+ result.fireflinkIndex,
350
+ result.elementName,
351
+ result.elementType
352
+ );
353
+ }),
354
+ upload: withExecutor(async (executor, result) => {
355
+ await executor.uploadFilePathUsingRobot(
356
+ result.pageDOM,
76
357
  result.selector,
77
358
  result.value,
78
359
  result.fireflinkIndex,
360
+ result.elementName,
361
+ result.elementType
362
+ );
363
+ }),
364
+ SwitchToNewTabBasedOnTitle: withExecutor(async (executor, result) => {
365
+ await executor.switchToNewTabBasedOnTitle(
79
366
  result.pageDOM,
367
+ result.selector,
368
+ result.value,
369
+ result.fireflinkIndex,
80
370
  result.elementName,
81
371
  result.elementType
82
372
  );
83
- }
373
+ }),
374
+ SwitchToNewTabBasedOnUrl: withExecutor(async (executor, result) => {
375
+ await executor.switchToTabBasedOnUrl(
376
+ result.pageDOM,
377
+ result.selector,
378
+ result.value,
379
+ result.fireflinkIndex,
380
+ result.elementName,
381
+ result.elementType
382
+ );
383
+ }),
384
+ SwitchToNewWindowBasedOnTitle: withExecutor(async (executor, result) => {
385
+ await executor.switchToNewWindowBasedOnTitle(
386
+ result.pageDOM,
387
+ result.selector,
388
+ result.value,
389
+ result.fireflinkIndex,
390
+ result.elementName,
391
+ result.elementType
392
+ );
393
+ }),
394
+ SwitchToNewWindowBasedOnURL: withExecutor(async (executor, result) => {
395
+ await executor.switchToWindowBasedOnURL(
396
+ result.pageDOM,
397
+ result.selector,
398
+ result.value,
399
+ result.fireflinkIndex,
400
+ result.elementName,
401
+ result.elementType
402
+ );
403
+ }),
404
+ SwitchToParentWindow: withExecutor(async (executor, result) => {
405
+ await executor.switchToParentWindow(
406
+ result.pageDOM,
407
+ result.selector,
408
+ result.value,
409
+ result.fireflinkIndex,
410
+ result.elementName,
411
+ result.elementType
412
+ );
413
+ }),
414
+ SwitchToWindowIfTitleContainsString: withExecutor(async (executor, result) => {
415
+ await executor.switchToWindowIfTitleContainsString(
416
+ result.pageDOM,
417
+ result.selector,
418
+ result.value,
419
+ result.fireflinkIndex,
420
+ result.elementName,
421
+ result.elementType
422
+ );
423
+ }),
424
+ SwitchToNewWindowIfUrlContainsString: withExecutor(async (executor, result) => {
425
+ await executor.switchToWindowIfUrlContainsString(
426
+ result.pageDOM,
427
+ result.selector,
428
+ result.value,
429
+ result.fireflinkIndex,
430
+ result.elementName,
431
+ result.elementType
432
+ );
433
+ }),
84
434
 
85
- };
86
- }
435
+ VerifyText: withExecutor(async (executor, result) => {
436
+ await executor.verifyText(
437
+ result.pageDOM,
438
+ result.selector,
439
+ result.value,
440
+ result.fireflinkIndex,
441
+ result.elementName,
442
+ result.elementType
443
+ );
444
+ }),
445
+ VerifyPartialText: withExecutor(async (executor, result) => {
446
+ await executor.verifyPartialText(
447
+ result.pageDOM,
448
+ result.selector,
449
+ result.value,
450
+ result.fireflinkIndex,
451
+ result.elementName,
452
+ result.elementType
453
+ );
454
+ }),
455
+ VerifyElementIsDisplayed: withExecutor(async (executor, result) => {
456
+ await executor.VerifyElementIsDisplayed(
457
+ result.pageDOM,
458
+ result.selector,
459
+ result.fireflinkIndex,
460
+ result.elementName,
461
+ result.elementType
462
+ );
463
+ }),
464
+ VerifyElementIsNotDisplayed: withExecutor(async (executor, result) => {
465
+ await executor.VerifyElementIsNotDisplayed(
466
+ result.pageDOM,
467
+ result.selector,
468
+ result.fireflinkIndex,
469
+ result.elementName,
470
+ result.elementType
471
+ );
472
+ }),
473
+ VerifyElementIsSelected: withExecutor(async (executor, result) => {
474
+ await executor.VerifyElementIsSelected(
475
+ result.pageDOM,
476
+ result.selector,
477
+ result.fireflinkIndex,
478
+ result.elementName,
479
+ result.elementType
480
+ );
481
+ }),
482
+ VerifyElementIsEnabled: withExecutor(async (executor, result) => {
483
+ await executor.VerifyElementIsEnabled(
484
+ result.pageDOM,
485
+ result.selector,
486
+ result.fireflinkIndex,
487
+ result.elementName,
488
+ result.elementType
489
+ );
490
+ }),
491
+ VerifyElementIsDisabled: withExecutor(async (executor, result) => {
492
+ await executor.VerifyElementIsDisabled(
493
+ result.pageDOM,
494
+ result.selector,
495
+ result.fireflinkIndex,
496
+ result.elementName,
497
+ result.elementType
498
+ );
499
+ }),
500
+
501
+ ScrollToElement: withExecutor(async (executor, result) => {
502
+ await executor.scrollToElement(
503
+ result.pageDOM,
504
+ result.selector,
505
+ result.fireflinkIndex,
506
+ result.elementName,
507
+ result.elementType
508
+ );
509
+ }),
510
+
511
+ ScrollVerticallyTillElementIsVisible: withExecutor(async (executor, result) => {
512
+ await executor.scrollVerticallyTillElementIsVisible(
513
+ result.pageDOM,
514
+ result.selector,
515
+ result.fireflinkIndex,
516
+ result.elementName,
517
+ result.elementType
518
+ );
519
+ }),
520
+
521
+ ScrollHorizontallyTillElementIsVisible: withExecutor(async (executor, result) => {
522
+ await executor.scrollHorizontallyTillElementIsVisible(
523
+ result.pageDOM,
524
+ result.selector,
525
+ result.fireflinkIndex,
526
+ result.elementName,
527
+ result.elementType
528
+ );
529
+ }),
530
+
531
+ VerifyElementIsClickable: withExecutor(async (executor, result) => {
532
+ await executor.verifyElementIsClickable(
533
+ result.pageDOM,
534
+ result.selector,
535
+ result.fireflinkIndex,
536
+ result.elementName,
537
+ result.elementType
538
+ );
539
+ }),
540
+
541
+ VerifyElementNotContainsText: withExecutor(async (executor, result) => {
542
+ await executor.verifyElementNotContainsText(
543
+ result.pageDOM,
544
+ result.selector,
545
+ result.value,
546
+ result.fireflinkIndex,
547
+ result.elementName,
548
+ result.elementType
549
+ );
550
+ }),
551
+
552
+ VerifyIfStatusCodeOfALinkIsStatusCode: withExecutor(async (executor, result) => {
553
+ await executor.verifyIfStatusCodeOfALinkIsStatusCode(result.value);
554
+ }),
555
+
556
+ VerifyIfStatusCodesOfLinks: withExecutor(async (executor, result) => {
557
+ await executor.verifyIfStatusCodesOfLinks(result.value);
558
+ }),
559
+
560
+ VerifyIfOptionWithVisibleTextIsSelected: withExecutor(async (executor, result) => {
561
+ await executor.verifyIfOptionWithVisibleTextIsSelected(
562
+ result.pageDOM,
563
+ result.selector,
564
+ result.value,
565
+ result.fireflinkIndex,
566
+ result.elementName,
567
+ result.elementType
568
+ );
569
+ }),
570
+
571
+ VerifyIfOptionWithTextIsDeselected: withExecutor(async (executor, result) => {
572
+ await executor.verifyIfOptionWithTextIsDeselected(
573
+ result.pageDOM,
574
+ result.selector,
575
+ result.value,
576
+ result.fireflinkIndex,
577
+ result.elementName,
578
+ result.elementType
579
+ );
580
+ }),
581
+
582
+ VerifyPerformanceScore: withExecutor(async (executor, result) => {
583
+ await executor.verifyPerformanceScore(result.value);
584
+ }),
585
+
586
+ VerifyAccessibilityScore: withExecutor(async (executor, result) => {
587
+ await executor.verifyAccessibilityScore(result.value);
588
+ }),
589
+
590
+ VerifyBestPracticesScore: withExecutor(async (executor, result) => {
591
+ await executor.verifyBestPracticesScore(result.value);
592
+ }),
593
+
594
+ VerifySeoScore: withExecutor(async (executor, result) => {
595
+ await executor.verifySeoScore(result.value);
596
+ }),
597
+
598
+ VerifyPwaScore: withExecutor(async (executor, result) => {
599
+ await executor.verifyPwaScore(result.value);
600
+ }),
601
+
602
+ VerifyHexCodeForGivenXYCoordinates: withExecutor(async (executor, result) => {
603
+ await executor.verifyHexCodeForGivenXYCoordinates(result.value);
604
+ }),
605
+
606
+ GetPageTitle: withExecutor(async (executor) => {
607
+ await executor.getPageTitle();
608
+ }),
609
+
610
+ GetAttribute: withExecutor(async (executor, result) => {
611
+ await executor.getAttribute(
612
+ result.pageDOM,
613
+ result.selector,
614
+ result.value,
615
+ result.fireflinkIndex,
616
+ result.elementName,
617
+ result.elementType
618
+ );
619
+ }),
620
+
621
+ GetTagName: withExecutor(async (executor, result) => {
622
+ await executor.getTagName(
623
+ result.pageDOM,
624
+ result.selector,
625
+ result.fireflinkIndex,
626
+ result.elementName,
627
+ result.elementType
628
+ );
629
+ }),
630
+
631
+ GetListBoxSize: withExecutor(async (executor, result) => {
632
+ await executor.getListBoxSize(
633
+ result.pageDOM,
634
+ result.selector,
635
+ result.fireflinkIndex,
636
+ result.elementName,
637
+ result.elementType
638
+ );
639
+ }),
640
+
641
+ GetWrappedOptionFromListBoxAsText: withExecutor(async (executor, result) => {
642
+ await executor.getWrappedOptionFromListBoxAsText(
643
+ result.pageDOM,
644
+ result.selector,
645
+ result.fireflinkIndex,
646
+ result.elementName,
647
+ result.elementType
648
+ );
649
+ }),
650
+
651
+ GetBrowserVersion: withExecutor(async (executor) => {
652
+ await executor.getBrowserVersion();
653
+ }),
654
+
655
+ GetAllBrokenLinks: withExecutor(async (executor) => {
656
+ await executor.getAllBrokenLinks();
657
+ }),
658
+
659
+ GetHeightOfBrowserWindow: withExecutor(async (executor) => {
660
+ await executor.getHeightOfBrowserWindow();
661
+ }),
662
+
663
+ GetWidthOfBrowser: withExecutor(async (executor) => {
664
+ await executor.getWidthOfBrowser();
665
+ }),
666
+
667
+ GetXLocationOfBrowserWindow: withExecutor(async (executor) => {
668
+ await executor.getXLocationOfBrowserWindow();
669
+ }),
670
+
671
+ GetYLocationOfBrowserWindow: withExecutor(async (executor) => {
672
+ await executor.getYLocationOfBrowserWindow();
673
+ }),
674
+
675
+ GetAllBrokenLinkCount: withExecutor(async (executor) => {
676
+ await executor.getAllBrokenLinkCount();
677
+ }),
678
+
679
+ GetCurrentWindowHandle: withExecutor(async (executor) => {
680
+ await executor.getCurrentWindowHandle();
681
+ }),
682
+
683
+ GetAllWindowHandles: withExecutor(async (executor) => {
684
+ await executor.getAllWindowHandles();
685
+ }),
686
+
687
+ GetURLPresentInAddressBar: withExecutor(async (executor) => {
688
+ await executor.getURLPresentInAddressBar();
689
+ }),
690
+
691
+ GetHTMLCodeOfPage: withExecutor(async (executor) => {
692
+ await executor.getHTMLCodeOfPage();
693
+ }),
694
+
695
+ GetBrowserCount: withExecutor(async (executor) => {
696
+ await executor.getBrowserCount();
697
+ }),
698
+
699
+ GetImplicitTimeOut: withExecutor(async (executor) => {
700
+ await executor.getImplicitTimeOut();
701
+ }),
702
+
703
+ GetCapabilityNames: withExecutor(async (executor) => {
704
+ await executor.getCapabilityNames();
705
+ }),
706
+
707
+ GetCurrentSystemDate: withExecutor(async (executor) => {
708
+ await executor.getCurrentSystemDate();
709
+ }),
710
+
711
+ GetCurrentDayOfTheWeek: withExecutor(async (executor) => {
712
+ await executor.getCurrentDayOfTheWeek();
713
+ }),
714
+
715
+ GetCurrentSystemTime: withExecutor(async (executor) => {
716
+ await executor.getCurrentSystemTime();
717
+ }),
718
+
719
+ GetCurrentSecondsFromCurrentSystemTime: withExecutor(async (executor) => {
720
+ await executor.getCurrentSecondsFromCurrentSystemTime();
721
+ }),
722
+
723
+ GetCurrentSystemYear: withExecutor(async (executor) => {
724
+ await executor.getCurrentSystemYear();
725
+ }),
726
+
727
+ GetHourFromCurrentSystemTime: withExecutor(async (executor) => {
728
+ await executor.getHourFromCurrentSystemTime();
729
+ }),
730
+
731
+ GetMinuteFromCurrentSystemTime: withExecutor(async (executor) => {
732
+ await executor.getMinuteFromCurrentSystemTime();
733
+ }),
734
+
735
+ GetNumberOfLinksPresentInCurrentPage: withExecutor(async (executor) => {
736
+ await executor.getNumberOfLinksPresentInCurrentPage();
737
+ }),
738
+
739
+ GetAllConsoleWarnings: withExecutor(async (executor) => {
740
+ await executor.getAllConsoleWarnings();
741
+ }),
742
+
743
+ GetAllConsoleInformation: withExecutor(async (executor) => {
744
+ await executor.getAllConsoleInformation();
745
+ }),
746
+
747
+ GetAllConsoleErrors: withExecutor(async (executor) => {
748
+ await executor.getAllConsoleErrors();
749
+ }),
750
+
751
+ GetAllCookieValues: withExecutor(async (executor) => {
752
+ await executor.getAllCookieValues();
753
+ }),
754
+
755
+ GetSizeOfBrowserWindow: withExecutor(async (executor) => {
756
+ await executor.getSizeOfBrowserWindow();
757
+ }),
758
+
759
+ GetCurrentSystemMonth: withExecutor(async (executor) => {
760
+ await executor.getCurrentSystemMonth();
761
+ }),
762
+
763
+ GetCurrentSystemDay: withExecutor(async (executor) => {
764
+ await executor.getCurrentSystemDay();
765
+ }),
766
+
767
+ GetAllConsoleLogs: withExecutor(async (executor) => {
768
+ await executor.getAllConsoleLogs();
769
+ }),
770
+
771
+ GetTotalNumberOfCookies: withExecutor(async (executor) => {
772
+ await executor.getTotalNumberOfCookies();
773
+ }),
774
+
775
+ GetAllBrokenImages: withExecutor(async (executor) => {
776
+ await executor.getAllBrokenImages();
777
+ }),
778
+
779
+ GetAllCookieNames: withExecutor(async (executor) => {
780
+ await executor.getAllCookieNames();
781
+ }),
782
+
783
+ GetNumberOfWorkingLinksFromCurrentPage: withExecutor(async (executor) => {
784
+ await executor.getNumberOfWorkingLinksFromCurrentPage();
785
+ }),
786
+
787
+ GetNumberOfBrokenImages: withExecutor(async (executor) => {
788
+ await executor.getNumberOfBrokenImages();
789
+ }),
790
+
791
+ GetWorkingLinksFromCurrentPage: withExecutor(async (executor) => {
792
+ await executor.getWorkingLinksFromCurrentPage();
793
+ }),
794
+
795
+ BrowserWindowGetPosition: withExecutor(async (executor) => {
796
+ await executor.browserWindowGetPosition();
797
+ }),
798
+
799
+ GetClipBoardText: withExecutor(async (executor) => {
800
+ await executor.getClipBoardText();
801
+ }),
802
+
803
+ GetDriverInstance: withExecutor(async (executor) => {
804
+ await executor.getDriverInstance();
805
+ }),
806
+
807
+ GetFullPaintTime: withExecutor(async (executor) => {
808
+ await executor.getFullPaintTime();
809
+ }),
810
+
811
+ GetFirstContentfulPaint: withExecutor(async (executor) => {
812
+ await executor.getFirstContentfulPaint();
813
+ }),
814
+
815
+ GetLargestContentfulPaint: withExecutor(async (executor) => {
816
+ await executor.getLargestContentfulPaint();
817
+ }),
818
+
819
+ GetNetworkRouteTime: withExecutor(async (executor) => {
820
+ await executor.getNetworkRouteTime();
821
+ }),
822
+
823
+ GetPerformanceMetrics: withExecutor(async (executor) => {
824
+ await executor.getPerformanceMetrics();
825
+ }),
826
+
827
+ GetUserHomeDirectory: withExecutor(async (executor) => {
828
+ await executor.getUserHomeDirectory();
829
+ }),
830
+
831
+ GetSingleApiStatusCode: withExecutor(async (executor, result) => {
832
+ await executor.getSingleApiStatusCode(result.value);
833
+ }),
834
+
835
+ GetSingleApiResponse: withExecutor(async (executor, result) => {
836
+ await executor.getSingleApiResponse(result.value);
837
+ }),
838
+
839
+ GetSingleApiResponseTime: withExecutor(async (executor, result) => {
840
+ await executor.getSingleApiResponseTime(result.value);
841
+ }),
842
+
843
+ GetCollectiveApiStatusCode: withExecutor(async (executor, result) => {
844
+ await executor.getCollectiveApiStatusCode(result.value);
845
+ }),
846
+
847
+ GetCollectiveApiResponseTime: withExecutor(async (executor, result) => {
848
+ await executor.getCollectiveApiResponseTime(result.value);
849
+ }),
850
+
851
+ GetDataFromApiResponseForJsonPath: withExecutor(async (executor, result) => {
852
+ await executor.getDataFromApiResponseForJsonPath(result.value);
853
+ }),
854
+
855
+ GetSingleApiRequestPayload: withExecutor(async (executor, result) => {
856
+ await executor.getSingleApiRequestPayload(result.value);
857
+ }),
858
+
859
+ GetValueFromLocalStorage: withExecutor(async (executor, result) => {
860
+ await executor.getValueFromLocalStorage(result.value);
861
+ }),
862
+
863
+ GetValueByCookieName: withExecutor(async (executor, result) => {
864
+ await executor.getValueByCookieName(result.value);
865
+ }),
866
+
867
+ GetValueOfSystemVariable: withExecutor(async (executor, result) => {
868
+ await executor.getValueOfSystemVariable(result.value);
869
+ }),
870
+
871
+ GetSystemProperty: withExecutor(async (executor, result) => {
872
+ await executor.getSystemProperty(result.value);
873
+ }),
874
+
875
+ GetStringDataFromLocalFile: withExecutor(async (executor, result) => {
876
+ await executor.getStringDataFromLocalFile(result.value);
877
+ }),
878
+
879
+ ScrollPageToSpecificLocation: withExecutor(async (executor, result) => {
880
+ await executor.scrollPageToSpecificLocation(result.value);
881
+ }),
882
+
883
+ GetDateWithGivenFormat: withExecutor(async (executor, result) => {
884
+ await executor.getDateWithGivenFormat(result.value);
885
+ }),
886
+
887
+ GetTunnelIdentifier: withExecutor(async (executor, result) => {
888
+ await executor.getTunnelIdentifier(result.value);
889
+ }),
890
+
891
+ GetBestPracticesScore: withExecutor(async (executor, result) => {
892
+ await executor.getBestPracticesScore(result.value);
893
+ }),
894
+
895
+ GetPwaScore: withExecutor(async (executor, result) => {
896
+ await executor.getPwaScore(result.value);
897
+ }),
898
+
899
+ GetDataFromApiRequestHeaderForJsonPath: withExecutor(async (executor, result) => {
900
+ await executor.getDataFromApiRequestHeaderForJsonPath(result.value);
901
+ }),
902
+
903
+ GetSeoScore: withExecutor(async (executor, result) => {
904
+ await executor.getSeoScore(result.value);
905
+ }),
906
+
907
+
908
+
909
+
910
+ WaitTillAlertIsPresent: withExecutor(async (executor) => {
911
+ await executor.waitTillAlertIsPresent();
912
+ }),
913
+
914
+ VerifyAlertPopUpMessageContainsString: withExecutor(async (executor, result) => {
915
+ await executor.verifyAlertPopUpMessageContainsString(
916
+ result.value
917
+ );
918
+ }),
919
+
920
+ VerifyTextPresentOnAlertPopup: withExecutor(async (executor, result) => {
921
+ await executor.verifyTextPresentOnAlertPopup(
922
+ result.value
923
+ );
924
+ }),
925
+
926
+ EnterDataToAlert: withExecutor(async (executor, result) => {
927
+ await executor.enterDataToAlert(
928
+ result.value
929
+ );
930
+ }),
931
+
932
+ ClickOkOnAlertPopup: withExecutor(async (executor) => {
933
+ await executor.clickOkOnAlertPopup();
934
+ }),
935
+
936
+ ClickCancelOnAlertPopup: withExecutor(async (executor) => {
937
+ await executor.clickCancelOnAlertPopup();
938
+ }),
939
+
940
+ VerifyAlertPopupIsDisplayed: withExecutor(async (executor) => {
941
+ await executor.verifyAlertPopupIsDisplayed();
942
+ }),
943
+
944
+ GetTextPresentOnAlertPopup: withExecutor(async (executor) => {
945
+ await executor.getTextPresentOnAlertPopup();
946
+ }),
947
+
948
+ switchToDefaultContent: withExecutor(async (executor) => {
949
+ await executor.switchToDefaultContent();
950
+ }),
951
+
952
+
953
+
954
+ GetText: withExecutor(async (executor, result) => {
955
+ await executor.getText(
956
+ result.pageDOM,
957
+ result.selector,
958
+ result.fireflinkIndex,
959
+ result.elementName,
960
+ result.elementType
961
+ )
962
+ }),
963
+
964
+ GetCssValue: withExecutor(async (executor, result) => {
965
+ await executor.getCssValue(
966
+ result.pageDOM,
967
+ result.selector,
968
+ result.value,
969
+ result.fireflinkIndex,
970
+ result.elementName,
971
+ result.elementType
972
+ );
973
+ }),
974
+
975
+ GetSize: withExecutor(async (executor, result) => {
976
+ await executor.getSize(
977
+ result.pageDOM,
978
+ result.selector,
979
+ result.fireflinkIndex,
980
+ result.elementName,
981
+ result.elementType
982
+ );
983
+ }),
984
+ VerifyIfLinkIsWorking: withExecutor(async (executor, result) => {
985
+ await executor.VerifyIfLinkIsWorking(
986
+ result.value
987
+ );
988
+ }),
989
+ VerifyIfLinksAreWorking: withExecutor(async (executor, result) => {
990
+ await executor.VerifyIfLinksAreWorking(
991
+ result.value
992
+ );
993
+ }),
994
+ VerifyIfLinksAreBroken: withExecutor(async (executor, result) => {
995
+ await executor.VerifyIfLinksAreBroken(
996
+ result.value
997
+ );
998
+ }),
999
+ VerifyIfImageIsBroken: withExecutor(async (executor, result) => {
1000
+ await executor.VerifyIfImageIsBroken(
1001
+ result.value
1002
+ );
1003
+ }),
1004
+ VerifyAllBrokenImages: withExecutor(async (executor) => {
1005
+ await executor.VerifyAllBrokenImages(
1006
+ );
1007
+ }),
1008
+
1009
+
1010
+
1011
+ GetRect: withExecutor(async (executor, result) => {
1012
+ await executor.getRect(
1013
+ result.pageDOM,
1014
+ result.selector,
1015
+ result.fireflinkIndex,
1016
+ result.elementName,
1017
+ result.elementType
1018
+ );
1019
+ }),
1020
+
1021
+ GetLocation: withExecutor(async (executor, result) => {
1022
+ await executor.getLocation(
1023
+ result.pageDOM,
1024
+ result.selector,
1025
+ result.fireflinkIndex,
1026
+ result.elementName,
1027
+ result.elementType
1028
+ );
1029
+ }),
1030
+
1031
+ GetXLocationOfWebElement: withExecutor(async (executor, result) => {
1032
+ await executor.getXLocationOfWebElement(
1033
+ result.pageDOM,
1034
+ result.selector,
1035
+ result.fireflinkIndex,
1036
+ result.elementName,
1037
+ result.elementType
1038
+ );
1039
+ }),
1040
+
1041
+ GetYLocationOfWebElement: withExecutor(async (executor, result) => {
1042
+ await executor.getYLocationOfWebElement(
1043
+ result.pageDOM,
1044
+ result.selector,
1045
+ result.fireflinkIndex,
1046
+ result.elementName,
1047
+ result.elementType
1048
+ );
1049
+ }),
1050
+
1051
+ GetWidthOfWebElement: withExecutor(async (executor, result) => {
1052
+ await executor.getWidthOfWebElement(
1053
+ result.pageDOM,
1054
+ result.selector,
1055
+ result.fireflinkIndex,
1056
+ result.elementName,
1057
+ result.elementType
1058
+ );
1059
+ }),
1060
+
1061
+ GetHeightOfWebElement: withExecutor(async (executor, result) => {
1062
+ await executor.getHeightOfWebElement(
1063
+ result.pageDOM,
1064
+ result.selector,
1065
+ result.fireflinkIndex,
1066
+ result.elementName,
1067
+ result.elementType
1068
+ );
1069
+ }),
1070
+
1071
+ GetWrappedElement: withExecutor(async (executor, result) => {
1072
+ await executor.getWrappedElement(
1073
+ result.pageDOM,
1074
+ result.selector,
1075
+ result.fireflinkIndex,
1076
+ result.elementName,
1077
+ result.elementType
1078
+ );
1079
+ }),
1080
+
1081
+ // GetTextFromListOfWebElements: withExecutor(async (executor, result) => {
1082
+ // await executor.getTextFromListOfWebElements(
1083
+ // result.selector
1084
+ // );
1085
+ // }),
1086
+
1087
+ GetOptions: withExecutor(async (executor, result) => {
1088
+ await executor.getOptions(
1089
+ result.pageDOM,
1090
+ result.selector,
1091
+ result.fireflinkIndex,
1092
+ result.elementName,
1093
+ result.elementType
1094
+ );
1095
+ }),
1096
+
1097
+ GetFirstSelectedOption: withExecutor(async (executor, result) => {
1098
+ await executor.getFirstSelectedOption(
1099
+ result.pageDOM,
1100
+ result.selector,
1101
+ result.fireflinkIndex,
1102
+ result.elementName,
1103
+ result.elementType
1104
+ );
1105
+ }),
1106
+
1107
+ GetAllSelectedOptions: withExecutor(async (executor, result) => {
1108
+ await executor.getAllSelectedOptions(
1109
+ result.pageDOM,
1110
+ result.selector,
1111
+ result.fireflinkIndex,
1112
+ result.elementName,
1113
+ result.elementType
1114
+ );
1115
+ }),
1116
+
1117
+ GetAllTheOptionsFromListBoxAsText: withExecutor(async (executor, result) => {
1118
+ await executor.getAllTheOptionsFromListBoxAsText(
1119
+ result.pageDOM,
1120
+ result.selector,
1121
+ result.fireflinkIndex,
1122
+ result.elementName,
1123
+ result.elementType
1124
+ );
1125
+ }),
1126
+
1127
+ GetAllTheOptionsFromListBoxAsTextInSortedOrder: withExecutor(async (executor, result) => {
1128
+ await executor.getAllTheOptionsFromListBoxAsTextInSortedOrder(
1129
+ result.pageDOM,
1130
+ result.selector,
1131
+ result.value,
1132
+ result.fireflinkIndex,
1133
+ result.elementName,
1134
+ result.elementType
1135
+ );
1136
+ }),
1137
+
1138
+ GetTheFirstSelectedOptionFromListBoxAsText: withExecutor(async (executor, result) => {
1139
+ await executor.getTheFirstSelectedOptionFromListBoxAsText(
1140
+ result.pageDOM,
1141
+ result.selector,
1142
+ result.fireflinkIndex,
1143
+ result.elementName,
1144
+ result.elementType
1145
+ );
1146
+ }),
1147
+
1148
+ GetAllTheSelectedOptionsFromListBoxAsText: withExecutor(async (executor, result) => {
1149
+ await executor.getAllTheSelectedOptionsFromListBoxAsText(
1150
+ result.pageDOM,
1151
+ result.selector,
1152
+ result.fireflinkIndex,
1153
+ result.elementName,
1154
+ result.elementType
1155
+ );
1156
+ }),
1157
+
1158
+ GetScreenshot: withExecutor(async (executor, result) => {
1159
+ await executor.getScreenshot(
1160
+ result.value
1161
+ );
1162
+ }),
1163
+
1164
+ GetScreenshotAs: withExecutor(async (executor, result) => {
1165
+ await executor.getScreenshotAs(
1166
+ result.pageDOM,
1167
+ result.selector,
1168
+ result.value,
1169
+ result.fireflinkIndex,
1170
+ result.elementName,
1171
+ result.elementType
1172
+ );
1173
+ }),
1174
+
1175
+ GetListOfElementsFromLocatorTypeLocatorValue: withExecutor(async (executor, result) => {
1176
+ await executor.getListOfElementsFromLocatorTypeLocatorValue(
1177
+ result.pageDOM,
1178
+ result.selector,
1179
+ result.value,
1180
+ result.fireflinkIndex,
1181
+ result.elementName,
1182
+ result.elementType
1183
+ );
1184
+ }),
1185
+
1186
+ GetVideoMediaSource: withExecutor(async (executor, result) => {
1187
+ await executor.getVideoMediaSource(
1188
+ result.pageDOM,
1189
+ result.selector,
1190
+ result.fireflinkIndex,
1191
+ result.elementName,
1192
+ result.elementType
1193
+ );
1194
+ }),
1195
+
1196
+ GetVideoMediaLength: withExecutor(async (executor, result) => {
1197
+ await executor.getVideoMediaLength(
1198
+ result.pageDOM,
1199
+ result.selector,
1200
+ result.fireflinkIndex,
1201
+ result.elementName,
1202
+ result.elementType
1203
+ );
1204
+ }),
1205
+
1206
+ GetVideoCurrentSeekTime: withExecutor(async (executor, result) => {
1207
+ await executor.getVideoCurrentSeekTime(
1208
+ result.pageDOM,
1209
+ result.selector,
1210
+ result.fireflinkIndex,
1211
+ result.elementName,
1212
+ result.elementType
1213
+ );
1214
+ }),
1215
+
1216
+ GetVideoCurrentPlaybackRate: withExecutor(async (executor, result) => {
1217
+ await executor.getVideoCurrentPlaybackRate(
1218
+ result.pageDOM,
1219
+ result.selector,
1220
+ result.fireflinkIndex,
1221
+ result.elementName,
1222
+ result.elementType
1223
+ );
1224
+ }),
1225
+
1226
+ GetVideoDefaultPlaybackRate: withExecutor(async (executor, result) => {
1227
+ await executor.getVideoDefaultPlaybackRate(
1228
+ result.pageDOM,
1229
+ result.selector,
1230
+ result.fireflinkIndex,
1231
+ result.elementName,
1232
+ result.elementType
1233
+ );
1234
+ }),
1235
+
1236
+ GetVideoCurrentVolume: withExecutor(async (executor, result) => {
1237
+ await executor.getVideoCurrentVolume(
1238
+ result.pageDOM,
1239
+ result.selector,
1240
+ result.fireflinkIndex,
1241
+ result.elementName,
1242
+ result.elementType
1243
+ );
1244
+ }),
1245
+
1246
+ GetVideoWidth: withExecutor(async (executor, result) => {
1247
+ await executor.getVideoWidth(
1248
+ result.pageDOM,
1249
+ result.selector,
1250
+ result.fireflinkIndex,
1251
+ result.elementName,
1252
+ result.elementType
1253
+ );
1254
+ }),
1255
+
1256
+ GetVideoHeight: withExecutor(async (executor, result) => {
1257
+ await executor.getVideoHeight(
1258
+ result.pageDOM,
1259
+ result.selector,
1260
+ result.fireflinkIndex,
1261
+ result.elementName,
1262
+ result.elementType
1263
+ );
1264
+ }),
1265
+
1266
+ GetVideoDimension: withExecutor(async (executor, result) => {
1267
+ await executor.getVideoDimension(
1268
+ result.pageDOM,
1269
+ result.selector,
1270
+ result.fireflinkIndex,
1271
+ result.elementName,
1272
+ result.elementType
1273
+ );
1274
+ }),
1275
+
1276
+ GetVideoDecodedByte: withExecutor(async (executor, result) => {
1277
+ await executor.getVideoDecodedByte(
1278
+ result.pageDOM,
1279
+ result.selector,
1280
+ result.fireflinkIndex,
1281
+ result.elementName,
1282
+ result.elementType
1283
+ );
1284
+ }),
1285
+
1286
+ GetAudioMediaSource: withExecutor(async (executor, result) => {
1287
+ await executor.getAudioMediaSource(
1288
+ result.pageDOM,
1289
+ result.selector,
1290
+ result.fireflinkIndex,
1291
+ result.elementName,
1292
+ result.elementType
1293
+ );
1294
+ }),
1295
+
1296
+ GetAudioMediaLength: withExecutor(async (executor, result) => {
1297
+ await executor.getAudioMediaLength(
1298
+ result.pageDOM,
1299
+ result.selector,
1300
+ result.fireflinkIndex,
1301
+ result.elementName,
1302
+ result.elementType
1303
+ );
1304
+ }),
1305
+
1306
+ GetAudioCurrentSeekTime: withExecutor(async (executor, result) => {
1307
+ await executor.getAudioCurrentSeekTime(
1308
+ result.pageDOM,
1309
+ result.selector,
1310
+ result.fireflinkIndex,
1311
+ result.elementName,
1312
+ result.elementType
1313
+ );
1314
+ }),
1315
+
1316
+ GetAudioCurrentPlaybackRate: withExecutor(async (executor, result) => {
1317
+ await executor.getAudioCurrentPlaybackRate(
1318
+ result.pageDOM,
1319
+ result.selector,
1320
+ result.fireflinkIndex,
1321
+ result.elementName,
1322
+ result.elementType
1323
+ );
1324
+ }),
1325
+
1326
+ GetAudioDefaultPlaybackRate: withExecutor(async (executor, result) => {
1327
+ await executor.getAudioDefaultPlaybackRate(
1328
+ result.pageDOM,
1329
+ result.selector,
1330
+ result.fireflinkIndex,
1331
+ result.elementName,
1332
+ result.elementType
1333
+ );
1334
+ }),
1335
+
1336
+ GetAudioCurrentVolume: withExecutor(async (executor, result) => {
1337
+ await executor.getAudioCurrentVolume(
1338
+ result.pageDOM,
1339
+ result.selector,
1340
+ result.fireflinkIndex,
1341
+ result.elementName,
1342
+ result.elementType
1343
+ );
1344
+ }),
1345
+
1346
+ GetAudioWidth: withExecutor(async (executor, result) => {
1347
+ await executor.getAudioWidth(
1348
+ result.pageDOM,
1349
+ result.selector,
1350
+ result.fireflinkIndex,
1351
+ result.elementName,
1352
+ result.elementType
1353
+ );
1354
+ }),
1355
+
1356
+ GetAudioHeight: withExecutor(async (executor, result) => {
1357
+ await executor.getAudioHeight(
1358
+ result.pageDOM,
1359
+ result.selector,
1360
+ result.fireflinkIndex,
1361
+ result.elementName,
1362
+ result.elementType
1363
+ );
1364
+ }),
1365
+
1366
+ GetAudioDimension: withExecutor(async (executor, result) => {
1367
+ await executor.getAudioDimension(
1368
+ result.pageDOM,
1369
+ result.selector,
1370
+ result.fireflinkIndex,
1371
+ result.elementName,
1372
+ result.elementType
1373
+ );
1374
+ }),
1375
+
1376
+ GetAudioDecodedByte: withExecutor(async (executor, result) => {
1377
+ await executor.getAudioDecodedByte(
1378
+ result.pageDOM,
1379
+ result.selector,
1380
+ result.fireflinkIndex,
1381
+ result.elementName,
1382
+ result.elementType
1383
+ );
1384
+ }),
1385
+ VerifyXLocationOfElement: withExecutor(async (executor, result) => {
1386
+ await executor.VerifyXLocationOfElement(
1387
+ result.pageDOM,
1388
+ result.selector,
1389
+ result.value,
1390
+ result.fireflinkIndex,
1391
+ result.elementName,
1392
+ result.elementType
1393
+ );
1394
+ }),
1395
+ VerifyYLocationOfElement: withExecutor(async (executor, result) => {
1396
+ await executor.VerifyYLocationOfElement(
1397
+ result.pageDOM,
1398
+ result.selector,
1399
+ result.value,
1400
+ result.fireflinkIndex,
1401
+ result.elementName,
1402
+ result.elementType
1403
+ );
1404
+ }),
1405
+ VerifyWidthOfElement: withExecutor(async (executor, result) => {
1406
+ await executor.VerifyWidthOfElement(
1407
+ result.pageDOM,
1408
+ result.selector,
1409
+ result.value,
1410
+ result.fireflinkIndex,
1411
+ result.elementName,
1412
+ result.elementType
1413
+ );
1414
+ }),
1415
+ VerifyIfXAndYCoordinateOfElement: withExecutor(async (executor, result) => {
1416
+ await executor.VerifyIfXAndYCoordinateOfElement(
1417
+ result.pageDOM,
1418
+ result.selector,
1419
+ result.value,
1420
+ result.fireflinkIndex,
1421
+ result.elementName,
1422
+ result.elementType
1423
+ );
1424
+ }),
1425
+ VerifyPartialAttributeValue: withExecutor(async (executor, result) => {
1426
+ await executor.VerifyPartialAttributeValue(
1427
+ result.pageDOM,
1428
+ result.selector,
1429
+ result.value,
1430
+ result.fireflinkIndex,
1431
+ result.elementName,
1432
+ result.elementType
1433
+ );
1434
+ }),
1435
+ VerifyAttributeValue: withExecutor(async (executor, result) => {
1436
+ await executor.VerifyAttributeValue(
1437
+ result.pageDOM,
1438
+ result.selector,
1439
+ result.value,
1440
+ result.fireflinkIndex,
1441
+ result.elementName,
1442
+ result.elementType
1443
+ );
1444
+ }),
1445
+ VerifyHeightOfWebElement: withExecutor(async (executor, result) => {
1446
+ await executor.VerifyHeightOfWebElement(
1447
+ result.pageDOM,
1448
+ result.selector,
1449
+ result.value,
1450
+ result.fireflinkIndex,
1451
+ result.elementName,
1452
+ result.elementType
1453
+ );
1454
+ }),
1455
+ MOB_PressBackKey: withExecutor(async (executor) => {
1456
+ await executor.MOB_PressBackKey();
1457
+ }),
1458
+
1459
+ WaitTillPresenceOfElement: withExecutor(async (executor, result) => {
1460
+ await executor.WaitTillPresenceOfElement(
1461
+ result.pageDOM,
1462
+ result.selector,
1463
+ result.fireflinkIndex,
1464
+ result.elementName,
1465
+ result.elementType
1466
+ );
1467
+ }),
1468
+ WaitTillPresenceOfAllElements: withExecutor(async (executor, result) => {
1469
+ await executor.WaitTillPresenceOfAllElements(
1470
+ result.pageDOM,
1471
+ result.selector,
1472
+ result.value,
1473
+ result.fireflinkIndex,
1474
+ result.elementName,
1475
+ result.elementType
1476
+ );
1477
+ }),
1478
+ WaitTillAttributeOfElementIsString: withExecutor(async (executor, result) => {
1479
+ await executor.WaitTillAttributeOfElementIsString(
1480
+ result.pageDOM,
1481
+ result.selector,
1482
+ result.value,
1483
+ result.fireflinkIndex,
1484
+ result.elementName,
1485
+ result.elementType
1486
+ );
1487
+ }),
1488
+ EnterUrl: withExecutor(async (executor, result) => {
1489
+ await executor.EnterUrl(
1490
+ result.value
1491
+ );
1492
+ }),
1493
+ SetClipBoardText: withExecutor(async (executor, result) => {
1494
+ await executor.SetClipBoardText(
1495
+ result.value
1496
+
1497
+ );
1498
+ }),
1499
+ PressAnyKeyNTimes: withExecutor(async (executor, result) => {
1500
+ await executor.PressAnyKeyNTimes(
1501
+ result.value
1502
+ );
1503
+ }),
1504
+ FindElements: withExecutor(async (executor, result) => {
1505
+ await executor.FindElements(
1506
+ result.pageDOM,
1507
+ result.selector,
1508
+ result.value,
1509
+ result.fireflinkIndex,
1510
+ result.elementName,
1511
+ result.elementType
1512
+ );
1513
+ }),
1514
+ WaitTillElementIsClickable: withExecutor(async (executor, result) => {
1515
+ await executor.WaitTillElementIsClickable(
1516
+ result.pageDOM,
1517
+ result.selector,
1518
+ result.fireflinkIndex,
1519
+ result.elementName,
1520
+ result.elementType
1521
+ );
1522
+ }),
1523
+ CheckIfElementIsDisplayed: withExecutor(async (executor, result) => {
1524
+ await executor.CheckIfElementIsDisplayed(
1525
+ result.pageDOM,
1526
+ result.selector,
1527
+ result.value,
1528
+ result.fireflinkIndex,
1529
+ result.elementName,
1530
+ result.elementType
1531
+ );
1532
+ }),
1533
+ PressAnyKey: withExecutor(async (executor, result) => {
1534
+ await executor.PressAnyKey(
1535
+ result.value
1536
+ );
1537
+ }),
1538
+ WaitTillElementHasText: withExecutor(async (executor, result) => {
1539
+ await executor.WaitTillElementHasText(
1540
+ result.pageDOM,
1541
+ result.selector,
1542
+ result.fireflinkIndex,
1543
+ result.elementName,
1544
+ result.elementType
1545
+ );
1546
+ }),
1547
+ WaitTillElementContainsText: withExecutor(async (executor, result) => {
1548
+ await executor.WaitTillElementContainsText(
1549
+ result.pageDOM,
1550
+ result.selector,
1551
+ result.value,
1552
+ result.fireflinkIndex,
1553
+ result.elementName,
1554
+ result.elementType
1555
+ );
1556
+ }),
1557
+ PressEnterKey: withExecutor(async (executor) => {
1558
+ await executor.PressEnterKey();
1559
+ }),
1560
+ }
1561
+ }