ff-automationv2 2.2.27 → 2.2.29

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 (521) hide show
  1. package/dist/ai/llmcalls/llmAction.d.ts +9 -4
  2. package/dist/ai/llmcalls/llmAction.js +173 -37
  3. package/dist/ai/llmcalls/parseLlmOputput.js +18 -6
  4. package/dist/ai/llmprompts/promptRegistry.js +11 -0
  5. package/dist/ai/llmprompts/systemPrompts/actionExtractorPrompt.js +19 -10
  6. package/dist/ai/llmprompts/systemPrompts/combinedActionExtractorPrompt.js +7 -6
  7. package/dist/ai/llmprompts/systemPrompts/combinedActionExtractorPromptMob.js +14 -13
  8. package/dist/ai/llmprompts/systemPrompts/errorDescriptionPrompt.js +6 -4
  9. package/dist/ai/llmprompts/systemPrompts/fireflinkElementIndexExtactors.js +120 -62
  10. package/dist/ai/llmprompts/systemPrompts/fireflinkElementIndexExtractor_Mob.js +33 -28
  11. package/dist/ai/llmprompts/systemPrompts/getActionExtractorPrompt.js +18 -16
  12. package/dist/ai/llmprompts/systemPrompts/getActionExtractorPromptMob.js +13 -13
  13. package/dist/ai/llmprompts/systemPrompts/mobileKeywordExtractor.js +13 -11
  14. package/dist/ai/llmprompts/systemPrompts/userStoryToListPrompt.js +1 -1
  15. package/dist/ai/llmprompts/systemPrompts/verifyActionExtractorPrompt.js +20 -18
  16. package/dist/ai/llmprompts/systemPrompts/verifyActionExtractorPromptMob.js +9 -9
  17. package/dist/ai/llmprompts/systemPrompts/visionPrompt.js +4 -2
  18. package/dist/ai/llmprompts/systemPrompts/visionPromptMobile.js +1 -0
  19. package/dist/ai/llmprompts/systemPrompts/waitActionExtractorPrompt.js +10 -9
  20. package/dist/ai/llmprompts/systemPrompts/waitActionExtractorPromptMob.js +8 -7
  21. package/dist/ai/llmprompts/userPrompts/userPrompt.js +7 -8
  22. package/dist/automation/actions/executor.d.ts +38 -34
  23. package/dist/automation/actions/executor.js +280 -166
  24. package/dist/automation/actions/interaction/alert/clickCancelOnAlertPopup.js +4 -4
  25. package/dist/automation/actions/interaction/alert/clickOkOnAlertPopup.js +4 -4
  26. package/dist/automation/actions/interaction/alert/enterDataToAlert.js +4 -3
  27. package/dist/automation/actions/interaction/alert/getTextPresentOnAlertPopup.js +4 -4
  28. package/dist/automation/actions/interaction/alert/verifyAlertPopUpMessageContainsString.js +4 -3
  29. package/dist/automation/actions/interaction/alert/verifyAlertPopupIsDisplayed.js +10 -4
  30. package/dist/automation/actions/interaction/alert/verifyTextPresentOnAlertPopup.js +4 -3
  31. package/dist/automation/actions/interaction/alert/waitTillAlertIsPresent.js +5 -5
  32. package/dist/automation/actions/interaction/clear/clear.js +33 -26
  33. package/dist/automation/actions/interaction/clear/clearAndEnter.js +33 -26
  34. package/dist/automation/actions/interaction/click/MOB_DoubleTapAtSpecifiedLocation.js +5 -6
  35. package/dist/automation/actions/interaction/click/click.js +57 -25
  36. package/dist/automation/actions/interaction/click/clickNtimes.js +29 -24
  37. package/dist/automation/actions/interaction/click/clickUsingJs.js +12 -12
  38. package/dist/automation/actions/interaction/click/doubleClick.js +32 -25
  39. package/dist/automation/actions/interaction/click/rightClick.js +18 -13
  40. package/dist/automation/actions/interaction/click/tapOnSpecifiedLocation.js +7 -5
  41. package/dist/automation/actions/interaction/click/waitAndClick.js +29 -27
  42. package/dist/automation/actions/interaction/dragAndDrop/dragAndDrop.js +2 -2
  43. package/dist/automation/actions/interaction/elementLessAction/MobCheckIfAppIsClosed.js +14 -9
  44. package/dist/automation/actions/interaction/elementLessAction/MobRunAppInBackgroundInterface.js +9 -9
  45. package/dist/automation/actions/interaction/elementlessActions/activateAppUsingAppPackage.d.ts +0 -3
  46. package/dist/automation/actions/interaction/elementlessActions/activateAppUsingAppPackage.js +8 -9
  47. package/dist/automation/actions/interaction/elementlessActions/installAPK.js +74 -33
  48. package/dist/automation/actions/interaction/elementlessActions/isAppInstalled.js +10 -8
  49. package/dist/automation/actions/interaction/elementlessActions/openAppWithApkFilePath.js +87 -68
  50. package/dist/automation/actions/interaction/elementlessActions/openMobileApplication.js +8 -6
  51. package/dist/automation/actions/interaction/elementlessActions/receiveMessageOnEmulator.js +4 -3
  52. package/dist/automation/actions/interaction/elementlessActions/terminateAppUsingAppPackage.js +8 -6
  53. package/dist/automation/actions/interaction/elementlessActions/uninstallAPK.js +76 -32
  54. package/dist/automation/actions/interaction/enterActions/EnterInputIntoElementFromClipBoardInterface_mob.js +17 -13
  55. package/dist/automation/actions/interaction/enterActions/enterInput.js +50 -30
  56. package/dist/automation/actions/interaction/enterActions/enterInputAndPress.js +32 -24
  57. package/dist/automation/actions/interaction/enterActions/enterUrl.js +22 -17
  58. package/dist/automation/actions/interaction/enterActions/enterusingJs.js +19 -13
  59. package/dist/automation/actions/interaction/enterActions/waitAndEnter.js +33 -26
  60. package/dist/automation/actions/interaction/find/MOB_FindElement.js +37 -21
  61. package/dist/automation/actions/interaction/find/findElements.js +49 -32
  62. package/dist/automation/actions/interaction/get/MOB_GetADBLogsForGivenAppPackage.js +5 -6
  63. package/dist/automation/actions/interaction/get/MOB_GetAllContexts.js +4 -6
  64. package/dist/automation/actions/interaction/get/MOB_GetAllWindowHandles.js +8 -9
  65. package/dist/automation/actions/interaction/get/MOB_GetAltitude.js +20 -10
  66. package/dist/automation/actions/interaction/get/MOB_GetBatteryPercentage.js +7 -9
  67. package/dist/automation/actions/interaction/get/MOB_GetBatteryStatus.js +4 -6
  68. package/dist/automation/actions/interaction/get/MOB_GetClipBoardText.js +4 -6
  69. package/dist/automation/actions/interaction/get/MOB_GetCurrentActivity.js +4 -6
  70. package/dist/automation/actions/interaction/get/MOB_GetCurrentAppPackage.js +4 -6
  71. package/dist/automation/actions/interaction/get/MOB_GetCurrentContext.js +4 -6
  72. package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceDate.js +4 -6
  73. package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceSettings.js +4 -6
  74. package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceStatus.js +4 -6
  75. package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceSystemBars.js +5 -6
  76. package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceTime.js +4 -6
  77. package/dist/automation/actions/interaction/get/MOB_GetCurrentOrientation.js +4 -6
  78. package/dist/automation/actions/interaction/get/MOB_GetCurrentSessionId.js +4 -6
  79. package/dist/automation/actions/interaction/get/MOB_GetDeviceLocation.js +20 -9
  80. package/dist/automation/actions/interaction/get/MOB_GetDeviceName.js +7 -8
  81. package/dist/automation/actions/interaction/get/MOB_GetDeviceOsVersion.js +4 -6
  82. package/dist/automation/actions/interaction/get/MOB_GetDeviceUdid.js +7 -8
  83. package/dist/automation/actions/interaction/get/MOB_GetHeightOfElement.js +12 -11
  84. package/dist/automation/actions/interaction/get/MOB_GetHeightOfScreen.js +4 -6
  85. package/dist/automation/actions/interaction/get/MOB_GetHourFromCurrentDeviceTime.js +4 -6
  86. package/dist/automation/actions/interaction/get/MOB_GetLatitude.js +20 -12
  87. package/dist/automation/actions/interaction/get/MOB_GetLongitude.js +20 -12
  88. package/dist/automation/actions/interaction/get/MOB_GetMinuteFromCurrentDeviceTime.js +4 -6
  89. package/dist/automation/actions/interaction/get/MOB_GetSecondFromCurrentDeviceTime.js +4 -6
  90. package/dist/automation/actions/interaction/get/MOB_GetSizeOfScreen.js +4 -6
  91. package/dist/automation/actions/interaction/get/MOB_GetSupportedPerformanceDataTypes.js +4 -6
  92. package/dist/automation/actions/interaction/get/MOB_GetTextFromElementAndSetToClipBoard.js +11 -8
  93. package/dist/automation/actions/interaction/get/MOB_GetWidthOfElement.js +12 -11
  94. package/dist/automation/actions/interaction/get/MOB_GetWidthOfScreen.js +4 -6
  95. package/dist/automation/actions/interaction/get/browserWindowGetPosition.js +4 -4
  96. package/dist/automation/actions/interaction/get/getAllBrokenImages.js +4 -4
  97. package/dist/automation/actions/interaction/get/getAllBrokenLinkCount.js +4 -4
  98. package/dist/automation/actions/interaction/get/getAllBrokenLinks.js +5 -5
  99. package/dist/automation/actions/interaction/get/getAllConsoleErrors.js +4 -4
  100. package/dist/automation/actions/interaction/get/getAllConsoleInformation.js +5 -5
  101. package/dist/automation/actions/interaction/get/getAllConsoleLogs.js +5 -5
  102. package/dist/automation/actions/interaction/get/getAllConsoleWarnings.js +5 -5
  103. package/dist/automation/actions/interaction/get/getAllCookieNames.js +5 -5
  104. package/dist/automation/actions/interaction/get/getAllCookieValues.js +5 -5
  105. package/dist/automation/actions/interaction/get/getAllSelectedOptions.js +12 -12
  106. package/dist/automation/actions/interaction/get/getAllTheOptionsFromListBoxAsText.js +12 -12
  107. package/dist/automation/actions/interaction/get/getAllTheOptionsFromListBoxAsTextInSortedOrder.js +12 -12
  108. package/dist/automation/actions/interaction/get/getAllTheSelectedOptionsFromListBoxAsText.js +12 -12
  109. package/dist/automation/actions/interaction/get/getAllWindowHandles.js +5 -5
  110. package/dist/automation/actions/interaction/get/getAttribute.js +27 -25
  111. package/dist/automation/actions/interaction/get/getAudioCurrentPlaybackRate.js +12 -12
  112. package/dist/automation/actions/interaction/get/getAudioCurrentSeekTime.js +12 -12
  113. package/dist/automation/actions/interaction/get/getAudioCurrentVolume.js +12 -12
  114. package/dist/automation/actions/interaction/get/getAudioDecodedByte.js +12 -12
  115. package/dist/automation/actions/interaction/get/getAudioDefaultPlaybackRate.js +12 -12
  116. package/dist/automation/actions/interaction/get/getAudioMediaLength.js +12 -12
  117. package/dist/automation/actions/interaction/get/getAudioMediaSource.js +12 -12
  118. package/dist/automation/actions/interaction/get/getBestPracticesScore.js +4 -3
  119. package/dist/automation/actions/interaction/get/getBrowserCount.js +4 -4
  120. package/dist/automation/actions/interaction/get/getBrowserVersion.js +4 -4
  121. package/dist/automation/actions/interaction/get/getCapabilityNames.js +4 -4
  122. package/dist/automation/actions/interaction/get/getClipBoardText.js +4 -4
  123. package/dist/automation/actions/interaction/get/getCollectiveApiResponseTime.js +5 -4
  124. package/dist/automation/actions/interaction/get/getCollectiveApiStatusCode.js +5 -4
  125. package/dist/automation/actions/interaction/get/getCssValue.js +12 -12
  126. package/dist/automation/actions/interaction/get/getCurrentDayOfTheWeek.js +4 -4
  127. package/dist/automation/actions/interaction/get/getCurrentSecondsFromCurrentSystemTime.js +5 -5
  128. package/dist/automation/actions/interaction/get/getCurrentSystemDate.js +4 -4
  129. package/dist/automation/actions/interaction/get/getCurrentSystemDay.js +5 -5
  130. package/dist/automation/actions/interaction/get/getCurrentSystemMonth.js +5 -5
  131. package/dist/automation/actions/interaction/get/getCurrentSystemTime.js +5 -5
  132. package/dist/automation/actions/interaction/get/getCurrentSystemYear.js +5 -5
  133. package/dist/automation/actions/interaction/get/getCurrentWindowHandle.js +9 -10
  134. package/dist/automation/actions/interaction/get/getDataFromApiRequestHeaderForJsonPath.js +5 -4
  135. package/dist/automation/actions/interaction/get/getDataFromApiResponseForJsonPath.js +5 -4
  136. package/dist/automation/actions/interaction/get/getDateWithGivenFormat.js +5 -4
  137. package/dist/automation/actions/interaction/get/getDriverInstance.js +12 -11
  138. package/dist/automation/actions/interaction/get/getFirstContentfulPaint.js +5 -5
  139. package/dist/automation/actions/interaction/get/getFirstSelectedOption.js +12 -12
  140. package/dist/automation/actions/interaction/get/getFullPaintTime.js +5 -5
  141. package/dist/automation/actions/interaction/get/getHTMLCodeOfPage.js +4 -4
  142. package/dist/automation/actions/interaction/get/getHeightOfBrowserWindow.js +4 -4
  143. package/dist/automation/actions/interaction/get/getHeightOfWebElement.js +12 -12
  144. package/dist/automation/actions/interaction/get/getHourFromCurrentSystemTime.js +4 -4
  145. package/dist/automation/actions/interaction/get/getImplicitTimeOut.js +11 -10
  146. package/dist/automation/actions/interaction/get/getLargestContentfulPaint.js +4 -4
  147. package/dist/automation/actions/interaction/get/getListBoxSize.js +12 -12
  148. package/dist/automation/actions/interaction/get/getListOfElementsFromLocatorTypeLocatorValue.js +90 -44
  149. package/dist/automation/actions/interaction/get/getLocation.js +32 -31
  150. package/dist/automation/actions/interaction/get/getMinuteFromCurrentSystemTime.js +4 -4
  151. package/dist/automation/actions/interaction/get/getNetworkRouteTime.js +4 -4
  152. package/dist/automation/actions/interaction/get/getNumberOfBrokenImages.js +4 -4
  153. package/dist/automation/actions/interaction/get/getNumberOfLinksPresentInCurrentPage.js +4 -4
  154. package/dist/automation/actions/interaction/get/getNumberOfWorkingLinksFromCurrentPage.js +4 -4
  155. package/dist/automation/actions/interaction/get/getOptions.js +12 -12
  156. package/dist/automation/actions/interaction/get/getPageTitle.js +5 -5
  157. package/dist/automation/actions/interaction/get/getPerformanceMetrics.js +5 -5
  158. package/dist/automation/actions/interaction/get/getPwaScore.js +5 -4
  159. package/dist/automation/actions/interaction/get/getRect.js +26 -23
  160. package/dist/automation/actions/interaction/get/getScreenshot.js +12 -18
  161. package/dist/automation/actions/interaction/get/getScreenshotAs.js +27 -32
  162. package/dist/automation/actions/interaction/get/getSeoScore.js +5 -4
  163. package/dist/automation/actions/interaction/get/getSingleApiRequestPayload.js +7 -6
  164. package/dist/automation/actions/interaction/get/getSingleApiResponse.js +12 -14
  165. package/dist/automation/actions/interaction/get/getSingleApiResponseTime.js +13 -13
  166. package/dist/automation/actions/interaction/get/getSingleApiStatusCode.d.ts +1 -1
  167. package/dist/automation/actions/interaction/get/getSingleApiStatusCode.js +21 -17
  168. package/dist/automation/actions/interaction/get/getSize.js +26 -24
  169. package/dist/automation/actions/interaction/get/getSizeOfBrowserWindow.js +5 -5
  170. package/dist/automation/actions/interaction/get/getStringDataFromLocalFile.js +11 -13
  171. package/dist/automation/actions/interaction/get/getSystemProperty.js +7 -33
  172. package/dist/automation/actions/interaction/get/getTagName.js +26 -24
  173. package/dist/automation/actions/interaction/get/getText.js +28 -25
  174. package/dist/automation/actions/interaction/get/getTheFirstSelectedOptionFromListBoxAsText.js +12 -12
  175. package/dist/automation/actions/interaction/get/getTotalNumberOfCookies.js +5 -5
  176. package/dist/automation/actions/interaction/get/getTunnelIdentifier.js +5 -4
  177. package/dist/automation/actions/interaction/get/getURLPresentInAddressBar.js +5 -5
  178. package/dist/automation/actions/interaction/get/getUserHomeDirectory.js +5 -5
  179. package/dist/automation/actions/interaction/get/getValueByCookieName.js +7 -11
  180. package/dist/automation/actions/interaction/get/getValueFromLocalStorage.js +7 -10
  181. package/dist/automation/actions/interaction/get/getValueOfSystemVariable.js +8 -6
  182. package/dist/automation/actions/interaction/get/getVideoCurrentPlaybackRate.js +12 -12
  183. package/dist/automation/actions/interaction/get/getVideoCurrentSeekTime.js +12 -12
  184. package/dist/automation/actions/interaction/get/getVideoCurrentVolume.js +12 -12
  185. package/dist/automation/actions/interaction/get/getVideoDecodedByte.js +12 -12
  186. package/dist/automation/actions/interaction/get/getVideoDefaultPlaybackRate.js +12 -12
  187. package/dist/automation/actions/interaction/get/getVideoMediaLength.js +12 -12
  188. package/dist/automation/actions/interaction/get/getVideoMediaSource.js +12 -12
  189. package/dist/automation/actions/interaction/get/getWidthOfBrowser.js +5 -5
  190. package/dist/automation/actions/interaction/get/getWidthOfWebElement.js +12 -12
  191. package/dist/automation/actions/interaction/get/getWorkingLinksFromCurrentPage.js +5 -5
  192. package/dist/automation/actions/interaction/get/getWrappedElement.js +12 -12
  193. package/dist/automation/actions/interaction/get/getWrappedOptionFromListBoxAsText.js +14 -14
  194. package/dist/automation/actions/interaction/get/getXLocationOfBrowserWindow.js +5 -4
  195. package/dist/automation/actions/interaction/get/getXLocationOfWebElement.js +26 -24
  196. package/dist/automation/actions/interaction/get/getYLocationOfBrowserWindow.js +5 -5
  197. package/dist/automation/actions/interaction/get/getYLocationOfWebElement.js +26 -24
  198. package/dist/automation/actions/interaction/iframe/switchToDefaultContent.js +5 -5
  199. package/dist/automation/actions/interaction/inputlessActions/AirplaneModeSwitchOff.js +5 -5
  200. package/dist/automation/actions/interaction/inputlessActions/AirplaneModeSwitchOn.js +5 -5
  201. package/dist/automation/actions/interaction/inputlessActions/Break.js +5 -5
  202. package/dist/automation/actions/interaction/inputlessActions/Continue.js +5 -5
  203. package/dist/automation/actions/interaction/inputlessActions/GpsSwitchOff.js +5 -5
  204. package/dist/automation/actions/interaction/inputlessActions/GpsSwitchOn.js +5 -5
  205. package/dist/automation/actions/interaction/inputlessActions/HideKeyboard.js +13 -7
  206. package/dist/automation/actions/interaction/inputlessActions/LockDevice.js +5 -5
  207. package/dist/automation/actions/interaction/inputlessActions/OpenChromeBrowser.js +18 -6
  208. package/dist/automation/actions/interaction/inputlessActions/OpenNotification.js +5 -5
  209. package/dist/automation/actions/interaction/inputlessActions/ResetApp.js +14 -7
  210. package/dist/automation/actions/interaction/inputlessActions/RestartCurrentDevice.js +5 -5
  211. package/dist/automation/actions/interaction/inputlessActions/SetDeviceOrientationAsLandscape.js +5 -5
  212. package/dist/automation/actions/interaction/inputlessActions/SetDeviceOrientationAsPortrait.js +5 -5
  213. package/dist/automation/actions/interaction/inputlessActions/SetEmulatorPowerStateOff.js +5 -5
  214. package/dist/automation/actions/interaction/inputlessActions/SetEmulatorPowerStateOn.js +5 -5
  215. package/dist/automation/actions/interaction/inputlessActions/WifiSwitchOff.js +5 -5
  216. package/dist/automation/actions/interaction/inputlessActions/WifiSwitchOn.js +5 -5
  217. package/dist/automation/actions/interaction/maximize/maximize.js +5 -5
  218. package/dist/automation/actions/interaction/maximize/minimize.js +5 -5
  219. package/dist/automation/actions/interaction/mouse/mouseClickOnCurrentCursorNTImes.d.ts +2 -0
  220. package/dist/automation/actions/interaction/mouse/mouseClickOnCurrentCursorNTImes.js +31 -0
  221. package/dist/automation/actions/interaction/mouse/mouseClickOnCurrentCursorPoint.d.ts +2 -0
  222. package/dist/automation/actions/interaction/mouse/mouseClickOnCurrentCursorPoint.js +27 -0
  223. package/dist/automation/actions/interaction/mouse/mouseDoubleClickAtCursorPoint.d.ts +2 -0
  224. package/dist/automation/actions/interaction/mouse/mouseDoubleClickAtCursorPoint.js +31 -0
  225. package/dist/automation/actions/interaction/mouse/mouseHover.d.ts +2 -0
  226. package/dist/automation/actions/interaction/mouse/mouseHover.js +36 -0
  227. package/dist/automation/actions/interaction/mouse/mouseReleaseLeftMouseButton.d.ts +2 -0
  228. package/dist/automation/actions/interaction/mouse/mouseReleaseLeftMouseButton.js +42 -0
  229. package/dist/automation/actions/interaction/mouse/pressAndHold.d.ts +2 -0
  230. package/dist/automation/actions/interaction/mouse/pressAndHold.js +47 -0
  231. package/dist/automation/actions/interaction/navigation/goBack.js +5 -5
  232. package/dist/automation/actions/interaction/navigation/navigate.js +5 -4
  233. package/dist/automation/actions/interaction/navigation/refresh.js +5 -5
  234. package/dist/automation/actions/interaction/pinch/PinchInByPercentMob.js +12 -13
  235. package/dist/automation/actions/interaction/pinch/PinchOutByPercentMob.js +12 -11
  236. package/dist/automation/actions/interaction/press/longPress.js +15 -11
  237. package/dist/automation/actions/interaction/press/mobPressBackKey.js +4 -6
  238. package/dist/automation/actions/interaction/press/mobPressBackSpaceKey.js +12 -8
  239. package/dist/automation/actions/interaction/press/mobPressSpaceKey.js +12 -8
  240. package/dist/automation/actions/interaction/press/pressAnyKey.js +25 -16
  241. package/dist/automation/actions/interaction/press/pressAnyKeyNTimes.js +23 -14
  242. package/dist/automation/actions/interaction/press/pressEnterKey.js +21 -14
  243. package/dist/automation/actions/interaction/press/pressHomeKey.js +16 -9
  244. package/dist/automation/actions/interaction/scroll/scrollHorizontallyTillElementIsVisible.js +20 -15
  245. package/dist/automation/actions/interaction/scroll/scrollPageToSpecificLocation.js +8 -7
  246. package/dist/automation/actions/interaction/scroll/scrollToElement.js +18 -13
  247. package/dist/automation/actions/interaction/scroll/scrollVerticallyTillElementIsVisible.js +20 -15
  248. package/dist/automation/actions/interaction/set/MOB_SetContext.js +5 -6
  249. package/dist/automation/actions/interaction/set/MOB_SetEmulatorPowerPercentage.js +5 -6
  250. package/dist/automation/actions/interaction/set/setClipBoardText.js +13 -13
  251. package/dist/automation/actions/interaction/shadowDom/shadowDomClick.js +5 -4
  252. package/dist/automation/actions/interaction/shadowDom/shadowDomEnter.js +5 -4
  253. package/dist/automation/actions/interaction/shadowDom/shadowDomGetText.js +6 -5
  254. package/dist/automation/actions/interaction/shadowDom/shadowDomUpload.js +13 -9
  255. package/dist/automation/actions/interaction/shadowDom/shadowDomVerifyPartialText.js +6 -5
  256. package/dist/automation/actions/interaction/shadowDom/shadowDomVerifyText.js +6 -5
  257. package/dist/automation/actions/interaction/swipe/swipeDirectionNTimes.js +12 -10
  258. package/dist/automation/actions/interaction/swipe/swipeDownToElement.js +13 -10
  259. package/dist/automation/actions/interaction/swipe/swipeIos.d.ts +2 -0
  260. package/dist/automation/actions/interaction/swipe/swipeIos.js +52 -0
  261. package/dist/automation/actions/interaction/swipe/swipeLeftToElement.js +16 -11
  262. package/dist/automation/actions/interaction/swipe/swipeRightToElement.js +15 -10
  263. package/dist/automation/actions/interaction/swipe/swipeUpToElement.js +12 -10
  264. package/dist/automation/actions/interaction/swipe/swipeUpToElementForMWeb.js +16 -13
  265. package/dist/automation/actions/interaction/swipe/swipeUsingReferenceElement.js +19 -16
  266. package/dist/automation/actions/interaction/switch/switchToNewTabBasedOnTitle.js +7 -6
  267. package/dist/automation/actions/interaction/switch/switchToNewWindowBasedOnTitle.js +6 -5
  268. package/dist/automation/actions/interaction/switch/switchToParentWindow.js +6 -6
  269. package/dist/automation/actions/interaction/switch/switchToTabBasedOnUrl.js +6 -5
  270. package/dist/automation/actions/interaction/switch/switchToWindowBasedOnURL.js +5 -4
  271. package/dist/automation/actions/interaction/switch/switchToWindowIfTitleContainsString.js +7 -6
  272. package/dist/automation/actions/interaction/switch/switchToWindowIfUrlContainsString.js +6 -5
  273. package/dist/automation/actions/interaction/upload/uploadfile.js +21 -18
  274. package/dist/automation/actions/interaction/verify/MOB_VerifyBatteryLevel.js +8 -8
  275. package/dist/automation/actions/interaction/verify/MOB_VerifyIfAirplaneModeOff.js +7 -7
  276. package/dist/automation/actions/interaction/verify/MOB_VerifyIfAirplaneModeOn.js +7 -7
  277. package/dist/automation/actions/interaction/verify/MOB_VerifyIfAppIsClosed.js +19 -10
  278. package/dist/automation/actions/interaction/verify/MOB_VerifyIfDeviceIsLocked.js +7 -6
  279. package/dist/automation/actions/interaction/verify/MOB_VerifyIfDeviceIsUnlocked.js +7 -7
  280. package/dist/automation/actions/interaction/verify/MOB_VerifyIfGpsOff.js +12 -8
  281. package/dist/automation/actions/interaction/verify/MOB_VerifyIfGpsOn.js +12 -8
  282. package/dist/automation/actions/interaction/verify/MOB_VerifyIfKeyboardIsHidden.js +7 -7
  283. package/dist/automation/actions/interaction/verify/MOB_VerifyIfKeyboardIsShown.js +8 -7
  284. package/dist/automation/actions/interaction/verify/MOB_VerifyIfWifiOff.js +8 -7
  285. package/dist/automation/actions/interaction/verify/MOB_VerifyIfWifiOn.js +8 -7
  286. package/dist/automation/actions/interaction/verify/VerifyAccessibilityScore.js +8 -7
  287. package/dist/automation/actions/interaction/verify/VerifyAllBrokenImages.js +6 -6
  288. package/dist/automation/actions/interaction/verify/VerifyAllBrowserWindowsClosed.js +12 -10
  289. package/dist/automation/actions/interaction/verify/VerifyAllOptionsAreDeSelected.js +19 -19
  290. package/dist/automation/actions/interaction/verify/VerifyAllOptionsAreSelected.js +12 -12
  291. package/dist/automation/actions/interaction/verify/VerifyAttributeValue.js +35 -53
  292. package/dist/automation/actions/interaction/verify/VerifyBestPracticesScore.js +6 -5
  293. package/dist/automation/actions/interaction/verify/VerifyBrowserHtmlCodeContainsString.js +6 -5
  294. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowHeight.js +7 -6
  295. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowTitleContainsString.js +7 -6
  296. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowTitleIsString.js +7 -6
  297. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowUrlContainsExpectedUrl.js +6 -5
  298. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowUrlIsString.js +5 -4
  299. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowWidth.js +6 -5
  300. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowXLocation.js +6 -5
  301. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowYLocation.js +7 -6
  302. package/dist/automation/actions/interaction/verify/VerifyCheckBoxIsNotSelected.js +12 -12
  303. package/dist/automation/actions/interaction/verify/VerifyCheckBoxIsSelected.js +12 -12
  304. package/dist/automation/actions/interaction/verify/VerifyCssAttributeValue.js +20 -14
  305. package/dist/automation/actions/interaction/verify/VerifyElementIsClickable.js +28 -25
  306. package/dist/automation/actions/interaction/verify/VerifyElementIsDisabled.js +29 -27
  307. package/dist/automation/actions/interaction/verify/VerifyElementIsDisplayed.js +26 -24
  308. package/dist/automation/actions/interaction/verify/VerifyElementIsEnabled.js +26 -24
  309. package/dist/automation/actions/interaction/verify/VerifyElementIsEnabledInSpecifiedTime.d.ts +2 -0
  310. package/dist/automation/actions/interaction/verify/VerifyElementIsEnabledInSpecifiedTime.js +84 -0
  311. package/dist/automation/actions/interaction/verify/VerifyElementIsNotDisplayed.js +51 -28
  312. package/dist/automation/actions/interaction/verify/VerifyElementIsSelected.js +39 -27
  313. package/dist/automation/actions/interaction/verify/VerifyElementIsSelectedInSpecifiedTime.d.ts +2 -0
  314. package/dist/automation/actions/interaction/verify/VerifyElementIsSelectedInSpecifiedTime.js +83 -0
  315. package/dist/automation/actions/interaction/verify/VerifyElementNotContainsText.js +23 -23
  316. package/dist/automation/actions/interaction/verify/VerifyHeightOfWebElement.js +23 -23
  317. package/dist/automation/actions/interaction/verify/VerifyHexCodeForGivenXYCoordinates.js +44 -14
  318. package/dist/automation/actions/interaction/verify/VerifyIfAllCookiesAreDeleted.js +4 -4
  319. package/dist/automation/actions/interaction/verify/VerifyIfAudioEnded.js +12 -12
  320. package/dist/automation/actions/interaction/verify/VerifyIfAudioIsMuted.js +12 -12
  321. package/dist/automation/actions/interaction/verify/VerifyIfAudioIsPaused.js +12 -12
  322. package/dist/automation/actions/interaction/verify/VerifyIfAudioIsPlaying.js +12 -12
  323. package/dist/automation/actions/interaction/verify/VerifyIfBrowserWindowIsClosed.js +8 -9
  324. package/dist/automation/actions/interaction/verify/VerifyIfCookieNameIsAdded.js +6 -5
  325. package/dist/automation/actions/interaction/verify/VerifyIfCookieNameIsDeleted.js +5 -4
  326. package/dist/automation/actions/interaction/verify/VerifyIfCookieObjectIsPresent.js +5 -5
  327. package/dist/automation/actions/interaction/verify/VerifyIfGivenOptionIsDuplicate.js +14 -14
  328. package/dist/automation/actions/interaction/verify/VerifyIfImageIsBroken.js +6 -5
  329. package/dist/automation/actions/interaction/verify/VerifyIfLinkIsBroken.js +6 -5
  330. package/dist/automation/actions/interaction/verify/VerifyIfLinkIsWorking.js +6 -5
  331. package/dist/automation/actions/interaction/verify/VerifyIfLinksAreBroken.js +5 -4
  332. package/dist/automation/actions/interaction/verify/VerifyIfLinksAreWorking.js +5 -4
  333. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithIndexIsDeselectedInElement.js +13 -13
  334. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithIndexIsSelectedInListBox.js +13 -13
  335. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithTextIsDeselected.js +12 -12
  336. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithValueIsDeselected.js +12 -12
  337. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithValueIsSelected.js +12 -12
  338. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithVisibleTextIsSelected.js +12 -12
  339. package/dist/automation/actions/interaction/verify/VerifyIfSpecifiedOptionIsSelected.js +12 -12
  340. package/dist/automation/actions/interaction/verify/VerifyIfStatusCodeOfALinkIsStatusCode.js +7 -6
  341. package/dist/automation/actions/interaction/verify/VerifyIfStatusCodesOfLinks.js +30 -22
  342. package/dist/automation/actions/interaction/verify/VerifyIfVideoEnded.js +12 -12
  343. package/dist/automation/actions/interaction/verify/VerifyIfVideoIsMuted.js +12 -12
  344. package/dist/automation/actions/interaction/verify/VerifyIfVideoIsPaused.js +12 -12
  345. package/dist/automation/actions/interaction/verify/VerifyIfVideoIsPlaying.js +12 -12
  346. package/dist/automation/actions/interaction/verify/VerifyIfVideoPlayingInMute.js +12 -12
  347. package/dist/automation/actions/interaction/verify/VerifyIfVideoPlayingInUnmute.js +12 -12
  348. package/dist/automation/actions/interaction/verify/VerifyIfXAndYCoordinateOfElement.js +25 -23
  349. package/dist/automation/actions/interaction/verify/VerifyLinkNavigatesToTitle.js +7 -6
  350. package/dist/automation/actions/interaction/verify/VerifyListBoxOptionsAreSorted.js +12 -12
  351. package/dist/automation/actions/interaction/verify/VerifyNavigateURL.js +6 -5
  352. package/dist/automation/actions/interaction/verify/VerifyNumberOfElementsByTagName.js +7 -5
  353. package/dist/automation/actions/interaction/verify/VerifyNumberOfElementsByXpath.js +13 -7
  354. package/dist/automation/actions/interaction/verify/VerifyPartialAttributeValue.js +33 -42
  355. package/dist/automation/actions/interaction/verify/VerifyPartialTitleOfCurrentPage.js +7 -6
  356. package/dist/automation/actions/interaction/verify/VerifyPerformanceScore.js +7 -6
  357. package/dist/automation/actions/interaction/verify/VerifyPwaScore.js +6 -5
  358. package/dist/automation/actions/interaction/verify/VerifyRadioButtonIsNotSelected.js +12 -12
  359. package/dist/automation/actions/interaction/verify/VerifyRadioButtonIsSelected.js +12 -12
  360. package/dist/automation/actions/interaction/verify/VerifySeoScore.js +6 -5
  361. package/dist/automation/actions/interaction/verify/VerifyTagName.js +12 -12
  362. package/dist/automation/actions/interaction/verify/VerifyThatSpecifiedOptionIsNotSelected.js +20 -31
  363. package/dist/automation/actions/interaction/verify/VerifyTitleInAllPage.js +8 -7
  364. package/dist/automation/actions/interaction/verify/VerifyTitleOfCurrentPage.js +6 -5
  365. package/dist/automation/actions/interaction/verify/VerifyValueOfElementContainsString.js +12 -12
  366. package/dist/automation/actions/interaction/verify/VerifyValueOfElementIsCleared.js +12 -12
  367. package/dist/automation/actions/interaction/verify/VerifyValueOfElementIsString.js +12 -12
  368. package/dist/automation/actions/interaction/verify/VerifyWidthOfElement.js +23 -23
  369. package/dist/automation/actions/interaction/verify/VerifyXLocationOfElement.js +23 -23
  370. package/dist/automation/actions/interaction/verify/VerifyYLocationOfElement.js +26 -23
  371. package/dist/automation/actions/interaction/verify/checkIfElementIsDisplayed.js +26 -22
  372. package/dist/automation/actions/interaction/verify/verifyElementIsDisplayedWithinSpecifiedTime.d.ts +2 -0
  373. package/dist/automation/actions/interaction/verify/verifyElementIsDisplayedWithinSpecifiedTime.js +85 -0
  374. package/dist/automation/actions/interaction/verify/verifypartialtext.js +28 -25
  375. package/dist/automation/actions/interaction/verify/verifytext.js +30 -30
  376. package/dist/automation/actions/interaction/wait/MOB_WaitTillAllElementsAreInvisible.ts.js +5 -6
  377. package/dist/automation/actions/interaction/wait/MOB_WaitTillAttributeOfElementContainsString.js +17 -14
  378. package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsEnabled.js +12 -11
  379. package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsInvisible.js +14 -12
  380. package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsSelected.js +12 -11
  381. package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsVisible.js +15 -13
  382. package/dist/automation/actions/interaction/wait/MOB_WaitTillStalenessOfElement.js +12 -11
  383. package/dist/automation/actions/interaction/wait/wait.js +5 -4
  384. package/dist/automation/actions/interaction/wait/waitTillAttributeOfElementIsString.js +26 -24
  385. package/dist/automation/actions/interaction/wait/waitTillElementContainsText.js +26 -24
  386. package/dist/automation/actions/interaction/wait/waitTillElementHasText.js +26 -24
  387. package/dist/automation/actions/interaction/wait/waitTillElementIsClickable.js +28 -25
  388. package/dist/automation/actions/interaction/wait/waitTillPresenceOfAllElements.js +32 -22
  389. package/dist/automation/actions/interaction/wait/waitTillPresenceOfElement.js +26 -24
  390. package/dist/automation/actions/interface/FireFlinkResponseSchema.d.ts +148 -0
  391. package/dist/automation/actions/interface/FireFlinkResponseSchema.js +209 -0
  392. package/dist/automation/actions/interface/alertActionInterface.d.ts +1 -0
  393. package/dist/automation/actions/interface/findActionInterface.d.ts +3 -0
  394. package/dist/automation/actions/interface/getActionInterface.d.ts +76 -66
  395. package/dist/automation/actions/interface/interactionActionInterface.d.ts +5 -0
  396. package/dist/automation/actions/interface/mouseActionsinterface.d.ts +51 -0
  397. package/dist/automation/actions/interface/mouseActionsinterface.js +2 -0
  398. package/dist/automation/actions/interface/pinchActionInterface.d.ts +7 -0
  399. package/dist/automation/actions/interface/pressActionInterface.d.ts +4 -0
  400. package/dist/automation/actions/interface/swipeActionInterface.d.ts +25 -10
  401. package/dist/automation/actions/interface/verifyActionInterface.d.ts +36 -0
  402. package/dist/automation/actions/interface/waitActionInterface.d.ts +19 -0
  403. package/dist/automation/browserSession/initiateBrowserSession.d.ts +1 -1
  404. package/dist/automation/browserSession/initiateBrowserSession.js +4 -4
  405. package/dist/automation/cloudSession/initiateCloudSession.js +3 -1
  406. package/dist/automation/mobileSession/initiateMobileSession.d.ts +25 -1
  407. package/dist/automation/mobileSession/initiateMobileSession.js +23 -10
  408. package/dist/core/constants/allAction.js +2 -1
  409. package/dist/core/constants/supportedActions.d.ts +1 -0
  410. package/dist/core/constants/supportedActions.js +17 -9
  411. package/dist/core/interfaces/actionInterface.d.ts +34 -33
  412. package/dist/core/interfaces/errorInfoInterface.d.ts +1 -1
  413. package/dist/core/interfaces/fireflinkScriptPayloadInterface.d.ts +4 -1
  414. package/dist/core/interfaces/llmConfigurationInterface.d.ts +3 -2
  415. package/dist/core/interfaces/llmResponseInterface.d.ts +10 -10
  416. package/dist/core/interfaces/scriptGenrationDataInterface.d.ts +14 -0
  417. package/dist/core/interfaces/simplifyAndFlattenInterface.d.ts +5 -0
  418. package/dist/core/main/actionHandlerFactory.js +134 -64
  419. package/dist/core/main/executionContext.d.ts +1 -1
  420. package/dist/core/main/executionContext.js +1 -1
  421. package/dist/core/main/runAutomationScript.d.ts +1 -0
  422. package/dist/core/main/runAutomationScript.js +209 -90
  423. package/dist/core/main/stepProcessor.d.ts +2 -1
  424. package/dist/core/main/stepProcessor.js +2 -2
  425. package/dist/core/types/scriptTypesType.d.ts +1 -1
  426. package/dist/core/types/visionllmInputType.d.ts +4 -5
  427. package/dist/domAnalysis/getRelaventElements.d.ts +5 -1
  428. package/dist/domAnalysis/getRelaventElements.js +14 -5
  429. package/dist/domAnalysis/relativeElementsFromDom.d.ts +2 -1
  430. package/dist/domAnalysis/relativeElementsFromDom.js +66 -1
  431. package/dist/domAnalysis/searchBest.d.ts +5 -1
  432. package/dist/domAnalysis/searchBest.js +153 -50
  433. package/dist/domAnalysis/simplifyAndFlatten.d.ts +3 -2
  434. package/dist/domAnalysis/simplifyAndFlatten.js +109 -16
  435. package/dist/fireflinkData/fireflinkLocators/getListOfLocators.js +17 -11
  436. package/dist/fireflinkData/fireflinkLocators/{elementsFromHTML.d.ts → parser/getElementsFromHTML.d.ts} +3 -9
  437. package/dist/fireflinkData/fireflinkLocators/parser/getElementsFromHTML.js +557 -0
  438. package/dist/fireflinkData/fireflinkLocators/types/locator.d.ts +17 -0
  439. package/dist/fireflinkData/fireflinkLocators/types/locator.js +2 -0
  440. package/dist/fireflinkData/fireflinkLocators/utils/androidSelector.d.ts +2 -0
  441. package/dist/fireflinkData/fireflinkLocators/utils/androidSelector.js +31 -0
  442. package/dist/fireflinkData/fireflinkLocators/utils/cssSelector.d.ts +19 -0
  443. package/dist/fireflinkData/fireflinkLocators/utils/cssSelector.js +192 -0
  444. package/dist/fireflinkData/fireflinkLocators/utils/iosSelector.d.ts +2 -0
  445. package/dist/fireflinkData/fireflinkLocators/utils/iosSelector.js +159 -0
  446. package/dist/fireflinkData/fireflinkLocators/utils/referenceXpath.d.ts +35 -0
  447. package/dist/fireflinkData/fireflinkLocators/utils/referenceXpath.js +590 -0
  448. package/dist/fireflinkData/fireflinkLocators/utils/xpath.d.ts +38 -0
  449. package/dist/fireflinkData/fireflinkLocators/utils/xpath.js +1182 -0
  450. package/dist/fireflinkData/fireflinkLocators/utils/xpathHelpers.d.ts +137 -0
  451. package/dist/fireflinkData/fireflinkLocators/utils/xpathHelpers.js +1647 -0
  452. package/dist/fireflinkData/fireflinkScript/appendScriptData.d.ts +2 -0
  453. package/dist/fireflinkData/fireflinkScript/appendScriptData.js +51 -0
  454. package/dist/fireflinkData/fireflinkScript/scriptGenrationData.js +4 -0
  455. package/dist/imageAnalysisMobile/annotatedScreenshotMobile.d.ts +4 -0
  456. package/dist/imageAnalysisMobile/annotatedScreenshotMobile.js +115 -7
  457. package/dist/imageAnalysisWeb/annotateScreenshot.js +4 -4
  458. package/dist/imageAnalysisWeb/generateAnnotatedScreenshots.d.ts +4 -1
  459. package/dist/imageAnalysisWeb/generateAnnotatedScreenshots.js +15 -17
  460. package/dist/llmConfig/llmConfiguration.d.ts +4 -3
  461. package/dist/llmConfig/llmConfiguration.js +41 -18
  462. package/dist/service/fireflink.service.d.ts +1 -1
  463. package/dist/service/fireflink.service.js +4 -4
  464. package/dist/tests/poc.d.ts +0 -1
  465. package/dist/tests/poc.js +211 -226
  466. package/dist/tests/test.d.ts +1 -0
  467. package/dist/tests/test.js +26 -0
  468. package/dist/tests/test12.d.ts +1 -0
  469. package/dist/tests/test12.js +78 -73
  470. package/dist/tests/testss.d.ts +1 -0
  471. package/dist/tests/testss.js +23 -0
  472. package/dist/utils/DomExtraction/jsForAttributeInjection.d.ts +2 -0
  473. package/dist/utils/DomExtraction/jsForAttributeInjection.js +220 -8
  474. package/dist/utils/InstancesDetails/getInstancesInfo.d.ts +26 -1
  475. package/dist/utils/InstancesDetails/getInstancesInfo.js +11 -5
  476. package/dist/utils/browserCap/capability.d.ts +10 -10
  477. package/dist/utils/browserCap/capability.js +21 -16
  478. package/dist/utils/frameWorkDetector/frameWorkDetector.d.ts +6 -0
  479. package/dist/utils/frameWorkDetector/frameWorkDetector.js +43 -0
  480. package/dist/utils/frameWorkDetector/frameWorkDetectorInterface.d.ts +10 -0
  481. package/dist/utils/frameWorkDetector/frameWorkDetectorInterface.js +2 -0
  482. package/dist/utils/helpers/enterActionHelper.d.ts +1 -0
  483. package/dist/utils/helpers/enterActionHelper.js +2 -1
  484. package/dist/utils/helpers/platformContext.d.ts +3 -0
  485. package/dist/utils/helpers/platformContext.js +11 -0
  486. package/dist/utils/helpers/platformSyntax.d.ts +1 -0
  487. package/dist/utils/helpers/platformSyntax.js +17 -0
  488. package/dist/utils/helpers/sameActionsHelper.js +7 -2
  489. package/dist/utils/helpers/xpathcreation.d.ts +5 -1
  490. package/dist/utils/helpers/xpathcreation.js +43 -4
  491. package/dist/utils/iframesExtraction/findElementUsingFF.js +12 -9
  492. package/dist/utils/iframesExtraction/iframeInterface.d.ts +4 -0
  493. package/dist/utils/javascript/jsForShadowRoot.d.ts +1 -1
  494. package/dist/utils/javascript/jsForShadowRoot.js +4 -0
  495. package/dist/utils/javascript/jsForVision.d.ts +2 -2
  496. package/dist/utils/javascript/jsForVision.js +17 -5
  497. package/dist/utils/logger/logData.d.ts +1 -0
  498. package/dist/utils/logger/logData.js +19 -0
  499. package/dist/utils/sslConfig/apiCallPatch.d.ts +1 -0
  500. package/dist/utils/sslConfig/apiCallPatch.js +33 -0
  501. package/dist/utils/sslConfig/getSecureAgent.d.ts +2 -0
  502. package/dist/utils/sslConfig/getSecureAgent.js +30 -0
  503. package/dist/utils/swipe/domSearchHelper.d.ts +1 -1
  504. package/dist/utils/swipe/domSearchHelper.js +43 -42
  505. package/dist/utils/swipe/swipeMovement.js +28 -19
  506. package/package.json +21 -6
  507. package/dist/automation/actions/interaction/get/getAudioDimension.d.ts +0 -2
  508. package/dist/automation/actions/interaction/get/getAudioDimension.js +0 -34
  509. package/dist/automation/actions/interaction/get/getAudioHeight.d.ts +0 -2
  510. package/dist/automation/actions/interaction/get/getAudioHeight.js +0 -30
  511. package/dist/automation/actions/interaction/get/getAudioWidth.d.ts +0 -2
  512. package/dist/automation/actions/interaction/get/getAudioWidth.js +0 -30
  513. package/dist/automation/actions/interaction/get/getVideoDimension.d.ts +0 -2
  514. package/dist/automation/actions/interaction/get/getVideoDimension.js +0 -31
  515. package/dist/automation/actions/interaction/get/getVideoHeight.d.ts +0 -2
  516. package/dist/automation/actions/interaction/get/getVideoHeight.js +0 -28
  517. package/dist/automation/actions/interaction/get/getVideoWidth.d.ts +0 -2
  518. package/dist/automation/actions/interaction/get/getVideoWidth.js +0 -28
  519. package/dist/fireflinkData/fireflinkLocators/elementsFromHTML.js +0 -514
  520. package/dist/fireflinkData/fireflinkLocators/typeList.d.ts +0 -1
  521. package/dist/fireflinkData/fireflinkLocators/typeList.js +0 -33
