ff-automationv2 2.2.22 → 2.2.24
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 +4 -1
- 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 +4 -1
- package/dist/ai/llmprompts/systemPrompts/fireflinkElementIndexExtactors.js +4 -1
- package/dist/ai/llmprompts/systemPrompts/fireflinkElementIndexExtractor_Mob.js +4 -1
- package/dist/ai/llmprompts/systemPrompts/getActionExtractorPrompt.js +4 -1
- 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 +4 -1
- package/dist/ai/llmprompts/systemPrompts/verifyActionExtractorPromptMob.js +4 -1
- package/dist/ai/llmprompts/systemPrompts/visionPrompt.js +4 -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.js +1064 -1060
- 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 +4 -1
- package/dist/automation/actions/interaction/clear/clearAndEnter.js +4 -1
- package/dist/automation/actions/interaction/click/MOB_DoubleTapAtSpecifiedLocation.js +4 -1
- package/dist/automation/actions/interaction/click/click.js +4 -1
- package/dist/automation/actions/interaction/click/clickNtimes.js +4 -1
- package/dist/automation/actions/interaction/click/clickUsingJs.js +4 -1
- package/dist/automation/actions/interaction/click/doubleClick.js +4 -1
- 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 +7 -4
- package/dist/automation/actions/interaction/dragAndDrop/dragAndDrop.js +4 -1
- 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 +6 -3
- package/dist/automation/actions/interaction/enterActions/enterInput.js +41 -5
- package/dist/automation/actions/interaction/enterActions/enterInputAndPress.js +7 -4
- 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 +4 -1
- package/dist/automation/actions/interaction/find/findElements.js +4 -1
- 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 +5 -1
- 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 +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetWidthOfElement.js +5 -1
- 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 +7 -4
- 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 +7 -3
- package/dist/automation/actions/interaction/get/getLocation.js +8 -4
- 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 +8 -4
- 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 +7 -3
- package/dist/automation/actions/interaction/get/getSizeOfBrowserWindow.js +5 -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 +4 -1
- package/dist/automation/actions/interaction/get/getText.js +8 -4
- 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 +5 -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 +5 -1
- package/dist/automation/actions/interaction/get/getXLocationOfWebElement.js +8 -4
- package/dist/automation/actions/interaction/get/getYLocationOfBrowserWindow.js +5 -1
- package/dist/automation/actions/interaction/get/getYLocationOfWebElement.js +7 -3
- 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 +4 -1
- 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 +4 -1
- package/dist/automation/actions/interaction/pinch/PinchOutByPercentMob.js +4 -1
- package/dist/automation/actions/interaction/press/longPress.js +5 -1
- 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 +8 -5
- package/dist/automation/actions/interaction/swipe/swipeLeftToElement.js +8 -5
- package/dist/automation/actions/interaction/swipe/swipeRightToElement.js +8 -5
- package/dist/automation/actions/interaction/swipe/swipeUpToElement.js +11 -8
- package/dist/automation/actions/interaction/swipe/swipeUpToElementForMWeb.js +8 -5
- package/dist/automation/actions/interaction/swipe/swipeUsingReferenceElement.js +19 -16
- 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 +8 -5
- 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 +6 -3
- 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 +6 -3
- package/dist/automation/actions/interaction/verify/VerifyElementIsDisabled.js +9 -6
- package/dist/automation/actions/interaction/verify/VerifyElementIsDisplayed.js +8 -5
- package/dist/automation/actions/interaction/verify/VerifyElementIsEnabled.js +9 -6
- package/dist/automation/actions/interaction/verify/VerifyElementIsNotDisplayed.js +7 -4
- package/dist/automation/actions/interaction/verify/VerifyElementIsSelected.js +9 -6
- package/dist/automation/actions/interaction/verify/VerifyElementNotContainsText.js +4 -1
- package/dist/automation/actions/interaction/verify/VerifyHeightOfWebElement.js +8 -5
- 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 +4 -1
- 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 +6 -3
- package/dist/automation/actions/interaction/verify/VerifyNumberOfElementsByXpath.js +6 -3
- 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 +7 -4
- package/dist/automation/actions/interaction/verify/VerifyXLocationOfElement.js +7 -4
- package/dist/automation/actions/interaction/verify/VerifyYLocationOfElement.js +7 -4
- package/dist/automation/actions/interaction/verify/checkIfElementIsDisplayed.js +7 -4
- package/dist/automation/actions/interaction/verify/verifypartialtext.js +8 -5
- package/dist/automation/actions/interaction/verify/verifytext.js +13 -10
- package/dist/automation/actions/interaction/wait/MOB_WaitTillAllElementsAreInvisible.ts.js +5 -1
- package/dist/automation/actions/interaction/wait/MOB_WaitTillAttributeOfElementContainsString.js +5 -1
- package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsEnabled.js +5 -1
- package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsInvisible.js +5 -1
- package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsSelected.js +5 -1
- package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsVisible.js +5 -1
- package/dist/automation/actions/interaction/wait/MOB_WaitTillStalenessOfElement.js +5 -1
- 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.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.js +14 -10
- package/dist/core/constants/allAction.js +4 -1
- package/dist/core/constants/defaultValues.js +4 -1
- package/dist/core/constants/supportedActions.js +5 -2
- package/dist/core/interfaces/StableDomInterface.js +2 -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.js +2 -1
- package/dist/core/interfaces/fireflinkScriptPayloadInterface.js +2 -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 +13 -10
- package/dist/core/main/executionContext.js +15 -11
- package/dist/core/main/runAutomationScript.js +114 -110
- 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.js +5 -1
- 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/test12.js +12 -7
- package/dist/tests/test3.js +4 -2
- package/dist/tests/tests.data.js +4 -1
- package/dist/utils/DomExtraction/jsForAttributeInjection.js +12 -8
- package/dist/utils/InstancesDetails/getInstancesInfo.js +4 -1
- 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.js +10 -7
- package/dist/utils/swipe/swipeMovement.js +4 -1
- package/package.json +6 -5
|
@@ -1,25 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DomProcessingEngine = void 0;
|
|
4
|
+
const simplifyAndFlatten_js_1 = require("./simplifyAndFlatten.js");
|
|
5
|
+
const searchBest_js_1 = require("./searchBest.js");
|
|
6
|
+
const relativeElementsFromDom_js_1 = require("./relativeElementsFromDom.js");
|
|
7
|
+
const logData_js_1 = require("../utils/logger/logData.js");
|
|
8
|
+
class DomProcessingEngine {
|
|
6
9
|
constructor() {
|
|
7
|
-
this.simplifier = new DomSimplifier();
|
|
8
|
-
this.searcher = new DomSearcher();
|
|
9
|
-
this.relationshipBuilder = new DomRelationshipBuilder();
|
|
10
|
+
this.simplifier = new simplifyAndFlatten_js_1.DomSimplifier();
|
|
11
|
+
this.searcher = new searchBest_js_1.DomSearcher();
|
|
12
|
+
this.relationshipBuilder = new relativeElementsFromDom_js_1.DomRelationshipBuilder();
|
|
10
13
|
}
|
|
11
14
|
webProcess(request) {
|
|
12
15
|
const flat = this.simplifier.simplify(request.rawDom);
|
|
13
|
-
logger.saveJSON(flat, `flat-dom-${request.stepCount}`);
|
|
16
|
+
logData_js_1.logger.saveJSON(flat, `flat-dom-${request.stepCount}`);
|
|
14
17
|
const searched = this.searcher.search(flat, request.keywords);
|
|
15
18
|
const structured = this.relationshipBuilder.build(searched);
|
|
16
19
|
return structured;
|
|
17
20
|
}
|
|
18
21
|
mobileProcess(request) {
|
|
19
22
|
const { flatNodes, parentMap } = this.simplifier.simplifyMobile(request.rawDom);
|
|
20
|
-
logger.saveJSON(flatNodes, `flat-dom-Mob-${request.stepCount}`);
|
|
23
|
+
logData_js_1.logger.saveJSON(flatNodes, `flat-dom-Mob-${request.stepCount}`);
|
|
21
24
|
const { results, indexMap } = this.searcher.searchBestMobile(flatNodes, request.keywords);
|
|
22
25
|
const grouped = this.relationshipBuilder.buildGroupedResultsMobile(results, flatNodes, indexMap, parentMap);
|
|
23
26
|
return grouped;
|
|
24
27
|
}
|
|
25
28
|
}
|
|
29
|
+
exports.DomProcessingEngine = DomProcessingEngine;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DomRelationshipBuilder = void 0;
|
|
4
|
+
class DomRelationshipBuilder {
|
|
2
5
|
build(nodes) {
|
|
3
6
|
const ffToXPath = new Map();
|
|
4
7
|
nodes.forEach(n => {
|
|
@@ -191,3 +194,4 @@ export class DomRelationshipBuilder {
|
|
|
191
194
|
return finalResults;
|
|
192
195
|
}
|
|
193
196
|
}
|
|
197
|
+
exports.DomRelationshipBuilder = DomRelationshipBuilder;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DomSearcher = void 0;
|
|
4
|
+
const fast_fuzzy_1 = require("fast-fuzzy");
|
|
5
|
+
class DomSearcher {
|
|
3
6
|
search(nodes, keywords, topN = 20, threshold = 40) {
|
|
4
7
|
if (typeof keywords === "string") {
|
|
5
8
|
keywords = keywords.replace(/[\[\]]/g, "");
|
|
@@ -67,7 +70,7 @@ export class DomSearcher {
|
|
|
67
70
|
matched = true;
|
|
68
71
|
}
|
|
69
72
|
if (!matched) {
|
|
70
|
-
const score = fuzzy(kw, searchText);
|
|
73
|
+
const score = (0, fast_fuzzy_1.fuzzy)(kw, searchText);
|
|
71
74
|
if (score >= threshold / 100) {
|
|
72
75
|
fuzzyList.push([score * 100, i]);
|
|
73
76
|
}
|
|
@@ -184,7 +187,7 @@ export class DomSearcher {
|
|
|
184
187
|
continue;
|
|
185
188
|
}
|
|
186
189
|
// FUZZY MATCH
|
|
187
|
-
const score = fuzzy(kw, text) * 100;
|
|
190
|
+
const score = (0, fast_fuzzy_1.fuzzy)(kw, text) * 100;
|
|
188
191
|
if (score >= threshold) {
|
|
189
192
|
fuzzyMatches.push([score, node]);
|
|
190
193
|
}
|
|
@@ -208,3 +211,4 @@ export class DomSearcher {
|
|
|
208
211
|
};
|
|
209
212
|
}
|
|
210
213
|
}
|
|
214
|
+
exports.DomSearcher = DomSearcher;
|
|
@@ -1,6 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.DomSimplifier = void 0;
|
|
37
|
+
const cheerio = __importStar(require("cheerio"));
|
|
38
|
+
const xmldom_1 = require("@xmldom/xmldom");
|
|
39
|
+
class DomSimplifier {
|
|
4
40
|
simplify(rawDom) {
|
|
5
41
|
const $ = cheerio.load(rawDom, { xml: true });
|
|
6
42
|
const flatNodes = [];
|
|
@@ -88,7 +124,7 @@ export class DomSimplifier {
|
|
|
88
124
|
return flatNodes;
|
|
89
125
|
}
|
|
90
126
|
simplifyMobile(rawDom) {
|
|
91
|
-
const parser = new DOMParser();
|
|
127
|
+
const parser = new xmldom_1.DOMParser();
|
|
92
128
|
const xmlDoc = parser.parseFromString(rawDom, "text/xml");
|
|
93
129
|
const root = xmlDoc.documentElement;
|
|
94
130
|
const flatNodes = [];
|
|
@@ -184,3 +220,4 @@ export class DomSimplifier {
|
|
|
184
220
|
};
|
|
185
221
|
}
|
|
186
222
|
}
|
|
223
|
+
exports.DomSimplifier = DomSimplifier;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getElementsFromHTML = void 0;
|
|
4
|
+
const jsdom_1 = require("jsdom");
|
|
5
|
+
const logData_js_1 = require("../../utils/logger/logData.js");
|
|
3
6
|
const isUnique = (xpathResult) => {
|
|
4
7
|
return xpathResult && xpathResult.snapshotLength === 1;
|
|
5
8
|
};
|
|
@@ -165,21 +168,21 @@ function checkReferenceElementIsValid(locator, relation, tempDiv) {
|
|
|
165
168
|
return relativeXpath;
|
|
166
169
|
}
|
|
167
170
|
else {
|
|
168
|
-
logger.error("Complete Locator is Invalid:", locator);
|
|
171
|
+
logData_js_1.logger.error("Complete Locator is Invalid:", locator);
|
|
169
172
|
relativeXpath = locator;
|
|
170
173
|
return relativeXpath;
|
|
171
174
|
}
|
|
172
175
|
}
|
|
173
176
|
else {
|
|
174
|
-
logger.error("Source Locator Not Found:", sourceLoc);
|
|
177
|
+
logData_js_1.logger.error("Source Locator Not Found:", sourceLoc);
|
|
175
178
|
}
|
|
176
179
|
}
|
|
177
180
|
}
|
|
178
181
|
return null;
|
|
179
182
|
}
|
|
180
183
|
const getElementsFromHTML = (locators, htmlString) => {
|
|
181
|
-
const virtualConsole = new VirtualConsole();
|
|
182
|
-
const dom = new JSDOM(htmlString, {
|
|
184
|
+
const virtualConsole = new jsdom_1.VirtualConsole();
|
|
185
|
+
const dom = new jsdom_1.JSDOM(htmlString, {
|
|
183
186
|
resources: "usable",
|
|
184
187
|
runScripts: "outside-only", // Prevents inline script execution in JSDOM
|
|
185
188
|
pretendToBeVisual: true,
|
|
@@ -476,7 +479,7 @@ const getElementsFromHTML = (locators, htmlString) => {
|
|
|
476
479
|
}
|
|
477
480
|
}
|
|
478
481
|
catch (error) {
|
|
479
|
-
logger.error(`[${Object.getPrototypeOf(this).constructor.name}] : Error processing locator:`, locator, error.message);
|
|
482
|
+
logData_js_1.logger.error(`[${Object.getPrototypeOf(this).constructor.name}] : Error processing locator:`, locator, error.message);
|
|
480
483
|
}
|
|
481
484
|
}
|
|
482
485
|
const uniqueLocators = new Map();
|
|
@@ -497,15 +500,15 @@ const getElementsFromHTML = (locators, htmlString) => {
|
|
|
497
500
|
}
|
|
498
501
|
}
|
|
499
502
|
catch (error) {
|
|
500
|
-
logger.error(`[${Object.getPrototypeOf(this).constructor.name}] : Error processing locator:`, locator, error.message);
|
|
503
|
+
logData_js_1.logger.error(`[${Object.getPrototypeOf(this).constructor.name}] : Error processing locator:`, locator, error.message);
|
|
501
504
|
continue;
|
|
502
505
|
}
|
|
503
506
|
}
|
|
504
507
|
catch (error) {
|
|
505
|
-
logger.error(`[${Object.getPrototypeOf(this).constructor.name}] : Error processing locator:`, locator, error.message);
|
|
508
|
+
logData_js_1.logger.error(`[${Object.getPrototypeOf(this).constructor.name}] : Error processing locator:`, locator, error.message);
|
|
506
509
|
continue;
|
|
507
510
|
}
|
|
508
511
|
}
|
|
509
512
|
return null;
|
|
510
513
|
};
|
|
511
|
-
|
|
514
|
+
exports.getElementsFromHTML = getElementsFromHTML;
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ElementGetter = void 0;
|
|
4
|
+
const logData_js_1 = require("../../utils/logger/logData.js");
|
|
5
|
+
const elementsFromHTML_js_1 = require("./elementsFromHTML.js");
|
|
6
|
+
class ElementGetter {
|
|
4
7
|
async getFireFlinkElement(html, attribute) {
|
|
5
8
|
const formattedAttribute = attribute.replace('[', '//*[@');
|
|
6
9
|
try {
|
|
7
|
-
const result = getElementsFromHTML([
|
|
10
|
+
const result = (0, elementsFromHTML_js_1.getElementsFromHTML)([
|
|
8
11
|
{
|
|
9
12
|
name: "xpath",
|
|
10
13
|
type: "Static",
|
|
@@ -17,8 +20,9 @@ export class ElementGetter {
|
|
|
17
20
|
return Array.isArray(result) && result.length > 0 ? JSON.parse(JSON.stringify(result[0], null, 4)) : null;
|
|
18
21
|
}
|
|
19
22
|
catch (error) {
|
|
20
|
-
logger.error(`[${Object.getPrototypeOf(this).constructor.name}] : `, "Unable to find the element", error);
|
|
23
|
+
logData_js_1.logger.error(`[${Object.getPrototypeOf(this).constructor.name}] : `, "Unable to find the element", error);
|
|
21
24
|
return "";
|
|
22
25
|
}
|
|
23
26
|
}
|
|
24
27
|
}
|
|
28
|
+
exports.ElementGetter = ElementGetter;
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.normalizedElementType = void 0;
|
|
1
4
|
const elementType = {
|
|
2
5
|
'Link': 'link',
|
|
3
6
|
'Text Field': 'textfield',
|
|
@@ -24,7 +27,7 @@ const elementType = {
|
|
|
24
27
|
'Sliders': 'sliders',
|
|
25
28
|
'Visual Testing': 'visual testing'
|
|
26
29
|
};
|
|
27
|
-
|
|
30
|
+
exports.normalizedElementType = Object.fromEntries(Object.entries(elementType).map(([key, value]) => [
|
|
28
31
|
key.toLowerCase().replace(/\s+/g, ""),
|
|
29
32
|
value,
|
|
30
33
|
]));
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ScriptDataAppender = void 0;
|
|
4
|
+
class ScriptDataAppender {
|
|
2
5
|
constructor() {
|
|
3
6
|
this.data = [];
|
|
4
7
|
this.queue = [];
|
|
@@ -60,3 +63,4 @@ export class ScriptDataAppender {
|
|
|
60
63
|
return this.errorNLP;
|
|
61
64
|
}
|
|
62
65
|
}
|
|
66
|
+
exports.ScriptDataAppender = ScriptDataAppender;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.annotateScreenshot = annotateScreenshot;
|
|
4
|
+
const canvas_1 = require("canvas");
|
|
5
|
+
const fast_xml_parser_1 = require("fast-xml-parser");
|
|
6
|
+
const logData_js_1 = require("../utils/logger/logData.js");
|
|
4
7
|
function parseBounds(bounds) {
|
|
5
8
|
const nums = bounds.match(/\d+/g);
|
|
6
9
|
if (!nums || nums.length !== 4)
|
|
@@ -13,7 +16,7 @@ function parseBounds(bounds) {
|
|
|
13
16
|
};
|
|
14
17
|
}
|
|
15
18
|
function extractBoxes(xmlSource) {
|
|
16
|
-
const parser = new XMLParser({
|
|
19
|
+
const parser = new fast_xml_parser_1.XMLParser({
|
|
17
20
|
ignoreAttributes: false,
|
|
18
21
|
attributeNamePrefix: ""
|
|
19
22
|
});
|
|
@@ -52,8 +55,8 @@ const COLORS = [
|
|
|
52
55
|
[255, 105, 180],
|
|
53
56
|
];
|
|
54
57
|
async function drawBoxes(screenshotBuffer, boxes) {
|
|
55
|
-
const img = await loadImage(screenshotBuffer);
|
|
56
|
-
const canvas = createCanvas(img.width, img.height);
|
|
58
|
+
const img = await (0, canvas_1.loadImage)(screenshotBuffer);
|
|
59
|
+
const canvas = (0, canvas_1.createCanvas)(img.width, img.height);
|
|
57
60
|
const ctx = canvas.getContext("2d");
|
|
58
61
|
ctx.drawImage(img, 0, 0);
|
|
59
62
|
const scale = img.width / 1080;
|
|
@@ -71,13 +74,13 @@ async function drawBoxes(screenshotBuffer, boxes) {
|
|
|
71
74
|
});
|
|
72
75
|
return canvas.toBuffer("image/png");
|
|
73
76
|
}
|
|
74
|
-
|
|
77
|
+
async function annotateScreenshot(driver, xmlSource) {
|
|
75
78
|
const screenshotBase64 = await driver.takeScreenshot();
|
|
76
79
|
const screenshotBuffer = Buffer.from(screenshotBase64, "base64");
|
|
77
80
|
const boxes = extractBoxes(xmlSource);
|
|
78
81
|
const boxedImageBuffer = await drawBoxes(screenshotBuffer, boxes);
|
|
79
82
|
// Uncomment only when debugging
|
|
80
|
-
await logger.saveImage(boxedImageBuffer, "boxed.png");
|
|
83
|
+
await logData_js_1.logger.saveImage(boxedImageBuffer, "boxed.png");
|
|
81
84
|
return {
|
|
82
85
|
boxedImageBuffer: boxedImageBuffer,
|
|
83
86
|
boxes: boxes
|
|
@@ -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.annotateScreenshot = annotateScreenshot;
|
|
4
|
+
const canvas_1 = require("canvas");
|
|
2
5
|
const COLORS = [
|
|
3
6
|
[255, 0, 0],
|
|
4
7
|
[0, 128, 255],
|
|
@@ -56,12 +59,12 @@ function findFreeTagPosition(box, tagW, tagH, elementBoxes, usedTagRects, imgWid
|
|
|
56
59
|
usedTagRects.push([fallbackX, fallbackY, fallbackX + tagW, fallbackY + tagH]);
|
|
57
60
|
return { x: fallbackX, y: fallbackY };
|
|
58
61
|
}
|
|
59
|
-
|
|
62
|
+
async function annotateScreenshot(screenshotBase64, nodes) {
|
|
60
63
|
const buffer = Buffer.from(screenshotBase64, "base64");
|
|
61
|
-
const image = await loadImage(buffer);
|
|
64
|
+
const image = await (0, canvas_1.loadImage)(buffer);
|
|
62
65
|
const scale = image.width / 1920;
|
|
63
66
|
const fontSize = Math.max(10, Math.floor(14 * scale));
|
|
64
|
-
const canvas = createCanvas(image.width, image.height);
|
|
67
|
+
const canvas = (0, canvas_1.createCanvas)(image.width, image.height);
|
|
65
68
|
const ctx = canvas.getContext("2d");
|
|
66
69
|
ctx.drawImage(image, 0, 0);
|
|
67
70
|
ctx.font = `${fontSize}px Tahoma`;
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateAnnotatedScreenshots = generateAnnotatedScreenshots;
|
|
4
|
+
const annotateScreenshot_js_1 = require("./annotateScreenshot.js");
|
|
5
|
+
const jsForVision_js_1 = require("../utils/javascript/jsForVision.js");
|
|
3
6
|
// import { logger } from "../utils/logger/logData.js";
|
|
4
|
-
|
|
7
|
+
async function generateAnnotatedScreenshots(driver) {
|
|
5
8
|
const screenshot = await driver.takeScreenshot();
|
|
6
9
|
// const [primaryRaw, secondaryRaw] = await Promise.all([
|
|
7
10
|
// driver.execute(JS_PRIMARY),
|
|
8
11
|
// driver.execute(JS_SECONDARY),
|
|
9
12
|
// ]);
|
|
10
13
|
const [primaryRaw] = await Promise.all([
|
|
11
|
-
driver.execute(JS_PRIMARY),
|
|
14
|
+
driver.execute(jsForVision_js_1.JS_PRIMARY),
|
|
12
15
|
// driver.execute(JS_SECONDARY),
|
|
13
16
|
]);
|
|
14
17
|
const primary = primaryRaw ?? [];
|
|
@@ -16,7 +19,7 @@ export async function generateAnnotatedScreenshots(driver) {
|
|
|
16
19
|
// const primaryIds = new Set(primary.map((item) => item.ff));
|
|
17
20
|
// secondary = secondary.filter((item) => !primaryIds.has(item.ff));
|
|
18
21
|
const [primaryAnnotated] = await Promise.all([
|
|
19
|
-
annotateScreenshot(screenshot, primary),
|
|
22
|
+
(0, annotateScreenshot_js_1.annotateScreenshot)(screenshot, primary),
|
|
20
23
|
// annotateScreenshot(
|
|
21
24
|
// screenshot,
|
|
22
25
|
// secondary,
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AutomationRunner = void 0;
|
|
4
|
+
const runAutomationScript_js_1 = require("./core/main/runAutomationScript.js");
|
|
5
|
+
Object.defineProperty(exports, "AutomationRunner", { enumerable: true, get: function () { return runAutomationScript_js_1.AutomationRunner; } });
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ServiceProviderBaseUrlProvider = void 0;
|
|
4
|
+
class ServiceProviderBaseUrlProvider {
|
|
2
5
|
constructor() {
|
|
3
6
|
this.baseUrls = {
|
|
4
7
|
Groq: "https://api.groq.com/openai/v1",
|
|
@@ -16,3 +19,4 @@ export class ServiceProviderBaseUrlProvider {
|
|
|
16
19
|
return url;
|
|
17
20
|
}
|
|
18
21
|
}
|
|
22
|
+
exports.ServiceProviderBaseUrlProvider = ServiceProviderBaseUrlProvider;
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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.FireFlinkApiService = void 0;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
class FireFlinkApiService {
|
|
3
9
|
async getInstancesDetailsApi(headers, url) {
|
|
4
10
|
try {
|
|
5
|
-
const response = await
|
|
11
|
+
const response = await axios_1.default.get(url, {
|
|
6
12
|
headers,
|
|
7
13
|
timeout: 30000,
|
|
8
14
|
});
|
|
@@ -20,3 +26,4 @@ export class FireFlinkApiService {
|
|
|
20
26
|
}
|
|
21
27
|
}
|
|
22
28
|
}
|
|
29
|
+
exports.FireFlinkApiService = FireFlinkApiService;
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fireflinkService = void 0;
|
|
4
|
+
const fireflinkKafka_service_js_1 = require("./kafka/fireflinkKafka.service.js");
|
|
5
|
+
const logData_js_1 = require("../utils/logger/logData.js");
|
|
6
|
+
class fireflinkService {
|
|
4
7
|
constructor(apiService, broker, sslConfig) {
|
|
5
8
|
this.apiService = apiService;
|
|
6
|
-
this.kafkaProducer = new KafkaProducerService(broker, sslConfig);
|
|
9
|
+
this.kafkaProducer = new fireflinkKafka_service_js_1.KafkaProducerService(broker, sslConfig);
|
|
7
10
|
}
|
|
8
11
|
async runGetInstancesDetails(projectId, token, serverHost) {
|
|
9
12
|
const headers = {
|
|
@@ -17,7 +20,7 @@ export class fireflinkService {
|
|
|
17
20
|
try {
|
|
18
21
|
const finalResult = await this.apiService.getInstancesDetailsApi(headers, url);
|
|
19
22
|
if (finalResult) {
|
|
20
|
-
logger.error("Successfully submitted automation script to FireFlink API.");
|
|
23
|
+
logData_js_1.logger.error("Successfully submitted automation script to FireFlink API.");
|
|
21
24
|
}
|
|
22
25
|
else {
|
|
23
26
|
throw new Error("FireFlink API responded with an error: " + JSON.stringify(finalResult));
|
|
@@ -25,7 +28,7 @@ export class fireflinkService {
|
|
|
25
28
|
return finalResult;
|
|
26
29
|
}
|
|
27
30
|
catch (error) {
|
|
28
|
-
logger.error(`Failed to submit automation script, ${error}`);
|
|
31
|
+
logData_js_1.logger.error(`Failed to submit automation script, ${error}`);
|
|
29
32
|
throw new Error("Failed to submit automation script", { cause: error });
|
|
30
33
|
}
|
|
31
34
|
}
|
|
@@ -33,3 +36,4 @@ export class fireflinkService {
|
|
|
33
36
|
await this.kafkaProducer.produceMessage(kafkaArgs);
|
|
34
37
|
}
|
|
35
38
|
}
|
|
39
|
+
exports.fireflinkService = fireflinkService;
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KafkaProducerService = void 0;
|
|
4
|
+
const kafkajs_1 = require("kafkajs");
|
|
5
|
+
const logData_js_1 = require("../../utils/logger/logData.js");
|
|
6
|
+
class KafkaProducerService {
|
|
4
7
|
constructor(brokers, sslConfig) {
|
|
5
|
-
this.kafka = new Kafka({
|
|
8
|
+
this.kafka = new kafkajs_1.Kafka({
|
|
6
9
|
clientId: "FireFlinK-AI-Automation",
|
|
7
10
|
brokers: brokers,
|
|
8
11
|
ssl: sslConfig,
|
|
9
|
-
logLevel: logLevel.ERROR,
|
|
12
|
+
logLevel: kafkajs_1.logLevel.ERROR,
|
|
10
13
|
connectionTimeout: 10000,
|
|
11
14
|
requestTimeout: 60000,
|
|
12
15
|
retry: {
|
|
@@ -19,17 +22,18 @@ export class KafkaProducerService {
|
|
|
19
22
|
async produceMessage(kafkaArgs) {
|
|
20
23
|
try {
|
|
21
24
|
await this.kafkaProducer.connect();
|
|
22
|
-
logger.info("Kafka connected successfully");
|
|
25
|
+
logData_js_1.logger.info("Kafka connected successfully");
|
|
23
26
|
await this.kafkaProducer.send({
|
|
24
27
|
topic: kafkaArgs.topic,
|
|
25
28
|
messages: [{ value: JSON.stringify(kafkaArgs.message) }],
|
|
26
29
|
});
|
|
27
30
|
await this.kafkaProducer.disconnect();
|
|
28
|
-
logger.info("Kafka produced message successfully and Kafka producer disconnected successfully");
|
|
31
|
+
logData_js_1.logger.info("Kafka produced message successfully and Kafka producer disconnected successfully");
|
|
29
32
|
}
|
|
30
33
|
catch (error) {
|
|
31
34
|
await this.kafkaProducer.disconnect();
|
|
32
|
-
logger.error("An error occurred and the Kafka producer disconnected without sending the message", error);
|
|
35
|
+
logData_js_1.logger.error("An error occurred and the Kafka producer disconnected without sending the message", error);
|
|
33
36
|
}
|
|
34
37
|
}
|
|
35
38
|
}
|
|
39
|
+
exports.KafkaProducerService = KafkaProducerService;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const webdriverio_1 = require("webdriverio");
|
|
4
|
+
async function main() {
|
|
5
|
+
let browser;
|
|
6
|
+
try {
|
|
7
|
+
browser = await (0, webdriverio_1.remote)({
|
|
8
|
+
capabilities: {
|
|
9
|
+
browserName: 'chrome',
|
|
10
|
+
},
|
|
11
|
+
});
|
|
12
|
+
await runScript(browser);
|
|
13
|
+
}
|
|
14
|
+
catch (err) {
|
|
15
|
+
console.error('Error:', err);
|
|
16
|
+
}
|
|
17
|
+
finally {
|
|
18
|
+
if (browser) {
|
|
19
|
+
await browser.deleteSession();
|
|
20
|
+
console.log('Session closed');
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
async function runScript(browser) {
|
|
25
|
+
console.log('Starting script...');
|
|
26
|
+
await browser.url('https://example.com');
|
|
27
|
+
const title = await browser.getTitle();
|
|
28
|
+
console.log('Title:', title);
|
|
29
|
+
await browser.url('https://google.com');
|
|
30
|
+
const title2 = await browser.getTitle();
|
|
31
|
+
console.log('Title:', title2);
|
|
32
|
+
console.log('Done!');
|
|
33
|
+
}
|
|
34
|
+
main();
|
package/dist/tests/poc.js
CHANGED
|
@@ -1,16 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const
|
|
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
|
+
const webdriverio_1 = require("webdriverio");
|
|
7
|
+
const simplifyAndFlatten_js_1 = require("../domAnalysis/simplifyAndFlatten.js");
|
|
8
|
+
const searchBest_js_1 = require("../domAnalysis/searchBest.js");
|
|
9
|
+
const relativeElementsFromDom_js_1 = require("../domAnalysis/relativeElementsFromDom.js");
|
|
10
|
+
const jsForAttributeInjection_js_1 = require("../utils/DomExtraction/jsForAttributeInjection.js");
|
|
11
|
+
const getListOfLocators_js_1 = require("../fireflinkData/fireflinkLocators/getListOfLocators.js");
|
|
12
|
+
const openai_1 = __importDefault(require("openai"));
|
|
13
|
+
const getRelaventElements_js_1 = require("../domAnalysis/getRelaventElements.js");
|
|
14
|
+
let simplifier = new simplifyAndFlatten_js_1.DomSimplifier();
|
|
15
|
+
let searcher = new searchBest_js_1.DomSearcher();
|
|
16
|
+
let relationshipBuilder = new relativeElementsFromDom_js_1.DomRelationshipBuilder();
|
|
17
|
+
let data = new getListOfLocators_js_1.ElementGetter();
|
|
18
|
+
const client = new openai_1.default({
|
|
14
19
|
baseURL: "https://api.groq.com/openai/v1",
|
|
15
20
|
apiKey: "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",
|
|
16
21
|
});
|
|
@@ -187,7 +192,7 @@ function actionToMethod(action) {
|
|
|
187
192
|
let browser;
|
|
188
193
|
// ---------- MAIN EXECUTION ----------
|
|
189
194
|
(async () => {
|
|
190
|
-
browser = await remote({
|
|
195
|
+
browser = await (0, webdriverio_1.remote)({
|
|
191
196
|
logLevel: 'error',
|
|
192
197
|
capabilities: {
|
|
193
198
|
browserName: 'chrome'
|
|
@@ -206,8 +211,8 @@ let browser;
|
|
|
206
211
|
}
|
|
207
212
|
}
|
|
208
213
|
catch (error) {
|
|
209
|
-
let domInfo = await getAnnotatedDOM(browser);
|
|
210
|
-
const domProcessor = new DomProcessingEngine();
|
|
214
|
+
let domInfo = await (0, jsForAttributeInjection_js_1.getAnnotatedDOM)(browser);
|
|
215
|
+
const domProcessor = new getRelaventElements_js_1.DomProcessingEngine();
|
|
211
216
|
let extractedRelevantDom = domProcessor.webProcess({
|
|
212
217
|
keywords: await generateKeywords(JSON.stringify(step)),
|
|
213
218
|
rawDom: domInfo.dom,
|