ff-automationv2 2.2.23 → 2.2.25
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.
- package/dist/ai/llmcalls/decodeApiKey.js +4 -1
- package/dist/ai/llmcalls/llmAction.js +27 -20
- package/dist/ai/llmcalls/parseLlmOputput.js +5 -1
- package/dist/ai/llmprompts/llmPromptTypes/systemPromptTypes.js +2 -1
- package/dist/ai/llmprompts/promptRegistry.js +38 -35
- package/dist/ai/llmprompts/systemPrompts/actionExtractorPrompt.js +6 -3
- package/dist/ai/llmprompts/systemPrompts/combinedActionExtractorPrompt.js +4 -1
- package/dist/ai/llmprompts/systemPrompts/combinedActionExtractorPromptMob.js +4 -1
- package/dist/ai/llmprompts/systemPrompts/errorDescriptionPrompt.js +5 -2
- package/dist/ai/llmprompts/systemPrompts/fireflinkElementIndexExtactors.js +5 -2
- package/dist/ai/llmprompts/systemPrompts/fireflinkElementIndexExtractor_Mob.js +5 -2
- package/dist/ai/llmprompts/systemPrompts/getActionExtractorPrompt.js +7 -4
- package/dist/ai/llmprompts/systemPrompts/getActionExtractorPromptMob.js +4 -1
- package/dist/ai/llmprompts/systemPrompts/mobileKeywordExtractor.js +4 -1
- package/dist/ai/llmprompts/systemPrompts/userStoryToListPrompt.js +6 -2
- package/dist/ai/llmprompts/systemPrompts/verifyActionExtractorPrompt.js +8 -3
- package/dist/ai/llmprompts/systemPrompts/verifyActionExtractorPromptMob.js +4 -1
- package/dist/ai/llmprompts/systemPrompts/visionPrompt.js +5 -1
- package/dist/ai/llmprompts/systemPrompts/visionPromptMobile.js +4 -1
- package/dist/ai/llmprompts/systemPrompts/waitActionExtractorPrompt.js +4 -1
- package/dist/ai/llmprompts/systemPrompts/waitActionExtractorPromptMob.js +4 -1
- package/dist/ai/llmprompts/userPrompts/userPrompt.js +16 -13
- package/dist/automation/actions/executor.d.ts +1 -1
- package/dist/automation/actions/executor.js +1066 -1061
- package/dist/automation/actions/interaction/alert/clickCancelOnAlertPopup.js +4 -1
- package/dist/automation/actions/interaction/alert/clickOkOnAlertPopup.js +4 -1
- package/dist/automation/actions/interaction/alert/enterDataToAlert.js +4 -1
- package/dist/automation/actions/interaction/alert/getTextPresentOnAlertPopup.js +4 -1
- package/dist/automation/actions/interaction/alert/verifyAlertPopUpMessageContainsString.js +4 -1
- package/dist/automation/actions/interaction/alert/verifyAlertPopupIsDisplayed.js +4 -1
- package/dist/automation/actions/interaction/alert/verifyTextPresentOnAlertPopup.js +4 -1
- package/dist/automation/actions/interaction/alert/waitTillAlertIsPresent.js +4 -1
- package/dist/automation/actions/interaction/clear/clear.js +5 -2
- package/dist/automation/actions/interaction/clear/clearAndEnter.js +5 -2
- package/dist/automation/actions/interaction/click/MOB_DoubleTapAtSpecifiedLocation.js +4 -1
- package/dist/automation/actions/interaction/click/click.js +5 -2
- package/dist/automation/actions/interaction/click/clickNtimes.js +5 -2
- package/dist/automation/actions/interaction/click/clickUsingJs.js +4 -1
- package/dist/automation/actions/interaction/click/doubleClick.js +5 -2
- package/dist/automation/actions/interaction/click/rightClick.js +4 -1
- package/dist/automation/actions/interaction/click/tapOnSpecifiedLocation.js +5 -1
- package/dist/automation/actions/interaction/click/waitAndClick.js +8 -5
- package/dist/automation/actions/interaction/dragAndDrop/dragAndDrop.js +5 -2
- package/dist/automation/actions/interaction/elementLessAction/MobCheckIfAppIsClosed.js +4 -1
- package/dist/automation/actions/interaction/elementLessAction/MobRunAppInBackgroundInterface.js +4 -1
- package/dist/automation/actions/interaction/elementlessActions/activateAppUsingAppPackage.js +4 -1
- package/dist/automation/actions/interaction/elementlessActions/installAPK.js +14 -8
- package/dist/automation/actions/interaction/elementlessActions/isAppInstalled.js +8 -5
- package/dist/automation/actions/interaction/elementlessActions/openAppWithApkFilePath.js +18 -12
- package/dist/automation/actions/interaction/elementlessActions/openMobileApplication.js +4 -1
- package/dist/automation/actions/interaction/elementlessActions/receiveMessageOnEmulator.js +6 -3
- package/dist/automation/actions/interaction/elementlessActions/terminateAppUsingAppPackage.js +6 -3
- package/dist/automation/actions/interaction/elementlessActions/uninstallAPK.js +9 -6
- package/dist/automation/actions/interaction/enterActions/EnterInputIntoElementFromClipBoardInterface_mob.js +7 -4
- package/dist/automation/actions/interaction/enterActions/enterInput.js +42 -6
- package/dist/automation/actions/interaction/enterActions/enterInputAndPress.js +8 -5
- package/dist/automation/actions/interaction/enterActions/enterUrl.js +4 -1
- package/dist/automation/actions/interaction/enterActions/enterusingJs.js +8 -5
- package/dist/automation/actions/interaction/enterActions/waitAndEnter.js +7 -4
- package/dist/automation/actions/interaction/find/MOB_FindElement.js +6 -3
- package/dist/automation/actions/interaction/find/findElements.js +7 -5
- package/dist/automation/actions/interaction/get/MOB_GetADBLogsForGivenAppPackage.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetAllContexts.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetAllWindowHandles.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetAltitude.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetBatteryPercentage.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetBatteryStatus.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetClipBoardText.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetCurrentActivity.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetCurrentAppPackage.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetCurrentContext.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceDate.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceSettings.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceStatus.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceSystemBars.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceTime.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetCurrentOrientation.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetCurrentSessionId.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetDeviceLocation.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetDeviceName.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetDeviceOsVersion.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetDeviceUdid.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetHeightOfElement.js +6 -2
- package/dist/automation/actions/interaction/get/MOB_GetHeightOfScreen.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetHourFromCurrentDeviceTime.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetLatitude.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetLongitude.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetMinuteFromCurrentDeviceTime.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetSecondFromCurrentDeviceTime.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetSizeOfScreen.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetSupportedPerformanceDataTypes.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetTextFromElementAndSetToClipBoard.js +6 -2
- package/dist/automation/actions/interaction/get/MOB_GetWidthOfElement.js +6 -2
- package/dist/automation/actions/interaction/get/MOB_GetWidthOfScreen.js +5 -1
- package/dist/automation/actions/interaction/get/browserWindowGetPosition.js +5 -1
- package/dist/automation/actions/interaction/get/getAllBrokenImages.js +5 -1
- package/dist/automation/actions/interaction/get/getAllBrokenLinkCount.js +5 -1
- package/dist/automation/actions/interaction/get/getAllBrokenLinks.js +5 -1
- package/dist/automation/actions/interaction/get/getAllConsoleErrors.js +5 -1
- package/dist/automation/actions/interaction/get/getAllConsoleInformation.js +5 -1
- package/dist/automation/actions/interaction/get/getAllConsoleLogs.js +5 -1
- package/dist/automation/actions/interaction/get/getAllConsoleWarnings.js +5 -1
- package/dist/automation/actions/interaction/get/getAllCookieNames.js +5 -1
- package/dist/automation/actions/interaction/get/getAllCookieValues.js +5 -1
- package/dist/automation/actions/interaction/get/getAllSelectedOptions.js +5 -1
- package/dist/automation/actions/interaction/get/getAllTheOptionsFromListBoxAsText.js +5 -1
- package/dist/automation/actions/interaction/get/getAllTheOptionsFromListBoxAsTextInSortedOrder.js +5 -1
- package/dist/automation/actions/interaction/get/getAllTheSelectedOptionsFromListBoxAsText.js +5 -1
- package/dist/automation/actions/interaction/get/getAllWindowHandles.js +5 -1
- package/dist/automation/actions/interaction/get/getAttribute.js +8 -5
- package/dist/automation/actions/interaction/get/getAudioCurrentPlaybackRate.js +5 -1
- package/dist/automation/actions/interaction/get/getAudioCurrentSeekTime.js +5 -1
- package/dist/automation/actions/interaction/get/getAudioCurrentVolume.js +5 -1
- package/dist/automation/actions/interaction/get/getAudioDecodedByte.js +5 -1
- package/dist/automation/actions/interaction/get/getAudioDefaultPlaybackRate.js +5 -1
- package/dist/automation/actions/interaction/get/getAudioDimension.js +5 -1
- package/dist/automation/actions/interaction/get/getAudioHeight.js +5 -1
- package/dist/automation/actions/interaction/get/getAudioMediaLength.js +5 -1
- package/dist/automation/actions/interaction/get/getAudioMediaSource.js +5 -1
- package/dist/automation/actions/interaction/get/getAudioWidth.js +5 -1
- package/dist/automation/actions/interaction/get/getBestPracticesScore.js +5 -1
- package/dist/automation/actions/interaction/get/getBrowserCount.js +5 -1
- package/dist/automation/actions/interaction/get/getBrowserVersion.js +5 -1
- package/dist/automation/actions/interaction/get/getCapabilityNames.js +5 -1
- package/dist/automation/actions/interaction/get/getClipBoardText.js +5 -1
- package/dist/automation/actions/interaction/get/getCollectiveApiResponseTime.js +5 -1
- package/dist/automation/actions/interaction/get/getCollectiveApiStatusCode.js +5 -1
- package/dist/automation/actions/interaction/get/getCssValue.js +5 -1
- package/dist/automation/actions/interaction/get/getCurrentDayOfTheWeek.js +5 -1
- package/dist/automation/actions/interaction/get/getCurrentSecondsFromCurrentSystemTime.js +5 -1
- package/dist/automation/actions/interaction/get/getCurrentSystemDate.js +5 -1
- package/dist/automation/actions/interaction/get/getCurrentSystemDay.js +5 -1
- package/dist/automation/actions/interaction/get/getCurrentSystemMonth.js +5 -1
- package/dist/automation/actions/interaction/get/getCurrentSystemTime.js +5 -1
- package/dist/automation/actions/interaction/get/getCurrentSystemYear.js +5 -1
- package/dist/automation/actions/interaction/get/getCurrentWindowHandle.js +5 -1
- package/dist/automation/actions/interaction/get/getDataFromApiRequestHeaderForJsonPath.js +5 -1
- package/dist/automation/actions/interaction/get/getDataFromApiResponseForJsonPath.js +5 -1
- package/dist/automation/actions/interaction/get/getDateWithGivenFormat.js +5 -1
- package/dist/automation/actions/interaction/get/getDriverInstance.js +5 -1
- package/dist/automation/actions/interaction/get/getFirstContentfulPaint.js +5 -1
- package/dist/automation/actions/interaction/get/getFirstSelectedOption.js +5 -1
- package/dist/automation/actions/interaction/get/getFullPaintTime.js +5 -1
- package/dist/automation/actions/interaction/get/getHTMLCodeOfPage.js +5 -1
- package/dist/automation/actions/interaction/get/getHeightOfBrowserWindow.js +5 -1
- package/dist/automation/actions/interaction/get/getHeightOfWebElement.js +5 -1
- package/dist/automation/actions/interaction/get/getHourFromCurrentSystemTime.js +5 -1
- package/dist/automation/actions/interaction/get/getImplicitTimeOut.js +5 -1
- package/dist/automation/actions/interaction/get/getLargestContentfulPaint.js +5 -1
- package/dist/automation/actions/interaction/get/getListBoxSize.js +6 -3
- package/dist/automation/actions/interaction/get/getListOfElementsFromLocatorTypeLocatorValue.js +8 -4
- package/dist/automation/actions/interaction/get/getLocation.js +9 -5
- package/dist/automation/actions/interaction/get/getMinuteFromCurrentSystemTime.js +5 -1
- package/dist/automation/actions/interaction/get/getNetworkRouteTime.js +5 -1
- package/dist/automation/actions/interaction/get/getNumberOfBrokenImages.js +5 -1
- package/dist/automation/actions/interaction/get/getNumberOfLinksPresentInCurrentPage.js +5 -1
- package/dist/automation/actions/interaction/get/getNumberOfWorkingLinksFromCurrentPage.js +5 -1
- package/dist/automation/actions/interaction/get/getOptions.js +5 -1
- package/dist/automation/actions/interaction/get/getPageTitle.js +5 -1
- package/dist/automation/actions/interaction/get/getPerformanceMetrics.js +5 -1
- package/dist/automation/actions/interaction/get/getPwaScore.js +5 -1
- package/dist/automation/actions/interaction/get/getRect.js +10 -6
- package/dist/automation/actions/interaction/get/getScreenshot.js +5 -1
- package/dist/automation/actions/interaction/get/getScreenshotAs.js +5 -1
- package/dist/automation/actions/interaction/get/getSeoScore.js +5 -1
- package/dist/automation/actions/interaction/get/getSingleApiRequestPayload.js +5 -1
- package/dist/automation/actions/interaction/get/getSingleApiResponse.js +5 -1
- package/dist/automation/actions/interaction/get/getSingleApiResponseTime.js +5 -1
- package/dist/automation/actions/interaction/get/getSingleApiStatusCode.js +5 -1
- package/dist/automation/actions/interaction/get/getSize.js +8 -4
- package/dist/automation/actions/interaction/get/getSizeOfBrowserWindow.js +8 -1
- package/dist/automation/actions/interaction/get/getStringDataFromLocalFile.js +11 -4
- package/dist/automation/actions/interaction/get/getSystemProperty.js +14 -7
- package/dist/automation/actions/interaction/get/getTagName.js +5 -2
- package/dist/automation/actions/interaction/get/getText.js +9 -5
- package/dist/automation/actions/interaction/get/getTheFirstSelectedOptionFromListBoxAsText.js +5 -1
- package/dist/automation/actions/interaction/get/getTotalNumberOfCookies.js +5 -1
- package/dist/automation/actions/interaction/get/getTunnelIdentifier.js +5 -1
- package/dist/automation/actions/interaction/get/getURLPresentInAddressBar.js +5 -1
- package/dist/automation/actions/interaction/get/getUserHomeDirectory.js +5 -1
- package/dist/automation/actions/interaction/get/getValueByCookieName.js +5 -1
- package/dist/automation/actions/interaction/get/getValueFromLocalStorage.js +5 -1
- package/dist/automation/actions/interaction/get/getValueOfSystemVariable.js +5 -1
- package/dist/automation/actions/interaction/get/getVideoCurrentPlaybackRate.js +5 -1
- package/dist/automation/actions/interaction/get/getVideoCurrentSeekTime.js +5 -1
- package/dist/automation/actions/interaction/get/getVideoCurrentVolume.js +5 -1
- package/dist/automation/actions/interaction/get/getVideoDecodedByte.js +5 -1
- package/dist/automation/actions/interaction/get/getVideoDefaultPlaybackRate.js +5 -1
- package/dist/automation/actions/interaction/get/getVideoDimension.js +5 -1
- package/dist/automation/actions/interaction/get/getVideoHeight.js +5 -1
- package/dist/automation/actions/interaction/get/getVideoMediaLength.js +5 -1
- package/dist/automation/actions/interaction/get/getVideoMediaSource.js +5 -1
- package/dist/automation/actions/interaction/get/getVideoWidth.js +5 -1
- package/dist/automation/actions/interaction/get/getWidthOfBrowser.js +5 -1
- package/dist/automation/actions/interaction/get/getWidthOfWebElement.js +7 -1
- package/dist/automation/actions/interaction/get/getWorkingLinksFromCurrentPage.js +5 -1
- package/dist/automation/actions/interaction/get/getWrappedElement.js +5 -1
- package/dist/automation/actions/interaction/get/getWrappedOptionFromListBoxAsText.js +6 -3
- package/dist/automation/actions/interaction/get/getXLocationOfBrowserWindow.js +7 -1
- package/dist/automation/actions/interaction/get/getXLocationOfWebElement.js +9 -5
- package/dist/automation/actions/interaction/get/getYLocationOfBrowserWindow.js +5 -1
- package/dist/automation/actions/interaction/get/getYLocationOfWebElement.js +8 -4
- package/dist/automation/actions/interaction/iframe/switchToDefaultContent.js +4 -1
- package/dist/automation/actions/interaction/inputlessActions/AirplaneModeSwitchOff.js +9 -6
- package/dist/automation/actions/interaction/inputlessActions/AirplaneModeSwitchOn.js +9 -6
- package/dist/automation/actions/interaction/inputlessActions/Break.js +4 -1
- package/dist/automation/actions/interaction/inputlessActions/Continue.js +4 -1
- package/dist/automation/actions/interaction/inputlessActions/GpsSwitchOff.js +4 -1
- package/dist/automation/actions/interaction/inputlessActions/GpsSwitchOn.js +4 -1
- package/dist/automation/actions/interaction/inputlessActions/HideKeyboard.js +4 -1
- package/dist/automation/actions/interaction/inputlessActions/LockDevice.js +4 -1
- package/dist/automation/actions/interaction/inputlessActions/OpenChromeBrowser.js +4 -1
- package/dist/automation/actions/interaction/inputlessActions/OpenNotification.js +4 -1
- package/dist/automation/actions/interaction/inputlessActions/ResetApp.js +4 -1
- package/dist/automation/actions/interaction/inputlessActions/RestartCurrentDevice.js +9 -6
- package/dist/automation/actions/interaction/inputlessActions/SetDeviceOrientationAsLandscape.js +4 -1
- package/dist/automation/actions/interaction/inputlessActions/SetDeviceOrientationAsPortrait.js +4 -1
- package/dist/automation/actions/interaction/inputlessActions/SetEmulatorPowerStateOff.js +8 -5
- package/dist/automation/actions/interaction/inputlessActions/SetEmulatorPowerStateOn.js +8 -5
- package/dist/automation/actions/interaction/inputlessActions/WifiSwitchOff.js +4 -1
- package/dist/automation/actions/interaction/inputlessActions/WifiSwitchOn.js +4 -1
- package/dist/automation/actions/interaction/maximize/maximize.js +6 -3
- package/dist/automation/actions/interaction/maximize/minimize.js +4 -1
- package/dist/automation/actions/interaction/navigation/goBack.js +4 -1
- package/dist/automation/actions/interaction/navigation/navigate.js +4 -1
- package/dist/automation/actions/interaction/navigation/refresh.js +4 -1
- package/dist/automation/actions/interaction/pinch/PinchInByPercentMob.js +7 -4
- package/dist/automation/actions/interaction/pinch/PinchOutByPercentMob.js +5 -4
- package/dist/automation/actions/interaction/press/longPress.js +6 -2
- package/dist/automation/actions/interaction/press/mobPressBackKey.js +4 -1
- package/dist/automation/actions/interaction/press/mobPressBackSpaceKey.js +4 -1
- package/dist/automation/actions/interaction/press/mobPressSpaceKey.js +4 -1
- package/dist/automation/actions/interaction/press/pressAnyKey.js +4 -1
- package/dist/automation/actions/interaction/press/pressAnyKeyNTimes.js +4 -1
- package/dist/automation/actions/interaction/press/pressEnterKey.js +4 -1
- package/dist/automation/actions/interaction/press/pressHomeKey.js +8 -5
- package/dist/automation/actions/interaction/scroll/scrollHorizontallyTillElementIsVisible.js +4 -1
- package/dist/automation/actions/interaction/scroll/scrollPageToSpecificLocation.js +5 -1
- package/dist/automation/actions/interaction/scroll/scrollToElement.js +4 -1
- package/dist/automation/actions/interaction/scroll/scrollVerticallyTillElementIsVisible.js +4 -1
- package/dist/automation/actions/interaction/set/MOB_SetContext.js +5 -1
- package/dist/automation/actions/interaction/set/MOB_SetEmulatorPowerPercentage.js +5 -1
- package/dist/automation/actions/interaction/set/setClipBoardText.js +4 -1
- package/dist/automation/actions/interaction/shadowDom/shadowDomClick.js +7 -4
- package/dist/automation/actions/interaction/shadowDom/shadowDomEnter.js +7 -4
- package/dist/automation/actions/interaction/shadowDom/shadowDomGetText.js +7 -4
- package/dist/automation/actions/interaction/shadowDom/shadowDomUpload.js +7 -4
- package/dist/automation/actions/interaction/shadowDom/shadowDomVerifyPartialText.js +7 -4
- package/dist/automation/actions/interaction/shadowDom/shadowDomVerifyText.js +7 -4
- package/dist/automation/actions/interaction/swipe/swipeDirectionNTimes.js +6 -3
- package/dist/automation/actions/interaction/swipe/swipeDownToElement.js +13 -13
- package/dist/automation/actions/interaction/swipe/swipeLeftToElement.js +13 -13
- package/dist/automation/actions/interaction/swipe/swipeRightToElement.js +13 -13
- package/dist/automation/actions/interaction/swipe/swipeUpToElement.js +16 -16
- package/dist/automation/actions/interaction/swipe/swipeUpToElementForMWeb.js +12 -9
- package/dist/automation/actions/interaction/swipe/swipeUsingReferenceElement.js +79 -81
- package/dist/automation/actions/interaction/switch/switchToNewTabBasedOnTitle.js +4 -1
- package/dist/automation/actions/interaction/switch/switchToNewWindowBasedOnTitle.js +4 -1
- package/dist/automation/actions/interaction/switch/switchToParentWindow.js +4 -1
- package/dist/automation/actions/interaction/switch/switchToTabBasedOnUrl.js +4 -1
- package/dist/automation/actions/interaction/switch/switchToWindowBasedOnURL.js +4 -1
- package/dist/automation/actions/interaction/switch/switchToWindowIfTitleContainsString.js +4 -1
- package/dist/automation/actions/interaction/switch/switchToWindowIfUrlContainsString.js +4 -1
- package/dist/automation/actions/interaction/upload/uploadfile.js +6 -3
- package/dist/automation/actions/interaction/verify/MOB_VerifyBatteryLevel.js +5 -1
- package/dist/automation/actions/interaction/verify/MOB_VerifyIfAirplaneModeOff.js +5 -1
- package/dist/automation/actions/interaction/verify/MOB_VerifyIfAirplaneModeOn.js +5 -1
- package/dist/automation/actions/interaction/verify/MOB_VerifyIfAppIsClosed.js +5 -1
- package/dist/automation/actions/interaction/verify/MOB_VerifyIfDeviceIsLocked.js +5 -1
- package/dist/automation/actions/interaction/verify/MOB_VerifyIfDeviceIsUnlocked.js +5 -1
- package/dist/automation/actions/interaction/verify/MOB_VerifyIfGpsOff.js +5 -1
- package/dist/automation/actions/interaction/verify/MOB_VerifyIfGpsOn.js +5 -1
- package/dist/automation/actions/interaction/verify/MOB_VerifyIfKeyboardIsHidden.js +5 -1
- package/dist/automation/actions/interaction/verify/MOB_VerifyIfKeyboardIsShown.js +5 -1
- package/dist/automation/actions/interaction/verify/MOB_VerifyIfWifiOff.js +5 -1
- package/dist/automation/actions/interaction/verify/MOB_VerifyIfWifiOn.js +5 -1
- package/dist/automation/actions/interaction/verify/VerifyAccessibilityScore.js +4 -1
- package/dist/automation/actions/interaction/verify/VerifyAllBrokenImages.js +7 -4
- package/dist/automation/actions/interaction/verify/VerifyAllBrowserWindowsClosed.js +7 -4
- package/dist/automation/actions/interaction/verify/VerifyAllOptionsAreDeSelected.js +9 -6
- package/dist/automation/actions/interaction/verify/VerifyAllOptionsAreSelected.js +8 -5
- package/dist/automation/actions/interaction/verify/VerifyAttributeValue.js +7 -4
- package/dist/automation/actions/interaction/verify/VerifyBestPracticesScore.js +4 -1
- package/dist/automation/actions/interaction/verify/VerifyBrowserHtmlCodeContainsString.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowHeight.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowTitleContainsString.js +9 -6
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowTitleIsString.js +8 -5
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowUrlContainsExpectedUrl.js +8 -5
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowUrlIsString.js +8 -5
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowWidth.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowXLocation.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowYLocation.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyCheckBoxIsNotSelected.js +8 -4
- package/dist/automation/actions/interaction/verify/VerifyCheckBoxIsSelected.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyCssAttributeValue.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyElementIsClickable.js +7 -4
- package/dist/automation/actions/interaction/verify/VerifyElementIsDisabled.js +10 -7
- package/dist/automation/actions/interaction/verify/VerifyElementIsDisplayed.js +9 -6
- package/dist/automation/actions/interaction/verify/VerifyElementIsEnabled.js +10 -7
- package/dist/automation/actions/interaction/verify/VerifyElementIsNotDisplayed.js +7 -4
- package/dist/automation/actions/interaction/verify/VerifyElementIsSelected.js +10 -7
- package/dist/automation/actions/interaction/verify/VerifyElementNotContainsText.js +5 -2
- package/dist/automation/actions/interaction/verify/VerifyHeightOfWebElement.js +10 -7
- package/dist/automation/actions/interaction/verify/VerifyHexCodeForGivenXYCoordinates.js +4 -1
- package/dist/automation/actions/interaction/verify/VerifyIfAllCookiesAreDeleted.js +7 -4
- package/dist/automation/actions/interaction/verify/VerifyIfAudioEnded.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyIfAudioIsMuted.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyIfAudioIsPaused.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyIfAudioIsPlaying.js +7 -4
- package/dist/automation/actions/interaction/verify/VerifyIfBrowserWindowIsClosed.js +7 -4
- package/dist/automation/actions/interaction/verify/VerifyIfCookieNameIsAdded.js +7 -4
- package/dist/automation/actions/interaction/verify/VerifyIfCookieNameIsDeleted.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyIfCookieObjectIsPresent.js +7 -4
- package/dist/automation/actions/interaction/verify/VerifyIfGivenOptionIsDuplicate.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyIfImageIsBroken.js +7 -4
- package/dist/automation/actions/interaction/verify/VerifyIfLinkIsBroken.js +7 -4
- package/dist/automation/actions/interaction/verify/VerifyIfLinkIsWorking.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyIfLinksAreBroken.js +7 -4
- package/dist/automation/actions/interaction/verify/VerifyIfLinksAreWorking.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyIfOptionWithIndexIsDeselectedInElement.js +8 -5
- package/dist/automation/actions/interaction/verify/VerifyIfOptionWithIndexIsSelectedInListBox.js +10 -7
- package/dist/automation/actions/interaction/verify/VerifyIfOptionWithTextIsDeselected.js +4 -1
- package/dist/automation/actions/interaction/verify/VerifyIfOptionWithValueIsDeselected.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyIfOptionWithValueIsSelected.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyIfOptionWithVisibleTextIsSelected.js +4 -1
- package/dist/automation/actions/interaction/verify/VerifyIfSpecifiedOptionIsSelected.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyIfStatusCodeOfALinkIsStatusCode.js +4 -1
- package/dist/automation/actions/interaction/verify/VerifyIfStatusCodesOfLinks.js +4 -1
- package/dist/automation/actions/interaction/verify/VerifyIfVideoEnded.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyIfVideoIsMuted.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyIfVideoIsPaused.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyIfVideoIsPlaying.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyIfVideoPlayingInMute.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyIfVideoPlayingInUnmute.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyIfXAndYCoordinateOfElement.js +9 -6
- package/dist/automation/actions/interaction/verify/VerifyLinkNavigatesToTitle.js +4 -1
- package/dist/automation/actions/interaction/verify/VerifyListBoxOptionsAreSorted.js +8 -5
- package/dist/automation/actions/interaction/verify/VerifyNavigateURL.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyNumberOfElementsByTagName.js +7 -4
- package/dist/automation/actions/interaction/verify/VerifyNumberOfElementsByXpath.js +7 -4
- package/dist/automation/actions/interaction/verify/VerifyPartialAttributeValue.js +7 -4
- package/dist/automation/actions/interaction/verify/VerifyPartialTitleOfCurrentPage.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyPerformanceScore.js +4 -1
- package/dist/automation/actions/interaction/verify/VerifyPwaScore.js +4 -1
- package/dist/automation/actions/interaction/verify/VerifyRadioButtonIsNotSelected.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyRadioButtonIsSelected.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifySeoScore.js +4 -1
- package/dist/automation/actions/interaction/verify/VerifyTagName.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyThatSpecifiedOptionIsNotSelected.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyTitleInAllPage.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyTitleOfCurrentPage.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyValueOfElementContainsString.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyValueOfElementIsCleared.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyValueOfElementIsString.js +6 -3
- package/dist/automation/actions/interaction/verify/VerifyWidthOfElement.js +10 -7
- package/dist/automation/actions/interaction/verify/VerifyXLocationOfElement.js +10 -7
- package/dist/automation/actions/interaction/verify/VerifyYLocationOfElement.js +10 -7
- package/dist/automation/actions/interaction/verify/checkIfElementIsDisplayed.js +7 -4
- package/dist/automation/actions/interaction/verify/verifypartialtext.js +9 -6
- package/dist/automation/actions/interaction/verify/verifytext.js +14 -11
- package/dist/automation/actions/interaction/wait/MOB_WaitTillAllElementsAreInvisible.ts.js +5 -1
- package/dist/automation/actions/interaction/wait/MOB_WaitTillAttributeOfElementContainsString.js +6 -2
- package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsEnabled.js +6 -2
- package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsInvisible.js +6 -2
- package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsSelected.js +6 -2
- package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsVisible.js +6 -2
- package/dist/automation/actions/interaction/wait/MOB_WaitTillStalenessOfElement.js +6 -2
- package/dist/automation/actions/interaction/wait/wait.js +4 -1
- package/dist/automation/actions/interaction/wait/waitTillAttributeOfElementIsString.js +4 -1
- package/dist/automation/actions/interaction/wait/waitTillElementContainsText.js +4 -1
- package/dist/automation/actions/interaction/wait/waitTillElementHasText.js +4 -1
- package/dist/automation/actions/interaction/wait/waitTillElementIsClickable.js +4 -1
- package/dist/automation/actions/interaction/wait/waitTillPresenceOfAllElements.js +6 -3
- package/dist/automation/actions/interaction/wait/waitTillPresenceOfElement.js +4 -1
- package/dist/automation/actions/interface/IframeInterface.js +2 -1
- package/dist/automation/actions/interface/InputlessActionnterface.js +2 -1
- package/dist/automation/actions/interface/alertActionInterface.js +2 -1
- package/dist/automation/actions/interface/clearActionInterface.js +2 -1
- package/dist/automation/actions/interface/clickActionInterface.js +2 -1
- package/dist/automation/actions/interface/dragAndDropToElementInterface.js +2 -1
- package/dist/automation/actions/interface/elelementLessActionInterface.js +2 -1
- package/dist/automation/actions/interface/elementlessInterface.js +2 -1
- package/dist/automation/actions/interface/findActionInterface.js +2 -1
- package/dist/automation/actions/interface/getActionInterface.js +2 -1
- package/dist/automation/actions/interface/interactionActionInterface.js +2 -1
- package/dist/automation/actions/interface/maximizeAndMinimizeInterface.js +2 -1
- package/dist/automation/actions/interface/navigationActionInterface.js +2 -1
- package/dist/automation/actions/interface/pinchActionInterface.js +2 -1
- package/dist/automation/actions/interface/pressActionInterface.js +2 -1
- package/dist/automation/actions/interface/scrollActionInterface.js +2 -1
- package/dist/automation/actions/interface/setActionInterface.js +2 -1
- package/dist/automation/actions/interface/shadowDomInterface.js +2 -1
- package/dist/automation/actions/interface/swipeActionInterface.js +2 -1
- package/dist/automation/actions/interface/switchingActionInterface.js +2 -1
- package/dist/automation/actions/interface/uploadFile.js +2 -1
- package/dist/automation/actions/interface/verifyActionInterface.d.ts +1 -0
- package/dist/automation/actions/interface/verifyActionInterface.js +2 -1
- package/dist/automation/actions/interface/waitActionInterface.js +2 -1
- package/dist/automation/browserSession/initiateBrowserSession.js +11 -7
- package/dist/automation/cloudSession/initiateCloudSession.js +11 -7
- package/dist/automation/mobileSession/initiateMobileSession.d.ts +2 -1
- package/dist/automation/mobileSession/initiateMobileSession.js +16 -11
- package/dist/core/constants/allAction.js +5 -1
- package/dist/core/constants/defaultValues.js +4 -1
- package/dist/core/constants/supportedActions.js +34 -4
- package/dist/core/interfaces/StableDomInterface.js +2 -1
- package/dist/core/interfaces/actionInterface.d.ts +1 -1
- package/dist/core/interfaces/actionInterface.js +2 -1
- package/dist/core/interfaces/automationRunnerInterface.js +2 -1
- package/dist/core/interfaces/browserCapabilitiesInterface.js +4 -1
- package/dist/core/interfaces/browserConfigurationInterface.js +2 -1
- package/dist/core/interfaces/cloudConfigInterface.js +2 -1
- package/dist/core/interfaces/domAnalysisInterface.js +2 -1
- package/dist/core/interfaces/errorInfoInterface.js +2 -1
- package/dist/core/interfaces/executionDetails.d.ts +1 -0
- package/dist/core/interfaces/executionDetails.js +2 -1
- package/dist/core/interfaces/fireflinkScriptPayloadInterface.js +2 -1
- package/dist/core/interfaces/llmConfigurationInterface.d.ts +1 -1
- package/dist/core/interfaces/llmConfigurationInterface.js +2 -1
- package/dist/core/interfaces/llmResponseInterface.js +2 -1
- package/dist/core/interfaces/promptInterface.js +3 -1
- package/dist/core/interfaces/scriptGenrationDataInterface.js +2 -1
- package/dist/core/interfaces/simplifyAndFlattenInterface.js +2 -1
- package/dist/core/interfaces/toolsInterface.js +2 -1
- package/dist/core/main/actionHandlerFactory.js +19 -13
- package/dist/core/main/executionContext.js +15 -11
- package/dist/core/main/runAutomationScript.js +130 -126
- package/dist/core/main/stepProcessor.js +7 -3
- package/dist/core/types/browserType.js +4 -1
- package/dist/core/types/cloudServerPortType.js +4 -1
- package/dist/core/types/cloudprotocolType.js +2 -1
- package/dist/core/types/llmResponseType.js +2 -1
- package/dist/core/types/promptMap.js +2 -1
- package/dist/core/types/promptType.js +5 -2
- package/dist/core/types/scriptTypesType.js +2 -1
- package/dist/core/types/visionllmInputType.js +2 -1
- package/dist/domAnalysis/getRelaventElements.js +14 -10
- package/dist/domAnalysis/relativeElementsFromDom.js +5 -1
- package/dist/domAnalysis/searchBest.js +8 -4
- package/dist/domAnalysis/simplifyAndFlatten.js +41 -4
- package/dist/fireflinkData/fireflinkLocators/elementsFromHTML.js +13 -10
- package/dist/fireflinkData/fireflinkLocators/getListOfLocators.js +9 -5
- package/dist/fireflinkData/fireflinkLocators/typeList.js +4 -1
- package/dist/fireflinkData/fireflinkScript/scriptGenrationData.js +5 -1
- package/dist/imageAnalysisMobile/annotatedScreenshotMobile.js +11 -8
- package/dist/imageAnalysisMobile/annotatedScreenshotMobileInterface.js +2 -1
- package/dist/imageAnalysisWeb/annotateScreenshot.js +7 -4
- package/dist/imageAnalysisWeb/generateAnnotatedScreenshots.js +8 -5
- package/dist/imageAnalysisWeb/screenshotInterface.js +2 -1
- package/dist/index.js +5 -2
- package/dist/llmConfig/llmConfiguration.d.ts +1 -2
- package/dist/llmConfig/llmConfiguration.js +20 -14
- package/dist/service/api/fireflinkApi.service.js +10 -3
- package/dist/service/fireflink.service.js +10 -6
- package/dist/service/kafka/fireflinkKafka.service.js +12 -8
- package/dist/tests/multiBrowser.d.ts +1 -0
- package/dist/tests/multiBrowser.js +34 -0
- package/dist/tests/poc.js +21 -16
- package/dist/tests/test1.d.ts +1 -7
- package/dist/tests/test1.js +29 -11
- package/dist/tests/test12.d.ts +0 -1
- package/dist/tests/test12.js +74 -68
- package/dist/tests/test3.js +4 -2
- package/dist/tests/testkaf.d.ts +1 -0
- package/dist/tests/testkaf.js +56 -0
- package/dist/tests/tests.data.js +4 -1
- package/dist/tests/testwe.d.ts +1 -0
- package/dist/tests/testwe.js +24 -0
- package/dist/utils/DomExtraction/jsForAttributeInjection.d.ts +1 -1
- package/dist/utils/DomExtraction/jsForAttributeInjection.js +21 -13
- package/dist/utils/InstancesDetails/getInstancesInfo.js +6 -2
- package/dist/utils/alertPopup/isAlertPresent.js +5 -1
- package/dist/utils/alertPopup/isAlertPresentInterface.js +2 -1
- package/dist/utils/browserCap/capability.js +4 -1
- package/dist/utils/cloudConfig/cloudPath.js +4 -1
- package/dist/utils/helpers/enterActionHelper.js +23 -15
- package/dist/utils/helpers/imageUtils.js +4 -1
- package/dist/utils/helpers/sameActionsHelper.js +4 -1
- package/dist/utils/helpers/xpathcreation.js +11 -5
- package/dist/utils/iframesExtraction/findElementUsingFF.js +7 -3
- package/dist/utils/iframesExtraction/iframeInterface.js +2 -1
- package/dist/utils/iframesExtraction/switchToIframeByMeta.js +4 -1
- package/dist/utils/javascript/jsFindElement.js +4 -1
- package/dist/utils/javascript/jsForShadowRoot.js +9 -6
- package/dist/utils/javascript/jsForToaster.js +4 -1
- package/dist/utils/javascript/jsForVision.js +5 -2
- package/dist/utils/logger/logData.js +28 -21
- package/dist/utils/newTab/newTabTracker.js +4 -1
- package/dist/utils/swipe/domSearchHelper.d.ts +1 -1
- package/dist/utils/swipe/domSearchHelper.js +51 -24
- package/dist/utils/swipe/swipeMovement.js +4 -1
- package/package.json +10 -8
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getFFIndexAndXPath = getFFIndexAndXPath;
|
|
7
|
+
const xmldom_1 = require("@xmldom/xmldom");
|
|
8
|
+
const xpath_1 = __importDefault(require("xpath"));
|
|
9
|
+
function getFFIndexAndXPath(annotatedDom, fireflinkIndex) {
|
|
4
10
|
try {
|
|
5
|
-
const parser = new DOMParser();
|
|
11
|
+
const parser = new xmldom_1.DOMParser();
|
|
6
12
|
const xmlDoc = parser.parseFromString(annotatedDom, "text/xml");
|
|
7
13
|
let xpathQuery = "";
|
|
8
14
|
let isBounds = false;
|
|
@@ -14,7 +20,7 @@ export function getFFIndexAndXPath(annotatedDom, fireflinkIndex) {
|
|
|
14
20
|
else {
|
|
15
21
|
xpathQuery = `//*[@FF-inspecter='${fireflinkIndex}']`;
|
|
16
22
|
}
|
|
17
|
-
const nodes =
|
|
23
|
+
const nodes = xpath_1.default.select(xpathQuery, xmlDoc);
|
|
18
24
|
const element = nodes.length ? nodes[0] : null;
|
|
19
25
|
if (!element) {
|
|
20
26
|
return { xpathPath: "" };
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findElementUsingFF = void 0;
|
|
4
|
+
const switchToIframeByMeta_js_1 = require("./switchToIframeByMeta.js");
|
|
5
|
+
const findElementUsingFF = async (args) => {
|
|
3
6
|
await args.driver.switchToFrame(null);
|
|
4
7
|
const usedElementNames = [];
|
|
5
8
|
for (const frameMeta of args.frames) {
|
|
6
|
-
const xpathUsed = await switchToIframeByMeta(args.driver, frameMeta);
|
|
9
|
+
const xpathUsed = await (0, switchToIframeByMeta_js_1.switchToIframeByMeta)(args.driver, frameMeta);
|
|
7
10
|
if (xpathUsed) {
|
|
8
11
|
let finalElementName = args.elementName;
|
|
9
12
|
if (finalElementName) {
|
|
@@ -30,3 +33,4 @@ export const findElementUsingFF = async (args) => {
|
|
|
30
33
|
}
|
|
31
34
|
}
|
|
32
35
|
};
|
|
36
|
+
exports.findElementUsingFF = findElementUsingFF;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.switchToIframeByMeta = switchToIframeByMeta;
|
|
4
|
+
async function switchToIframeByMeta(driver, frameMeta) {
|
|
2
5
|
const selectors = [
|
|
3
6
|
frameMeta.id && `//*[@id='${frameMeta.id}']`,
|
|
4
7
|
frameMeta.name && `//*[@name='${frameMeta.name}']`,
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Find_element_by_ff_js_script = void 0;
|
|
4
|
+
exports.Find_element_by_ff_js_script = `
|
|
2
5
|
const target = arguments[0];
|
|
3
6
|
const callback = arguments[arguments.length - 1];
|
|
4
7
|
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SHADOW_DOM_VERIFY_PARTIAL_TEXT_JS = exports.SHADOW_DOM_VERIFY_TEXT_JS = exports.SHADOW_DOM_GET_TEXT_JS = exports.SHADOW_DOM_UPLOAD_JS = exports.SHADOW_DOM_ENTER_JS = exports.SHADOW_DOM_CLICK_JS = void 0;
|
|
4
|
+
exports.SHADOW_DOM_CLICK_JS = `
|
|
2
5
|
const path = arguments[0];
|
|
3
6
|
|
|
4
7
|
function resolve(path) {
|
|
@@ -33,7 +36,7 @@ if (targetNode) {
|
|
|
33
36
|
}
|
|
34
37
|
return false;
|
|
35
38
|
`;
|
|
36
|
-
|
|
39
|
+
exports.SHADOW_DOM_ENTER_JS = `
|
|
37
40
|
const path = arguments[0];
|
|
38
41
|
const value = arguments[1];
|
|
39
42
|
|
|
@@ -73,7 +76,7 @@ if (el) {
|
|
|
73
76
|
}
|
|
74
77
|
return false;
|
|
75
78
|
`;
|
|
76
|
-
|
|
79
|
+
exports.SHADOW_DOM_UPLOAD_JS = `
|
|
77
80
|
const path = arguments[0];
|
|
78
81
|
|
|
79
82
|
function resolve(path) {
|
|
@@ -103,7 +106,7 @@ function resolve(path) {
|
|
|
103
106
|
|
|
104
107
|
return resolve(path);
|
|
105
108
|
`;
|
|
106
|
-
|
|
109
|
+
exports.SHADOW_DOM_GET_TEXT_JS = `
|
|
107
110
|
const path = arguments[0];
|
|
108
111
|
|
|
109
112
|
function resolve(path) {
|
|
@@ -136,7 +139,7 @@ function resolve(path) {
|
|
|
136
139
|
const el = resolve(path);
|
|
137
140
|
return el ? el.innerText.trim() : null;
|
|
138
141
|
`;
|
|
139
|
-
|
|
142
|
+
exports.SHADOW_DOM_VERIFY_TEXT_JS = `
|
|
140
143
|
const path = arguments[0];
|
|
141
144
|
const text = arguments[1];
|
|
142
145
|
|
|
@@ -170,7 +173,7 @@ function resolve(path) {
|
|
|
170
173
|
const el = resolve(path);
|
|
171
174
|
return el ? el.innerText.trim() === text : false;
|
|
172
175
|
`;
|
|
173
|
-
|
|
176
|
+
exports.SHADOW_DOM_VERIFY_PARTIAL_TEXT_JS = `
|
|
174
177
|
const path = arguments[0];
|
|
175
178
|
const expected = arguments[1];
|
|
176
179
|
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JS_SECONDARY = exports.JS_PRIMARY = void 0;
|
|
4
|
+
exports.JS_PRIMARY = `return (function() {
|
|
2
5
|
|
|
3
6
|
function isReallyVisible(n) {
|
|
4
7
|
const r = n.getBoundingClientRect();
|
|
@@ -71,7 +74,7 @@ export const JS_PRIMARY = `return (function() {
|
|
|
71
74
|
return out;
|
|
72
75
|
})();
|
|
73
76
|
`;
|
|
74
|
-
|
|
77
|
+
exports.JS_SECONDARY = `return (function() {
|
|
75
78
|
|
|
76
79
|
function isReallyVisible(n) {
|
|
77
80
|
const r = n.getBoundingClientRect();
|
|
@@ -1,24 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.logger = void 0;
|
|
7
|
+
exports.initLogger = initLogger;
|
|
8
|
+
const promises_1 = __importDefault(require("fs/promises"));
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
const js_beautify_1 = __importDefault(require("js-beautify"));
|
|
4
11
|
let sessionPath;
|
|
5
12
|
let logsDir;
|
|
6
13
|
let domDir;
|
|
7
14
|
let screenshotsDir;
|
|
8
15
|
let logFilePath;
|
|
9
|
-
|
|
16
|
+
function initLogger(basePath) {
|
|
10
17
|
sessionPath = basePath;
|
|
11
|
-
logsDir =
|
|
12
|
-
domDir =
|
|
13
|
-
screenshotsDir =
|
|
14
|
-
logFilePath =
|
|
18
|
+
logsDir = path_1.default.resolve(sessionPath, "logs");
|
|
19
|
+
domDir = path_1.default.resolve(sessionPath, "dom");
|
|
20
|
+
screenshotsDir = path_1.default.resolve(sessionPath, "screenshots");
|
|
21
|
+
logFilePath = path_1.default.join(logsDir, "ai-execution-logs.txt");
|
|
15
22
|
}
|
|
16
23
|
async function ensureDirs() {
|
|
17
24
|
if (!logsDir)
|
|
18
25
|
throw new Error("Logger not initialized");
|
|
19
|
-
await
|
|
20
|
-
await
|
|
21
|
-
await
|
|
26
|
+
await promises_1.default.mkdir(logsDir, { recursive: true });
|
|
27
|
+
await promises_1.default.mkdir(domDir, { recursive: true });
|
|
28
|
+
await promises_1.default.mkdir(screenshotsDir, { recursive: true });
|
|
22
29
|
}
|
|
23
30
|
function getISTDate() {
|
|
24
31
|
return new Intl.DateTimeFormat("sv-SE", {
|
|
@@ -35,14 +42,14 @@ function getISTDate() {
|
|
|
35
42
|
.format(new Date())
|
|
36
43
|
.replace(" ", "T");
|
|
37
44
|
}
|
|
38
|
-
|
|
45
|
+
exports.logger = {
|
|
39
46
|
info: async (...args) => {
|
|
40
47
|
if (!logFilePath)
|
|
41
48
|
throw new Error("Logger not initialized");
|
|
42
49
|
await ensureDirs();
|
|
43
50
|
const formattedArgs = args.map((arg) => typeof arg === "object" ? JSON.stringify(arg, null, 2) : arg);
|
|
44
51
|
const message = `[INFO] ${getISTDate()}+05:30 - ${formattedArgs.join(" ")}\n`;
|
|
45
|
-
await
|
|
52
|
+
await promises_1.default.appendFile(logFilePath, message, "utf-8");
|
|
46
53
|
},
|
|
47
54
|
error: async (...args) => {
|
|
48
55
|
if (!logFilePath)
|
|
@@ -65,7 +72,7 @@ export const logger = {
|
|
|
65
72
|
return String(arg);
|
|
66
73
|
});
|
|
67
74
|
const message = `[ERROR] ${new Date().toISOString()} - ${formatted.join(" ")}\n`;
|
|
68
|
-
await
|
|
75
|
+
await promises_1.default.appendFile(logFilePath, message, "utf-8");
|
|
69
76
|
},
|
|
70
77
|
getError: (...args) => {
|
|
71
78
|
const formatted = args.map((arg) => {
|
|
@@ -99,14 +106,14 @@ export const logger = {
|
|
|
99
106
|
}
|
|
100
107
|
else {
|
|
101
108
|
finalFileName = fileName ? `${fileName}.html` : `dom-${timestamp}.html`;
|
|
102
|
-
formattedContent =
|
|
109
|
+
formattedContent = js_beautify_1.default.html(domContent, {
|
|
103
110
|
indent_size: 2,
|
|
104
111
|
preserve_newlines: false,
|
|
105
112
|
wrap_line_length: 120,
|
|
106
113
|
});
|
|
107
114
|
}
|
|
108
|
-
const filePath =
|
|
109
|
-
await
|
|
115
|
+
const filePath = path_1.default.join(domDir, finalFileName);
|
|
116
|
+
await promises_1.default.writeFile(filePath, formattedContent, "utf-8");
|
|
110
117
|
},
|
|
111
118
|
saveJSON: async (data, fileName) => {
|
|
112
119
|
if (!domDir)
|
|
@@ -116,19 +123,19 @@ export const logger = {
|
|
|
116
123
|
const finalFileName = fileName
|
|
117
124
|
? `${fileName}.json`
|
|
118
125
|
: `data-${timestamp}.json`;
|
|
119
|
-
const filePath =
|
|
126
|
+
const filePath = path_1.default.join(domDir, finalFileName);
|
|
120
127
|
const safeData = JSON.stringify(data, (key, value) => {
|
|
121
128
|
if (key === "element")
|
|
122
129
|
return undefined;
|
|
123
130
|
return value;
|
|
124
131
|
}, 2);
|
|
125
|
-
await
|
|
132
|
+
await promises_1.default.writeFile(filePath, safeData, "utf-8");
|
|
126
133
|
},
|
|
127
134
|
saveImage: async (imageBuffer, fileName) => {
|
|
128
135
|
if (!screenshotsDir)
|
|
129
136
|
throw new Error("Logger not initialized");
|
|
130
137
|
await ensureDirs();
|
|
131
|
-
const filePath =
|
|
132
|
-
await
|
|
138
|
+
const filePath = path_1.default.join(screenshotsDir, fileName);
|
|
139
|
+
await promises_1.default.writeFile(filePath, imageBuffer);
|
|
133
140
|
},
|
|
134
141
|
};
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.newTabTracker = newTabTracker;
|
|
4
|
+
async function newTabTracker(driver, stepAction, previousHandles, scriptAppender) {
|
|
2
5
|
if (stepAction === "switch")
|
|
3
6
|
return;
|
|
4
7
|
const currentHandle = await driver.getWindowHandle();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare function findElementInDom(driver: WebdriverIO.Browser, text: string): Promise<{
|
|
1
|
+
export declare function findElementInDom(driver: WebdriverIO.Browser, text: string, stepCount: number, rawdom: string): Promise<{
|
|
2
2
|
element: import("webdriverio").ChainablePromiseElement;
|
|
3
3
|
xpath: string;
|
|
4
4
|
annotatedDom: string;
|
|
@@ -1,31 +1,58 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const { dom: annotatedDom } = await getAnnotatedDOMForMobile(driver);
|
|
11
|
-
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findElementInDom = findElementInDom;
|
|
4
|
+
const jsForAttributeInjection_js_1 = require("../DomExtraction/jsForAttributeInjection.js");
|
|
5
|
+
const xpathcreation_js_1 = require("../helpers/xpathcreation.js");
|
|
6
|
+
const getRelaventElements_js_1 = require("../../domAnalysis/getRelaventElements.js");
|
|
7
|
+
const logData_js_1 = require("../logger/logData.js");
|
|
8
|
+
async function findElementInDom(driver, text, stepCount, rawdom) {
|
|
9
|
+
const engine = new getRelaventElements_js_1.DomProcessingEngine();
|
|
10
|
+
const { dom: annotatedDom } = await (0, jsForAttributeInjection_js_1.getAnnotatedDOMForMobile)(driver, rawdom);
|
|
11
|
+
logData_js_1.logger.saveDOM(annotatedDom, `annotated-dom-${100 + stepCount}`);
|
|
12
|
+
const results = engine.mobileProcess({
|
|
13
|
+
keywords: text,
|
|
14
|
+
rawDom: annotatedDom,
|
|
15
|
+
stepCount: 100 + stepCount
|
|
16
|
+
});
|
|
17
|
+
logData_js_1.logger.saveJSON(results, `relevant-dom-Mob-${100 + stepCount}`);
|
|
18
|
+
const keywords = text.toLowerCase().split(/\s+/);
|
|
19
|
+
function exactSequenceMatch(value, words) {
|
|
20
|
+
const v = (value || "").toLowerCase();
|
|
21
|
+
const escaped = words.map(w => w.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"));
|
|
22
|
+
const pattern = escaped.join("\\s*");
|
|
23
|
+
return new RegExp(pattern).test(v);
|
|
24
|
+
}
|
|
25
|
+
function matchNode(node, words) {
|
|
19
26
|
const textVal = (node["text"] || "").toLowerCase();
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
27
|
+
// const desc = (node.name || "").toLowerCase();
|
|
28
|
+
// const value = (node.value || "").toLowerCase();
|
|
29
|
+
const contentDesc = (node["content-desc"] ||
|
|
30
|
+
node.contentDesc ||
|
|
31
|
+
node.contentDescription ||
|
|
32
|
+
"").toLowerCase();
|
|
33
|
+
const resourceId = (node["resource-id"] ||
|
|
34
|
+
node.resourceId ||
|
|
35
|
+
node.id ||
|
|
36
|
+
"").toLowerCase();
|
|
37
|
+
logData_js_1.logger.info(`contentdesc is ${contentDesc}, Resource id is ${resourceId} the text is ${words}`);
|
|
38
|
+
if (exactSequenceMatch(textVal, words))
|
|
39
|
+
return true;
|
|
40
|
+
// if (exactSequenceMatch(desc, words)) return true;
|
|
41
|
+
// if (exactSequenceMatch(value, words)) return true;
|
|
42
|
+
if (exactSequenceMatch(contentDesc, words))
|
|
43
|
+
return true;
|
|
44
|
+
if (exactSequenceMatch(resourceId, words))
|
|
45
|
+
return true;
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
for (const group of results) {
|
|
49
|
+
for (const node of group) {
|
|
50
|
+
if (!matchNode(node, keywords))
|
|
51
|
+
continue;
|
|
25
52
|
const ffIndex = node["FF-inspecter"];
|
|
26
53
|
if (!ffIndex)
|
|
27
54
|
continue;
|
|
28
|
-
const xpath = getFFIndexAndXPath(annotatedDom, ffIndex);
|
|
55
|
+
const xpath = (0, xpathcreation_js_1.getFFIndexAndXPath)(annotatedDom, ffIndex);
|
|
29
56
|
if (!xpath)
|
|
30
57
|
continue;
|
|
31
58
|
const element = await driver.$(xpath.xpathPath);
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.executeSwipeMovement = executeSwipeMovement;
|
|
4
|
+
async function executeSwipeMovement(driver, direction) {
|
|
2
5
|
if (direction === 'left' || direction === 'right') {
|
|
3
6
|
const horizontalContainers = [
|
|
4
7
|
'//android.widget.HorizontalScrollView',
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ff-automationv2",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.25",
|
|
4
4
|
"private": false,
|
|
5
|
-
"type": "
|
|
5
|
+
"type": "commonjs",
|
|
6
6
|
"description": "This lib is used to automate the manual testcase",
|
|
7
7
|
"main": "./dist/index.js",
|
|
8
8
|
"types": "./dist/index.d.ts",
|
|
@@ -16,6 +16,9 @@
|
|
|
16
16
|
"files": [
|
|
17
17
|
"dist"
|
|
18
18
|
],
|
|
19
|
+
"overrides": {
|
|
20
|
+
"canvas": "@napi-rs/canvas"
|
|
21
|
+
},
|
|
19
22
|
"scripts": {
|
|
20
23
|
"type-check": "tsc --noEmit",
|
|
21
24
|
"builds": "npm run lint && tsc",
|
|
@@ -48,24 +51,23 @@
|
|
|
48
51
|
"jiti": "2.6.1",
|
|
49
52
|
"nodemon": "3.1.11",
|
|
50
53
|
"ts-node": "10.9.2",
|
|
54
|
+
"tsx": "^4.21.0",
|
|
51
55
|
"typescript": "^5.9.3",
|
|
52
56
|
"typescript-eslint": "8.56.0",
|
|
53
57
|
"webdriverio": "9.26.1"
|
|
54
58
|
},
|
|
55
|
-
"peerDependencies": {
|
|
56
|
-
"canvas": "^3.2.3"
|
|
57
|
-
},
|
|
58
59
|
"dependencies": {
|
|
60
|
+
"@napi-rs/canvas": "^0.1.100",
|
|
59
61
|
"@xmldom/xmldom": "^0.8.11",
|
|
60
62
|
"axios": "^1.13.5",
|
|
61
63
|
"cheerio": "1.2.0",
|
|
62
64
|
"fast-fuzzy": "^1.12.0",
|
|
63
65
|
"js-beautify": "1.15.1",
|
|
66
|
+
"jsdom": "27.4.0",
|
|
67
|
+
"kafkajs": "^2.2.4",
|
|
64
68
|
"openai": "6.18.0",
|
|
65
69
|
"uuid": "13.0.0",
|
|
66
|
-
"xpath": "^0.0.34",
|
|
67
70
|
"webdriverio": "9.26.1",
|
|
68
|
-
"
|
|
69
|
-
"jsdom": "27.4.0"
|
|
71
|
+
"xpath": "^0.0.34"
|
|
70
72
|
}
|
|
71
73
|
}
|