@@ -2,29 +2,31 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.keywordExtractorMobile = keywordExtractorMobile;
4
4
  async function keywordExtractorMobile({ priorAndNextSteps }) {
5
- const allowedActions = ["openApp", "tap", "enter", "wait", "verify", "scroll", "get", "close", "combined"];
5
+ const allowedActions = ["openApp", "tap", "enter", "wait", "verify", "scroll", "get", "closeApp", "combined"];
6
6
  const prompt = `
7
7
  You are an expert in mobile app testing.
8
8
  From the step, extract ONLY the meaningful keywords so that i can search for the element in the dom.
9
9
  Rules:
10
10
  - understand the step and context from the ${priorAndNextSteps}.and only extract keywords from current step and dont extract from prior and next steps.
11
11
  - 3 to 5 keywords maximum.
12
- - If step has 2 action like wait and any other action then give action as wait.
13
- - If the step is about luanching an app or opening app, like (action, param1, param2) or(action,'param1,param2') then wrap them into array and give them as keywords like ['com.app.android', 'com.app.activity']
12
+ - If step is contains more than one keyword like tap on x button of y ,then include both in keywords like this [x,y].and include full keywords rather than insering part of it.
13
+ - If the step is about luanching an app or opening app, like (action, param1, param2) or(action,'param1,param2') then wrap them into array and give them as keywords like ['com.app.android', 'com.app.activity'],if it is (action,param1) like (launch app, 'com.app.android') then give it as one keyword ['com.app.android'].
14
14
  and also give them in the format (launch app, 'com.app.android', 'com.app.activity') like first package name and second activity name. if any separator exists (- / | :), split on it.
15
15
  If they mention package:com.app.android and activity:com.app.activity remove variable name and then convert them into ['com.app.android, 'com.app.activity']
16
- - If the step is about entering text, Do NOT include entered input values from the step in keywords.
16
+ - If the step is about entering text, Should NOT include entered input values from the step in keywords.
17
17
  - First keywords should be from step next Keywords must be distinct and based on the element's label meaning only.
18
18
  - **Keywords can be string or number if the step contains a number it can be any number,must include that number in keywords and give it in string format.**
19
- - Do Not include any other unrelated keywords for step.
20
- - Do NOT include generic UI words (button, field, etc) and action words (tap, click, press, etc).
21
- - Do NOT include status/technical words (displayed, enabled, authenticate, visible).
19
+ - if step has keyword with type give two keywords with type and without type. ex: tap on leaving from text field. keywords = ["leaving from",leaving from text field].
20
+ - Should NOT include any other unrelated keywords for step.
21
+ - Should NOT include generic UI words (button, field, etc) and action words (tap, click, press, etc).example:tap on x button -> ['x']
22
+ - Should NOT include status/technical words (displayed, enabled, authenticate, visible).
22
23
  - If an element label contains multiple words (e.g., "Sign In", "Add to Cart"), keep them together as ONE keyword and do not split them and also for keywords you generated, do not split them.
23
24
  -** element_name: extract name of the element that mentioned in the step not from keywords or other steps.(eg:tap on x -> element_name:x). always try to retuen short and meaning full element name from step**
24
- - action: openApp for opening or launching of app, tap for taping or selecting or clicking or pressing, enter for entering input, wait for waiting or sleeping, verify for verifying or checking, scroll for scrolling and swiping, get for getting,fetching element, closeApp for closing the app.
25
- - If step is press any key give action as tap.
26
- - action must be one of from this list ${allowedActions}.if not one of them, return action as 'combined'. if step about set or find or open chrome browser or open app with apk path or install apk or uninstall apk or activate or terminate action pinch in or pinch out and running app in the backgroundaction return action as 'combined'
27
- - if the step action is about finding then provide action as combined.
25
+ - action: openApp for opening or launching of app and not for open app with apk and activate app is there in step give action as combined, tap for taping or selecting or clicking or pressing, enter for entering input, wait for waiting or sleeping, verify for verifying or checking,scroll for scrolling and swiping, get for getting and fetching element and gtting logs and getting driver or instance details, closeApp for closing the app but not for terminating app step.
26
+ - If step is press any key give action as tap.if step is clear or clearandenter give action as enter and if step is open chrome browser app por application and it doesnot have app package or bundle id give action as combined but if step has app package or bundle id give action as openApp.
27
+ - action must be one of from this list ${allowedActions}.if not one of them, return action as 'combined'. if step about set or setting or find, install apk or ipa, uninstall apk or ipa,activate app with app package or bundle id, pinch in or pinch out or related turn wifi or airplane mode return action as 'combined'
28
+ - if the step action is about finding or check app is installed or open chrome browser or open app with apk path or open notification bar or terminate app using app package or bumdle id or running app in the background for some seconds then provide action as combined.
29
+ - Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
28
30
  Respond only with JSON using this format:
29
31
  {
30
32
  "keywords": [key1,key2,key3,key4,key5] if step is opening app then keywords should be like [app package,app activity],
@@ -17,7 +17,7 @@ Rules:
17
17
  4. Please paste the “below example array” here, so I can make it dynamic and generic strictly in the same format.
18
18
  **Dont include any other text in the array. and also dont include example array in the response.**
19
19
  Output Format
20
-
20
+ - Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
21
21
  Respond strictly in valid JSON using the following structure:
22
22
  {
23
23
  "manualSteps": ["step 1", "step 2", "step 3"]
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.verifyActionExtractorPrompt = verifyActionExtractorPrompt;
4
4
  async function verifyActionExtractorPrompt({ extractedDomJson, priorAndNextSteps, }) {
5
- const nlpList = `VerifyElementIsDisabled,VerifyElementIsEnabled,VerifyElementIsSelected,VerifyIfOptionWithIndexIsDeselectedInElement,
5
+ const nlpList = `VerifyNumberOfElementsByXpath,VerifyElementIsDisabled,VerifyElementIsEnabled,VerifyElementIsSelected,VerifyIfOptionWithIndexIsDeselectedInElement,
6
6
  VerifyIfOptionWithIndexIsSelectedInListBox,VerifyWidthOfElement,VerifyBrowserWindowXLocation,
7
7
  VerifyIfCookieNameIsDeleted,VerifyBrowserWindowWidth,VerifyValueOfElementIsCleared,
8
8
  VerifyTagName,VerifyIfCookieNameIsAdded,VerifyLinkNavigatesToTitle,VerifyXLocationOfElement,
@@ -10,7 +10,7 @@ async function verifyActionExtractorPrompt({ extractedDomJson, priorAndNextSteps
10
10
  VerifyNumberOfElementsByTagName,VerifyListBoxOptionsAreSorted,VerifyNavigateURL,
11
11
  VerifyHeightOfWebElement,VerifyValueOfElementContainsString,VerifyBrowserWindowHeight,VerifyIfLinksAreBroken,
12
12
  VerifyIfLinkIsBroken,VerifyValueOfElementIsString,VerifyYLocationOfElement,
13
- VerifyNumberOfElementsByXpath,VerifyAttributeValue,
13
+ VerifyAttributeValue,
14
14
  VerifyElementIsDisplayed,VerifyAllOptionsAreSelected,VerifyIfOptionWithValueIsDeselected,
15
15
  VerifyBrowserWindowTitleContainsString,VerifyBrowserWindowTitleIsString,
16
16
  VerifyTitleOfCurrentPage,VerifyPartialTitleOfCurrentPage,VerifyElementIsNotDisplayed,
@@ -28,7 +28,7 @@ async function verifyActionExtractorPrompt({ extractedDomJson, priorAndNextSteps
28
28
  VerifyIfAudioIsPlaying,VerifyIfAudioIsPaused,VerifyIfAudioIsMuted,VerifyIfAudioEnded,
29
29
  VerifyIfLinkIsWorking,VerifyIfLinksAreWorking,
30
30
  VerifyIfImageIsBroken,VerifyAllBrokenImages,VerifyIfStatusCodeOfALinkIsStatusCode,
31
- VerifyIfStatusCodesOfLinks,VerifyIfOptionWithVisibleTextIsSelected,VerifyBrowserWindowUrlIsString,
31
+ VerifyIfStatusCodeOfAllLinksIsStatusCode,VerifyIfOptionWithVisibleTextIsSelected,VerifyBrowserWindowUrlIsString,
32
32
  VerifyIfOptionWithTextIsDeselected,VerifyPerformanceScore,VerifyAccessibilityScore,VerifyBrowserWindowUrlContainsExpectedUrl,
33
33
  VerifyBestPracticesScore,VerifySeoScore,VerifyPwaScore,VerifyHexCodeForGivenXYCoordinates`;
34
34
  const elementType = ['link', 'textfield', 'icon', 'button', 'radioButton', 'text', 'textarea', 'image', 'dropdown', 'checkbox', 'tab', 'action overflow button', 'hamburger icon', 'toggle button', 'suggestion', 'time picker', 'date picker', 'toaster message', 'card', 'tooltip', 'option', 'calender', 'sliders', 'visual testing'];
@@ -39,37 +39,39 @@ Given the step, the simplified DOM: ${extractedDomJson}, and the list of NLP nam
39
39
  Select the perfect matching NLP name from the list that best fits the step's intent.
40
40
  **The NLP name must match exactly one value from the approved NLP list. Do not generate or suggest any new NLP names under any condition.**
41
41
  step may give any way,you need to get most matching and most related nlp name from the list that relates to step.
42
- for these nlp's VerifyIfSpecifiedOptionIsSelected,VerifyThatSpecifiedOptionIsNotSelected,VerifyIfOptionWithValueIsSelected,VerifyIfOptionWithValueIsDeselected,in step if they mention word value then only match with these VerifyIfOptionWithValueIsSelected,VerifyIfOptionWithValueIsDeselected.Otherwise go with specified option nlp's.
42
+ for these nlp's VerifyIfSpecifiedOptionIsSelected,VerifyThatSpecifiedOptionIsNotSelected,VerifyIfOptionWithValueIsSelected,VerifyIfOptionWithValueIsDeselected,in step if they mention word value then only match with these VerifyIfOptionWithValueIsSelected,VerifyIfOptionWithValueIsDeselected.Otherwise go with specified option nlp's. and only select tags for these nlp's from the given tag list.
43
43
  if step is verify option with index is deselected map to VerifyIfOptionWithIndexIsDeselectedInElement and if step is verify option with index is selected then map to VerifyIfOptionWithIndexIsSelectedInListBox.
44
44
  example: verify if email element is present
45
45
  nlp name should be VerifyElementIsDisplayed
46
-
47
-
46
+ - Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
47
+ Return **only valid JSON** in the following format:
48
48
  {
49
- "attribute_value": "Fire-Flink-x",
49
+ "attributeValue": "Fire-Flink-x",
50
50
  "nlpName": "x",
51
- "input_text":"x"
51
+ "inputText":"x",
52
52
  "elementType": "x"
53
53
  }
54
54
 
55
55
  Rules:
56
56
  - nlpName must be exactly one from the provided list.
57
+ -while matching nlpName with step (ignore spaces, case differences).If multiple NLPs are similar, choose the MOST SPECIFIC and EXACT match.
57
58
  - Use context from the steps : ${priorAndNextSteps}, keyword and json to search for FF-inspecter.
58
59
  - **Find the FF-inspecter attribute value of the element in the Simplified JSON whose text or any other attributes best match the step in the simplified DOM.**
59
- - For some steps you can see two inputs but you need to understand step and send the required input_text. input_text can be string, number, url or xpath.
60
- ex: Verify the flights matches the flight, Verify the home has 30 and 50 coordinates if they give x-30,y-50 just send 30,50 and verify hex code '#FFFFFF' for given (34,11) coordinates or they will give x-34,y-11 hexcode-#FFFFFF format than fill input_text in this order "#FFFFFF,34,11"
60
+ - For some steps you can see two inputs but you need to understand step and send the required inputText. inputText can be string, number, url or xpath.
61
+ ex: Verify the flights matches the flight, Verify the home has 30 and 50 coordinates if they give x-30,y-50 just send 30,50 and verify hex code '#FFFFFF' for given (34,11) coordinates or they will give x-34,y-11 hexcode-#FFFFFF format than fill inputText in this order "#FFFFFF,34,11"
61
62
  here keyword : "flights" , input : "flight", here input:"30,50" , here input:"#FFFFFF,34,11"
62
- - If step is about checking attribute value then map to attribute nlps and input_text: "attribute_name,element_name" here attribute_name can be id,text,href etc not fire-flink-x. input_text should be in this format.if they mention css attribute value then input_text should be "css_property,expected_value".
63
- and also If a step requires comparing two values, provide the input in the format input_text: "value1,value2".
64
- - if step is about tag name then input_text: "tag name". and if step is about verifying tag name and with count then input_text: "tag name,count". and if any step is about verifying number of elements with xpath then input_text should be "xpath,count"
65
- - if step is about verifying location then input_text: "coordinates".
63
+ - If step is about checking attribute value then map to attribute nlps and inputText: "attribute_name,element_name" here attribute_name can be id,text,href etc not fire-flink-x. inputText should be in this format.if they mention css attribute value then inputText should be "css_property,expected_value" from the step only.
64
+ and also If a step requires comparing two values, provide the input in the format inputText: "value1,value2".
65
+ - if step is about tag name then inputText: "tag name". and if step is about verifying tag name and with count then inputText: "tag name,count". and if any step is about verifying number of elements with xpath then inputText should be "xpath,count"
66
+ - if step is about verifying location then inputText: "coordinates".
66
67
  - If a step involves a URL, map navigation/action keywords (navigate) to VerifyNavigateURL, partial match keywords (contains, includes) to VerifyUrlContainsExpectedUrl or VerifyBrowserWindowUrlContainsExpectedUrl exact match keywords (equals, is, exactly) to VerifyUrlIsString or VerifyBrowserWindowUrlIsString based on step if they mention navigate to title match with (VerifyLinkNavigatesToTitle) default to exact match if unclear, and prioritize navigation if both intents exist.
67
68
  - If no explicit option is mentioned in the step, map it to the most relevant non-option verification NLP based on the intent of the step.
68
- - **Extract input_text from the step that is which is being verified in the step, if you can't find any input text in the step, return keyword as input_text.**
69
+ - **Extract inputText from the step that is which is being verified in the step, if you can't find any input text in the step, return keyword as inputText.**
69
70
  if step is verifying value of element then extract value which is being verified only not any other words in the step.
70
- - Extract keyword from the step, if the step contains any keyword.
71
- - if no matching element found for the step return attribute_value as only 'Fire-Flink-0' dont give Fire-Flink-x or any string .
72
- - Based on step give most relevant type of element. use this list to choose element_type: ${elementType} and Never change syntax of element_type, follow the syntax of element_type in list.if element_type is not there in list return 'link'.
71
+ - Only for VerifyIfStatusCodeOfAllLinksIsStatusCode extract all links given in step and give in inputText as '[link1,link2,link3...],statusCode'
72
+ - For performance and accessibility score extraction from step, use the inputs from step: [url,device,score] should be in this order. if any input is missing send remining inputs from step itself.
73
+ - if no matching element found for the step return attributeValue as only 'Fire-Flink-0' dont give Fire-Flink-x or any string .
74
+ - Based on step give most relevant type of element. use this list to choose elementType: ${elementType} and Never change syntax of elementType, follow the syntax of elementType in list.if elementType is not there in list return 'link'.
73
75
  - **Respond with valid JSON only. don't return any other text or don't return response in list format**
74
76
  `;
75
77
  return prompt;
@@ -20,10 +20,9 @@ Select the perfect matching NLP name from the list that best fits the step's int
20
20
 
21
21
  Return **only valid JSON** in the following format:
22
22
  {
23
- "attribute_value": "Fire-Flink-x",
23
+ "attributeValue": "Fire-Flink-x",
24
24
  "nlpName": "x",
25
- "input_text":"x"
26
- "keyword": "x",
25
+ "inputText":"x"
27
26
  "elementType": "x",
28
27
  "locator_type":"x"
29
28
  }
@@ -31,21 +30,22 @@ Rules:
31
30
  - nlpName must be exactly one from the provided list.
32
31
  - Use context from the steps : ${priorAndNextSteps}, keyword and json to search for FF-inspecter.
33
32
  - **Find the FF-inspecter attribute value of the element in the Simplified JSON whose text or attributes best match the step.**
34
- - For some steps you can see two inputs but you need to uderstand step and send the requred input_text.
33
+ - For some steps you can see two inputs but you need to uderstand step and send the requred inputText.
35
34
  ex: Verify the flights matches the flight,Verify the home has 30 and 50 coordinates
36
35
  here keyword : "flights" , input : flight, here input:30,50
37
- - If step mention time and element name then Input_text should be elementname,time.
36
+ - If step mention time and element name then inputText should be time.
38
37
  example: Verify the home is displayed for 30 seconds
39
- here keyword : "home" , input : home,30 only they mention seconds as input in step
38
+ here keyword : "home" , input : 30 only they mention seconds as input in step
40
39
  - If step mention verify text then only pick MOB_VerifyText nlp otherwise pick MOB_VerifyElementIsDisplayed.
41
40
  - If step mention verify x and y coordinate of element then only pick MOB_VerifyIfXAndYCoordinateOfElement.
42
- - Extract input_text from the step that is which is being verified in the {step}, if you can't find any input text in the step, return keyword as input_text.
41
+ - Extract inputText from the step that is which is being verified in the step if they mention verifying two values in inputs take as it is,if they mention one value take only that as input text, if you can't find any input text in the step, return keyword as inputText.
43
42
  - if the step is about checking the element is displayed then pick MOB_CheckIfElementIsDisplayed nlp.
44
- - For MOB_VerifyHeightOfElement just provide height mentioned in the step as the input_text don't add anything else
43
+ - For MOB_VerifyHeightOfElement just provide height mentioned in the step as the inputText don't add anything else
45
44
  - Extract keyword from the step, if the step contains any keyword.
46
- - Use the closest semantic match for the step; return attribute_value as Fire-Flink-0, only if nothing is found.
45
+ - Use the closest semantic match for the step; return attributeValue as Fire-Flink-0, only if nothing is found.
47
46
  - Based on step give most relevant type of element. use this list to choose elementType: ${elementType} and Never change syntax of elementType, follow the syntax of elementType in list.if elementType is not there in list return 'link'.
48
47
  - Extract locator_type if mentioned in the step, like(text,resource-id,content-desc) . if not found return 'empty'.
48
+ - Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
49
49
  - Respond with valid JSON only.
50
50
  `;
51
51
  return prompt;
@@ -10,11 +10,13 @@ Context: ${priorAndNextSteps}
10
10
  - Using the provided annotated screenshot and Step, identify the correct element index from the image.
11
11
  - Match the index to the text or action described in Step as accurately as possible.
12
12
  - Allow partial and case-insensitive matching. If a clear match exists, return its index.
13
- - Return only the Fire-Flink-x for the target element .
13
+ - If the Chosen element has more than one index has been provided for it, return the index that smaller in number.
14
+ - Return only the Fire-Flink-x for the target element.
14
15
  - **Never return Fire-Flink-1 only return Fire-Flink-0.**
15
16
  - Do not provide any additional text or explanation. The output must be strictly Fire-Flink-x.
17
+ - Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
16
18
  Respond only with JSON using this format:
17
- {fireflinkIndex: Fire-Flink-x | Fire-Flink-0}
19
+ {"fireflinkIndex": "Fire-Flink-x" | "Fire-Flink-0"}
18
20
 
19
21
  `.trim();
20
22
  return customPromptText;
@@ -14,6 +14,7 @@ You are a precise mobile automation assistant.
14
14
  - Return the **index** number as shown in the image (1-based).
15
15
  - if there are two elements that match step and one have box and other doesn't have box then prefer the one with box and return that index number.
16
16
  - if no correct element found or if none of correct elements has no box,then return 0.
17
+ - Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
17
18
  Respond only with JSON using this format:
18
19
  {fireflinkIndex: Fire-Flink-x | Fire-Flink-0}
19
20
 
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.waitActionExtractorPrompt = waitActionExtractorPrompt;
4
4
  async function waitActionExtractorPrompt({ extractedDomJson, priorAndNextSteps, }) {
5
5
  const nlpList = `
6
- "WaitTillUlrOfPageContainsString",
6
+ "WaitTillUrlOfPageContainsString",
7
7
  "WaitTillTitleOfPageIsString",
8
8
  "WaitTillUrlOfPageIsString",
9
9
  "WaitTitleOfPageContainsString",
@@ -35,25 +35,26 @@ Select the perfect matching NLP name from the list that best fits the step's int
35
35
 
36
36
  Return **only valid JSON** in the following format:
37
37
  {
38
- "attribute_value": "Fire-Flink-x",
38
+ "attributeValue": "Fire-Flink-x",
39
39
  "nlpName": "x",
40
- "input_text":"x"
40
+ "inputText":"x",
41
41
  "keyword": "x",
42
- "element_type": "x"
42
+ "elementType": "x"
43
43
  }
44
44
  Rules:
45
45
  - nlpName must be exactly one from the provided list.
46
46
  - For steps like wait for some time or wait for 5 secondes. give input in number only and nlpName should be "Sleep".
47
47
  - Use context from the steps : ${priorAndNextSteps}, keyword and json to search for FF-inspecter.
48
48
  - **Find the FF-inspecter attribute value of the element in the Simplified JSON whose text or attributes best match the step.**
49
- - For some steps you can see two inputs but you need to uderstand step and send the requred input_text.
49
+ - For some steps you can see two inputs but you need to uderstand step and send the requred inputText.
50
50
  ex: Wait until the flights has the flight text
51
51
  here keyword : "flights" , input : flight
52
- - If nlpName is "WaitTillPresenceOfAllElements", the input_text MUST be formatted exactly as "xpath, [THE XPATH]". Do not return plain text.
53
- - Extract input_text from the step, if you can't find any input text in the step, return keyword as input_text.
52
+ - If nlpName is "WaitTillPresenceOfAllElements", the inputText MUST be formatted exactly as "xpath, [THE XPATH]". Do not return plain text.
53
+ - Extract inputText from the step, if you can't find any input text in the step, return keyword as inputText.
54
54
  - Extract keyword from the step, if the step contains any keyword.
55
- - Use the closest semantic match for the step; return attribute_value as Fire-Flink-0, only if nothing is found.
56
- - Based on step give most relevant type of element. use this list to choose element_type: ${elementType} and Never change syntax of element_type, follow the syntax of element_type in list.if element_type is not there in list return 'link'.
55
+ - Use the closest semantic match for the step; return attributeValue as Fire-Flink-0, only if nothing is found.
56
+ - Based on step give most relevant type of element. use this list to choose elementType: ${elementType} and Never change syntax of elementType, follow the syntax of elementType in list.if elementType is not there in list return 'link'.
57
+ - Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
57
58
  - Respond with valid JSON only.
58
59
  `;
59
60
  return prompt;
@@ -15,9 +15,9 @@ Select the perfect matching NLP name from the list that best fits the step's int
15
15
 
16
16
  Return **only valid JSON** in the following format:
17
17
  {
18
- "attribute_value": "Fire-Flink-x",
18
+ "attributeValue": "Fire-Flink-x",
19
19
  "nlpName": "x",
20
- "input_text":"x"
20
+ "inputText":"x",
21
21
  "keyword": "x",
22
22
  "elementType": "x"
23
23
  }
@@ -26,15 +26,16 @@ Rules:
26
26
  - For steps like wait for some time or wait for 5 secondes. give input in number only and nlpName should be "Sleep".
27
27
  - Use context from the steps : ${priorAndNextSteps}, keyword and json to search for FF-inspecter.
28
28
  - **Find the FF-inspecter attribute value of the element in the Simplified JSON whose text or attributes best match the step.**
29
- - For some steps you can see two inputs but you need to uderstand step and send the requred input_text.
29
+ - For some steps you can see two inputs but you need to uderstand step and send the requred inputText.
30
30
  ex: Wait until the flights has the flight text
31
31
  here keyword : "flights" , input : flight
32
- - If nlpName is "MOB_WaitTillPresenceOfAllElements", the input_text MUST be formatted exactly as "xpath, [THE XPATH]". Do not return plain text.
33
- - **If the step has input in a string with comma take that string as it is in input_text.**
34
- - Extract input_text from the step, if you can't find any input text in the step, return keyword as input_text.
32
+ - If nlpName is "MOB_WaitTillPresenceOfAllElements", the inputText MUST be formatted exactly as "xpath, [THE XPATH]". Do not return plain text.
33
+ - **If the step has input in a string with comma take that string as it is in inputText.**
34
+ - Extract inputText from the step, if anything is in string like 'attributeName,attributeValue' ,take as it is dont remove any part,if you can't find any input text in the step, return keyword as inputText.
35
35
  - Extract keyword from the step, if the step contains any keyword.
36
- - Use the closest semantic match for the step; return attribute_value as Fire-Flink-0, only if nothing is found.
36
+ - Use the closest semantic match for the step; return attributeValue as Fire-Flink-0, only if nothing is found.
37
37
  - Based on step give most relevant type of element. use this list to choose elementType: ${elementType} and Never change syntax of elementType, follow the syntax of elementType in list.if elementType is not there in list return 'link'.
38
+ - Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
38
39
  - Respond with valid JSON only.
39
40
  `;
40
41
  return prompt;
@@ -22,16 +22,15 @@ exports.userInputFormatters = {
22
22
  }
23
23
  const content = [
24
24
  {
25
- type: "text",
26
- text: `Analyze the following step:\n\n${JSON.stringify(userInput.currentStep, null, 2)}`
25
+ type: "input_text",
26
+ text: `Analyze the following step:\n\n${JSON.stringify(userInput.currentStep, null, 2)}`,
27
27
  },
28
28
  {
29
- type: "image_url",
30
- image_url: {
31
- url: imageBase64
32
- }
33
- }
29
+ type: "input_image",
30
+ image_url: imageBase64,
31
+ detail: "auto",
32
+ },
34
33
  ];
35
34
  return content;
36
- }
35
+ },
37
36
  };
@@ -12,7 +12,7 @@ export declare class ActionExecutor implements IActionExecutor {
12
12
  navigate(url: string): Promise<void>;
13
13
  goBack(): Promise<void>;
14
14
  refresh(): Promise<void>;
15
- switchToFrame(driver: WebdriverIO.Browser, selector: string, frames: FrameMeta[], elementName: string, elementType: string): Promise<void>;
15
+ switchToFrame(selector: string, frames: FrameMeta[], elementName: string, elementType: string, pageDOM: string, fireflinkIndex: string): Promise<void>;
16
16
  wait(time: string): Promise<void>;
17
17
  click(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
18
18
  clickUsingJS(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
@@ -20,7 +20,7 @@ export declare class ActionExecutor implements IActionExecutor {
20
20
  doubleClick(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
21
21
  waitAndClick(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
22
22
  clickNTimes(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
23
- enterInput(selector: string, value: string, fireflinkIndex: string, pageDOM: string, elementName: string, elementType: string): Promise<void>;
23
+ enterInput(selector: string, value: string, fireflinkIndex: string, pageDOM: string, elementName: string, elementType: string, stepIndex: any, filteredSteps: any): Promise<void>;
24
24
  enterInputShadow(selector: string, value: string, fireflinkIndex: string, pageDOM: string, elementName: string, elementType: string): Promise<void>;
25
25
  enterInputAndPress(selector: string, value: string, fireflinkIndex: string, pageDOM: string, elementName: string, elementType: string): Promise<void>;
26
26
  clickShadowElement(selector: string, fireflinkIndex: string, pageDOM: string, elementName: string, elementType: string): Promise<void>;
@@ -43,6 +43,9 @@ export declare class ActionExecutor implements IActionExecutor {
43
43
  switchToWindowIfTitleContainsString(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
44
44
  switchToWindowIfUrlContainsString(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
45
45
  uploadFilePathUsingRobot(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
46
+ verifyElementIsDisplayedInSpecifiedTime(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
47
+ verifyElementIsEnabledInSpecifiedTime(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
48
+ verifyElementIsSelectedInSpecifiedTime(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
46
49
  verifyText(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
47
50
  verifyPartialText(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
48
51
  VerifyElementIsDisplayed(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
@@ -71,11 +74,11 @@ export declare class ActionExecutor implements IActionExecutor {
71
74
  enterDataToAlert(value: string): Promise<void>;
72
75
  clickOkOnAlertPopup(): Promise<void>;
73
76
  clickCancelOnAlertPopup(): Promise<void>;
74
- verifyAlertPopupIsDisplayed(): Promise<void>;
77
+ verifyAlertPopupIsDisplayed(value: string): Promise<void>;
75
78
  getTextPresentOnAlertPopup(): Promise<void>;
76
79
  switchToDefaultContent(): Promise<void>;
77
80
  getPageTitle(): Promise<void>;
78
- getAttribute(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
81
+ getAttribute(pageDOM: string, selector: string, value: string, attributeType: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
79
82
  getTagName(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
80
83
  getListBoxSize(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
81
84
  getWrappedOptionFromListBoxAsText(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
@@ -150,9 +153,6 @@ export declare class ActionExecutor implements IActionExecutor {
150
153
  getVideoCurrentPlaybackRate(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
151
154
  getVideoDefaultPlaybackRate(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
152
155
  getVideoCurrentVolume(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
153
- getVideoWidth(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
154
- getVideoHeight(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
155
- getVideoDimension(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
156
156
  getVideoDecodedByte(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
157
157
  getAudioMediaSource(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
158
158
  getAudioMediaLength(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
@@ -160,9 +160,6 @@ export declare class ActionExecutor implements IActionExecutor {
160
160
  getAudioCurrentPlaybackRate(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
161
161
  getAudioDefaultPlaybackRate(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
162
162
  getAudioCurrentVolume(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
163
- getAudioWidth(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
164
- getAudioHeight(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
165
- getAudioDimension(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
166
163
  getAudioDecodedByte(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
167
164
  getSingleApiStatusCode(value: string): Promise<void>;
168
165
  getSingleApiResponse(value: string): Promise<void>;
@@ -257,11 +254,11 @@ export declare class ActionExecutor implements IActionExecutor {
257
254
  SetClipBoardText(value: string): Promise<void>;
258
255
  PressAnyKeyNTimes(value: string): Promise<void>;
259
256
  FindElements(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
260
- MOB_FindElement(selector: string, elementName: string, elementType: string): Promise<void>;
257
+ MOB_FindElement(selector: string, elementName: string, elementType: string, pageDOM: string, fireflinkIndex: string): Promise<void>;
261
258
  WaitTillElementIsClickable(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
262
259
  CheckIfElementIsDisplayed(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
263
260
  PressAnyKey(value: string): Promise<void>;
264
- WaitTillElementHasText(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
261
+ WaitTillElementHasText(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
265
262
  WaitTillElementContainsText(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
266
263
  PressEnterKey(): Promise<void>;
267
264
  OpenNotification(): Promise<void>;
@@ -292,7 +289,7 @@ export declare class ActionExecutor implements IActionExecutor {
292
289
  TerminateAppUsingAppPackage(value: string): Promise<void>;
293
290
  OpenAppWithApkFilePath(value: string): Promise<void>;
294
291
  ActivateAppUsingAppPackage(value: string): Promise<void>;
295
- LongPress(selector: string, value: string, elementName: string, elementType: string): Promise<void>;
292
+ LongPress(selector: string, value: string, elementName: string, elementType: string, pageDOM: string, fireflinkIndex: string): Promise<void>;
296
293
  MOB_GetDeviceLocation(): Promise<void>;
297
294
  MOB_GetBatteryPercentage(): Promise<void>;
298
295
  MOB_GetLongitude(): Promise<void>;
@@ -322,9 +319,9 @@ export declare class ActionExecutor implements IActionExecutor {
322
319
  MOB_GetCurrentSessionId(): Promise<void>;
323
320
  MOB_GetHeightOfScreen(): Promise<void>;
324
321
  MOB_GetCurrentDeviceSystemBars(): Promise<void>;
325
- MOB_GetWidthOfElement(selector: string, elementName: string, elementType: string): Promise<void>;
326
- MOB_GetHeightOfElement(selector: string, elementName: string, elementType: string): Promise<void>;
327
- MOB_GetTextFromElementAndSetToClipBoard(selector: string, elementName: string, elementType: string): Promise<void>;
322
+ MOB_GetWidthOfElement(selector: string, elementName: string, elementType: string, pageDOM: string, fireflinkIndex: string): Promise<void>;
323
+ MOB_GetHeightOfElement(selector: string, elementName: string, elementType: string, pageDOM: string, fireflinkIndex: string): Promise<void>;
324
+ MOB_GetTextFromElementAndSetToClipBoard(selector: string, elementName: string, elementType: string, pageDOM: string, fireflinkIndex: string): Promise<void>;
328
325
  MOB_GetADBLogsForGivenAppPackage(value: string): Promise<void>;
329
326
  MOB_VerifyIfAppIsClosed(value: string): Promise<void>;
330
327
  MOB_VerifyIfAirplaneModeOn(): Promise<void>;
@@ -339,27 +336,34 @@ export declare class ActionExecutor implements IActionExecutor {
339
336
  MOB_VerifyIfKeyboardIsHidden(): Promise<void>;
340
337
  MOB_VerifyBatteryLevel(value: string): Promise<void>;
341
338
  MOB_WaitTillAllElementsAreInvisible(): Promise<void>;
342
- MOB_WaitTillElementIsSelected(selector: string, elementName: string, elementType: string): Promise<void>;
343
- MOB_WaitTillElementIsEnabled(selector: string, elementName: string, elementType: string): Promise<void>;
344
- MOB_WaitTillElementIsVisible(selector: string, elementName: string, elementType: string): Promise<void>;
345
- MOB_WaitTillStalenessOfElement(selector: string, elementName: string, elementType: string): Promise<void>;
346
- MOB_WaitTillElementIsInvisible(selector: string, elementName: string, elementType: string): Promise<void>;
347
- MOB_WaitTillAttributeOfElementContainsString(selector: string, elementName: string, attributeName: string, elementType: string, value: string): Promise<void>;
339
+ MOB_WaitTillElementIsSelected(selector: string, elementName: string, elementType: string, pageDOM: string, fireflinkIndex: string): Promise<void>;
340
+ MOB_WaitTillElementIsEnabled(selector: string, elementName: string, elementType: string, pageDOM: string, fireflinkIndex: string): Promise<void>;
341
+ MOB_WaitTillElementIsVisible(selector: string, elementName: string, elementType: string, pageDOM: string, fireflinkIndex: string): Promise<void>;
342
+ MOB_WaitTillStalenessOfElement(selector: string, elementName: string, elementType: string, pageDOM: string, fireflinkIndex: string): Promise<void>;
343
+ MOB_WaitTillElementIsInvisible(selector: string, elementName: string, elementType: string, pageDOM: string, fireflinkIndex: string): Promise<void>;
344
+ MOB_WaitTillAttributeOfElementContainsString(selector: string, elementName: string, attributeName: string, elementType: string, value: string, pageDOM: string, fireflinkIndex: string): Promise<void>;
348
345
  MOB_SetContext(value: string): Promise<void>;
349
346
  MOB_SetEmulatorPowerPercentage(value: string): Promise<void>;
350
- swipeToElement(value: string, elementName: string, elementType: string, num_of_scrolls: number): Promise<void>;
351
- swipeUpToElement(value: string, elementName: string, elementType: string, num_of_scrolls?: number): Promise<void>;
352
- swipeDownToElement(value: string, elementName: string, elementType: string, num_of_scrolls?: number): Promise<void>;
353
- swipeLeftToElement(value: string, elementName: string, elementType: string, num_of_scrolls: number): Promise<void>;
354
- swipeRightToElement(value: string, elementName: string, elementType: string, num_of_scrolls?: number): Promise<void>;
355
- swipeNTimes(num_of_scrolls: string, direction?: string): Promise<void>;
356
- swipeDirectionNTimes(num_of_scrolls: string, direction: string): Promise<void>;
357
- swipeToElementForMWeb(value: string, elementName: string, elementType: string, num_of_scrolls?: number): Promise<void>;
358
- swipeUsingReferenceElement(value: string, elementName: string, elementType: string, num_of_scrolls: string, direction: string): Promise<void>;
359
- MOB_EnterInputIntoElementFromClipBoard(selector: string, elementName: string, elementType: string): Promise<void>;
347
+ swipe(nlpName: string, value: string, direction: string): Promise<void>;
348
+ swipeToElement(value: string, elementName: string, elementType: string, numOfScrolls: number): Promise<void>;
349
+ swipeUpToElement(value: string, elementName: string, elementType: string, numOfScrolls: number): Promise<void>;
350
+ swipeDownToElement(value: string, elementName: string, elementType: string, numOfScrolls: number): Promise<void>;
351
+ swipeLeftToElement(value: string, elementName: string, elementType: string, numOfScrolls: number): Promise<void>;
352
+ swipeRightToElement(value: string, elementName: string, elementType: string, numOfScrolls: number): Promise<void>;
353
+ swipeNTimes(numOfScrolls: string, direction?: string): Promise<void>;
354
+ swipeDirectionNTimes(numOfScrolls: string, direction: string): Promise<void>;
355
+ swipeToElementForMWeb(value: string, elementName: string, elementType: string, pageDOM: string, fireflinkIndex: string, numOfScrolls: number): Promise<void>;
356
+ swipeUsingReferenceElement(value: string, elementName: string, elementType: string, numOfScrolls: string, direction: string, pageDOM: string, fireflinkIndex: string): Promise<void>;
357
+ MOB_EnterInputIntoElementFromClipBoard(selector: string, elementName: string, elementType: string, pageDOM: string, fireflinkIndex: string): Promise<void>;
360
358
  MOB_CheckIfAppIsClosed(): Promise<void>;
361
359
  MOB_RunAppInBackground(value: string): Promise<void>;
362
- MOB_PinchInByPercent(selector: string, value: string, elementName: string, elementType: string): Promise<void>;
363
- MOB_PinchOutByPercent(selector: string, value: string, elementName: string, elementType: string): Promise<void>;
360
+ MOB_PinchInByPercent(selector: string, value: string, elementName: string, elementType: string, pageDOM: string, fireflinkIndex: string): Promise<void>;
361
+ MOB_PinchOutByPercent(selector: string, value: string, elementName: string, elementType: string, pageDOM: string, fireflinkIndex: string): Promise<void>;
364
362
  MOB_DoubleTapAtSpecifiedLocation(value: string, elementName: string, elementType: string): Promise<void>;
363
+ mouseHover(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
364
+ pressAndHoldLeftMouseButton(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
365
+ MouseClickOnCurrentCursorPoint(): Promise<void>;
366
+ MouseDoubleClickAtCursorPoint(): Promise<void>;
367
+ ReleaseLeftMouseButton(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
368
+ MouseClickOnCurrentCursorPointNTimes(value: string): Promise<void>;
365
369
  }