ff-automationv2 2.2.30 → 2.2.32-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/llmprompts/llmPromptTypes/systemPromptTypes.d.ts +3 -0
- package/dist/ai/llmprompts/promptRegistry.js +10 -2
- package/dist/ai/llmprompts/systemPrompts/actionExtractorPrompt.js +83 -27
- package/dist/ai/llmprompts/systemPrompts/fileVerifyActionExtractorPrompt.d.ts +2 -0
- package/dist/ai/llmprompts/systemPrompts/fileVerifyActionExtractorPrompt.js +35 -0
- package/dist/ai/llmprompts/systemPrompts/fireflinkElementIndexExtactors.js +35 -0
- package/dist/ai/llmprompts/systemPrompts/fireflinkElementIndexExtractor_Mob.js +5 -2
- package/dist/ai/llmprompts/systemPrompts/getActionExtractorPrompt.js +4 -2
- package/dist/ai/llmprompts/systemPrompts/getActionExtractorPromptMob.js +3 -1
- package/dist/ai/llmprompts/systemPrompts/inputContextPrompt.d.ts +2 -0
- package/dist/ai/llmprompts/systemPrompts/inputContextPrompt.js +54 -0
- package/dist/ai/llmprompts/systemPrompts/mobileKeywordExtractor.js +53 -8
- package/dist/ai/llmprompts/systemPrompts/verifyActionExtractorPrompt.js +5 -4
- package/dist/ai/llmprompts/systemPrompts/verifyActionExtractorPromptMob.js +1 -1
- package/dist/ai/llmprompts/userPrompts/userPrompt.js +2 -0
- package/dist/automation/actions/executor.d.ts +14 -6
- package/dist/automation/actions/executor.js +968 -251
- package/dist/automation/actions/interaction/alert/enterDataToAlert.js +3 -1
- package/dist/automation/actions/interaction/alert/getTextPresentOnAlertPopup.js +4 -0
- package/dist/automation/actions/interaction/alert/verifyAlertPopUpMessageContainsString.js +1 -1
- package/dist/automation/actions/interaction/alert/verifyAlertPopupIsDisplayed.js +1 -1
- package/dist/automation/actions/interaction/alert/verifyTextPresentOnAlertPopup.js +1 -1
- package/dist/automation/actions/interaction/clear/clearAndEnter.js +6 -3
- package/dist/automation/actions/interaction/elementlessActions/getOtp.js +25 -24
- package/dist/automation/actions/interaction/enterActions/EnterInputIntoElementFromClipBoardInterface_mob.js +3 -1
- package/dist/automation/actions/interaction/enterActions/enterInput.js +5 -2
- package/dist/automation/actions/interaction/enterActions/enterInputAndPress.js +5 -2
- package/dist/automation/actions/interaction/enterActions/enterUrl.js +5 -2
- package/dist/automation/actions/interaction/enterActions/enterusingJs.js +3 -1
- package/dist/automation/actions/interaction/enterActions/waitAndEnter.js +5 -2
- package/dist/automation/actions/interaction/files/VerifyPDF.d.ts +2 -0
- package/dist/automation/actions/interaction/files/VerifyPDF.js +171 -0
- package/dist/automation/actions/interaction/get/MOB_GetADBLogsForGivenAppPackage.js +4 -1
- package/dist/automation/actions/interaction/get/MOB_GetAllContexts.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetAllWindowHandles.d.ts +1 -1
- package/dist/automation/actions/interaction/get/MOB_GetAllWindowHandles.js +10 -6
- 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.d.ts +1 -1
- package/dist/automation/actions/interaction/get/MOB_GetBatteryStatus.js +7 -3
- 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 -2
- 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 +4 -0
- 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 -0
- package/dist/automation/actions/interaction/get/getAllBrokenImages.js +9 -0
- package/dist/automation/actions/interaction/get/getAllBrokenLinkCount.js +9 -0
- package/dist/automation/actions/interaction/get/getAllBrokenLinks.js +10 -1
- package/dist/automation/actions/interaction/get/getAllConsoleErrors.js +11 -0
- package/dist/automation/actions/interaction/get/getAllConsoleInformation.js +12 -1
- package/dist/automation/actions/interaction/get/getAllConsoleLogs.js +11 -1
- package/dist/automation/actions/interaction/get/getAllConsoleWarnings.js +12 -1
- package/dist/automation/actions/interaction/get/getAllCookieNames.js +6 -1
- package/dist/automation/actions/interaction/get/getAllCookieValues.js +6 -1
- package/dist/automation/actions/interaction/get/getAllSelectedOptions.js +8 -1
- package/dist/automation/actions/interaction/get/getAllTheOptionsFromListBoxAsText.js +4 -1
- package/dist/automation/actions/interaction/get/getAllTheOptionsFromListBoxAsTextInSortedOrder.js +4 -1
- package/dist/automation/actions/interaction/get/getAllTheSelectedOptionsFromListBoxAsText.js +4 -1
- package/dist/automation/actions/interaction/get/getAllWindowHandles.js +5 -1
- package/dist/automation/actions/interaction/get/getAttribute.js +19 -14
- package/dist/automation/actions/interaction/get/getAudioCurrentPlaybackRate.js +4 -1
- package/dist/automation/actions/interaction/get/getAudioCurrentSeekTime.js +4 -1
- package/dist/automation/actions/interaction/get/getAudioCurrentVolume.js +4 -1
- package/dist/automation/actions/interaction/get/getAudioDecodedByte.js +4 -1
- package/dist/automation/actions/interaction/get/getAudioDefaultPlaybackRate.js +4 -1
- package/dist/automation/actions/interaction/get/getAudioMediaLength.js +4 -1
- package/dist/automation/actions/interaction/get/getAudioMediaSource.js +4 -1
- package/dist/automation/actions/interaction/get/getBestPracticesScore.js +11 -3
- package/dist/automation/actions/interaction/get/getBrowserCount.js +5 -0
- package/dist/automation/actions/interaction/get/getBrowserVersion.js +5 -0
- package/dist/automation/actions/interaction/get/getCapabilityNames.js +5 -0
- package/dist/automation/actions/interaction/get/getClipBoardText.js +13 -0
- package/dist/automation/actions/interaction/get/getCollectiveApiResponseTime.js +4 -1
- package/dist/automation/actions/interaction/get/getCollectiveApiStatusCode.js +4 -1
- package/dist/automation/actions/interaction/get/getCssValue.js +5 -1
- package/dist/automation/actions/interaction/get/getCurrentDayOfTheWeek.js +4 -0
- package/dist/automation/actions/interaction/get/getCurrentSecondsFromCurrentSystemTime.js +5 -1
- package/dist/automation/actions/interaction/get/getCurrentSystemDate.js +4 -0
- 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 +13 -26
- package/dist/automation/actions/interaction/get/getDataFromApiRequestHeaderForJsonPath.js +5 -4
- package/dist/automation/actions/interaction/get/getDataFromApiResponseForJsonPath.js +5 -4
- package/dist/automation/actions/interaction/get/getDateWithGivenFormat.js +13 -16
- package/dist/automation/actions/interaction/get/getDriverInstance.js +13 -28
- package/dist/automation/actions/interaction/get/getFirstContentfulPaint.js +8 -1
- package/dist/automation/actions/interaction/get/getFirstSelectedOption.js +5 -1
- package/dist/automation/actions/interaction/get/getFullPaintTime.js +8 -1
- package/dist/automation/actions/interaction/get/getHTMLCodeOfPage.js +4 -0
- package/dist/automation/actions/interaction/get/getHeightOfBrowserWindow.js +5 -0
- package/dist/automation/actions/interaction/get/getHeightOfWebElement.js +4 -1
- package/dist/automation/actions/interaction/get/getHourFromCurrentSystemTime.js +4 -0
- package/dist/automation/actions/interaction/get/getImplicitTimeOut.js +15 -28
- package/dist/automation/actions/interaction/get/getLargestContentfulPaint.js +7 -0
- package/dist/automation/actions/interaction/get/getListBoxSize.d.ts +1 -1
- package/dist/automation/actions/interaction/get/getListBoxSize.js +4 -2
- package/dist/automation/actions/interaction/get/getListOfElementsFromLocatorTypeLocatorValue.js +7 -2
- package/dist/automation/actions/interaction/get/getLocation.js +14 -8
- package/dist/automation/actions/interaction/get/getMinuteFromCurrentSystemTime.js +4 -0
- package/dist/automation/actions/interaction/get/getNetworkRouteTime.js +7 -0
- package/dist/automation/actions/interaction/get/getNumberOfBrokenImages.js +7 -0
- package/dist/automation/actions/interaction/get/getNumberOfLinksPresentInCurrentPage.js +5 -0
- package/dist/automation/actions/interaction/get/getNumberOfWorkingLinksFromCurrentPage.js +9 -0
- package/dist/automation/actions/interaction/get/getOptions.js +4 -1
- package/dist/automation/actions/interaction/get/getPageTitle.js +5 -1
- package/dist/automation/actions/interaction/get/getPerformanceMetrics.js +12 -1
- package/dist/automation/actions/interaction/get/getPwaScore.js +11 -3
- package/dist/automation/actions/interaction/get/getRect.js +9 -2
- package/dist/automation/actions/interaction/get/getScreenshot.js +13 -28
- package/dist/automation/actions/interaction/get/getScreenshotAs.js +14 -44
- package/dist/automation/actions/interaction/get/getSeoScore.js +15 -3
- package/dist/automation/actions/interaction/get/getSingleApiRequestPayload.js +5 -3
- package/dist/automation/actions/interaction/get/getSingleApiResponse.js +9 -8
- package/dist/automation/actions/interaction/get/getSingleApiResponseTime.js +9 -9
- package/dist/automation/actions/interaction/get/getSingleApiStatusCode.d.ts +1 -1
- package/dist/automation/actions/interaction/get/getSingleApiStatusCode.js +10 -17
- package/dist/automation/actions/interaction/get/getSize.js +7 -2
- package/dist/automation/actions/interaction/get/getSizeOfBrowserWindow.js +5 -4
- package/dist/automation/actions/interaction/get/getStringDataFromLocalFile.js +10 -7
- package/dist/automation/actions/interaction/get/getSystemProperty.js +6 -4
- package/dist/automation/actions/interaction/get/getTagName.js +9 -2
- package/dist/automation/actions/interaction/get/getText.js +7 -2
- package/dist/automation/actions/interaction/get/getTheFirstSelectedOptionFromListBoxAsText.js +5 -1
- package/dist/automation/actions/interaction/get/getTotalNumberOfCookies.js +6 -1
- package/dist/automation/actions/interaction/get/getTunnelIdentifier.js +5 -8
- package/dist/automation/actions/interaction/get/getURLPresentInAddressBar.js +5 -1
- package/dist/automation/actions/interaction/get/getUserHomeDirectory.js +9 -1
- package/dist/automation/actions/interaction/get/getValueByCookieName.js +7 -4
- package/dist/automation/actions/interaction/get/getValueFromLocalStorage.js +6 -4
- package/dist/automation/actions/interaction/get/getValueOfSystemVariable.js +6 -4
- package/dist/automation/actions/interaction/get/getVideoCurrentPlaybackRate.js +4 -1
- package/dist/automation/actions/interaction/get/getVideoCurrentSeekTime.js +4 -1
- package/dist/automation/actions/interaction/get/getVideoCurrentVolume.js +4 -1
- package/dist/automation/actions/interaction/get/getVideoDecodedByte.js +4 -1
- package/dist/automation/actions/interaction/get/getVideoDefaultPlaybackRate.js +4 -1
- package/dist/automation/actions/interaction/get/getVideoMediaLength.js +4 -1
- package/dist/automation/actions/interaction/get/getVideoMediaSource.js +5 -1
- package/dist/automation/actions/interaction/get/getWidthOfBrowser.js +6 -1
- package/dist/automation/actions/interaction/get/getWidthOfWebElement.js +4 -1
- package/dist/automation/actions/interaction/get/getWorkingLinksFromCurrentPage.js +10 -1
- package/dist/automation/actions/interaction/get/getWrappedElement.js +5 -1
- package/dist/automation/actions/interaction/get/getWrappedOptionFromListBoxAsText.d.ts +1 -1
- package/dist/automation/actions/interaction/get/getWrappedOptionFromListBoxAsText.js +4 -2
- package/dist/automation/actions/interaction/get/getXLocationOfBrowserWindow.js +4 -3
- package/dist/automation/actions/interaction/get/getXLocationOfWebElement.js +7 -2
- package/dist/automation/actions/interaction/get/getYLocationOfBrowserWindow.js +6 -1
- package/dist/automation/actions/interaction/get/getYLocationOfWebElement.js +7 -2
- package/dist/automation/actions/interaction/shadowDom/shadowDomEnter.js +2 -0
- package/dist/automation/actions/interaction/shadowDom/shadowDomGetText.js +5 -2
- package/dist/automation/actions/interaction/verify/MOB_VerifyBatteryLevel.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyAttributeValue.js +2 -2
- package/dist/automation/actions/interaction/verify/VerifyBrowserHtmlCodeContainsString.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowHeight.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowTitleContainsString.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowTitleIsString.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowUrlContainsExpectedUrl.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowUrlIsString.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowWidth.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowXLocation.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowYLocation.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyCssAttributeValue.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyElementNotContainsText.js +2 -2
- package/dist/automation/actions/interaction/verify/VerifyHeightOfWebElement.js +2 -2
- package/dist/automation/actions/interaction/verify/VerifyHexCodeForGivenXYCoordinates.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfAllCookiesAreDeleted.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfCookieNameIsAdded.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfCookieNameIsDeleted.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfCookieObjectIsPresent.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfGivenOptionIsDuplicate.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfImageIsBroken.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfLinkIsBroken.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfLinkIsWorking.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfLinksAreBroken.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfLinksAreWorking.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfOptionWithTextIsDeselected.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfOptionWithValueIsDeselected.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfOptionWithValueIsSelected.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfOptionWithVisibleTextIsSelected.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfSpecifiedOptionIsSelected.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyNavigateURL.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyPartialAttributeValue.js +2 -2
- package/dist/automation/actions/interaction/verify/VerifyPartialTitleOfCurrentPage.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyTagName.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyThatSpecifiedOptionIsNotSelected.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyTitleInAllPage.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyTitleOfCurrentPage.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyValueOfElementContainsString.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyValueOfElementIsString.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyWidthOfElement.js +2 -2
- package/dist/automation/actions/interaction/verify/VerifyXLocationOfElement.js +2 -2
- package/dist/automation/actions/interaction/verify/VerifyYLocationOfElement.js +2 -2
- package/dist/automation/actions/interaction/verify/checkIfElementIsDisplayed.js +2 -2
- package/dist/automation/actions/interaction/verify/verifypartialtext.js +2 -2
- package/dist/automation/actions/interaction/verify/verifytext.js +2 -2
- package/dist/automation/actions/interface/FireFlinkResponseSchema.d.ts +22 -1
- package/dist/automation/actions/interface/FireFlinkResponseSchema.js +18 -4
- package/dist/automation/actions/interface/alertActionInterface.d.ts +11 -0
- package/dist/automation/actions/interface/clearActionInterface.d.ts +4 -0
- package/dist/automation/actions/interface/getActionInterface.d.ts +150 -141
- package/dist/automation/actions/interface/getOtpInterface.d.ts +5 -0
- package/dist/automation/actions/interface/interactionActionInterface.d.ts +14 -7
- package/dist/automation/actions/interface/shadowDomInterface.d.ts +10 -0
- package/dist/automation/actions/interface/verifyActionInterface.d.ts +100 -0
- package/dist/core/Errors/InvalidFileTypeError.d.ts +5 -0
- package/dist/core/Errors/InvalidFileTypeError.js +14 -0
- package/dist/core/constants/supportedActions.js +4 -0
- package/dist/core/helpers/elementSelectorResolver.d.ts +11 -0
- package/dist/core/helpers/elementSelectorResolver.js +102 -0
- package/dist/core/helpers/runnerDomPipeline.d.ts +9 -0
- package/dist/core/helpers/runnerDomPipeline.js +97 -0
- package/dist/core/helpers/runnerKafkaReporter.d.ts +17 -0
- package/dist/core/helpers/runnerKafkaReporter.js +71 -0
- package/dist/core/helpers/runnerPostActionHelper.d.ts +2 -0
- package/dist/core/helpers/runnerPostActionHelper.js +30 -0
- package/dist/core/helpers/stepActionInspector.d.ts +5 -0
- package/dist/core/helpers/stepActionInspector.js +113 -0
- package/dist/core/helpers/visionFallbackHandler.d.ts +3 -0
- package/dist/core/helpers/visionFallbackHandler.js +138 -0
- package/dist/core/interfaces/actionInterface.d.ts +7 -5
- package/dist/core/interfaces/automationRunnerInterface.d.ts +56 -1
- package/dist/core/interfaces/fireflinkScriptPayloadInterface.d.ts +2 -0
- package/dist/core/interfaces/llmResponseInterface.d.ts +5 -0
- package/dist/core/interfaces/promptInterface.d.ts +9 -2
- package/dist/core/interfaces/scriptGenrationDataInterface.d.ts +4 -0
- package/dist/core/main/actionHandlerFactory.js +37 -7
- package/dist/core/main/executionContext.d.ts +2 -1
- package/dist/core/main/executionContext.js +7 -5
- package/dist/core/main/runAutomationScript.d.ts +1 -0
- package/dist/core/main/runAutomationScript.js +390 -1008
- package/dist/core/types/llmResponseType.d.ts +2 -2
- package/dist/core/types/promptType.d.ts +3 -1
- package/dist/core/types/promptType.js +2 -0
- package/dist/fireflinkData/fireflinkScript/appendScriptData.js +3 -0
- package/dist/utils/browserCap/capability.js +17 -0
- package/dist/utils/helpers/getHelper.d.ts +8 -0
- package/dist/utils/helpers/getHelper.js +115 -0
- package/dist/utils/helpers/platformSyntax.d.ts +1 -1
- package/package.json +2 -1
- package/dist/ai/llmprompts/systemPrompts/combinedActionExtractorPrompt.d.ts +0 -2
- package/dist/ai/llmprompts/systemPrompts/combinedActionExtractorPrompt.js +0 -36
|
@@ -9,7 +9,7 @@ export interface IActionExecutor {
|
|
|
9
9
|
doubleClick(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
|
|
10
10
|
waitAndClick(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
|
|
11
11
|
clickNTimes(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
|
|
12
|
-
enterInput(selector: string, value: string, fireflinkIndex: string, pageDOM: string, elementName: string, elementType: string, platform
|
|
12
|
+
enterInput(selector: string, value: string, fireflinkIndex: string, pageDOM: string, elementName: string, elementType: string, platform?: string, stepIndex?: any, filteredSteps?: any, variableName?: string): Promise<void>;
|
|
13
13
|
enterInputShadow(selector: string, value: string, fireflinkIndex: string, pageDOM: string, elementName: string, elementType: string, platform: string): Promise<void>;
|
|
14
14
|
clickShadowElement(selector: string, fireflinkIndex: string, pageDOM: string, elementName: string, elementType: string): Promise<void>;
|
|
15
15
|
enterInputUsingJS(selector: string, value: string, fireflinkIndex: string, pageDOM: string, elementName: string, elementType: string, platform: string): Promise<void>;
|
|
@@ -31,8 +31,8 @@ export interface IActionExecutor {
|
|
|
31
31
|
verifyElementIsDisplayedInSpecifiedTime(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
|
|
32
32
|
verifyElementIsEnabledInSpecifiedTime(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
|
|
33
33
|
verifyElementIsSelectedInSpecifiedTime(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
|
|
34
|
-
verifyText(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string, platform
|
|
35
|
-
verifyPartialText(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string, platform
|
|
34
|
+
verifyText(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string, platform?: string, variableName?: string): Promise<void>;
|
|
35
|
+
verifyPartialText(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string, platform?: string, variableName?: string): Promise<void>;
|
|
36
36
|
VerifyElementIsDisplayed(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string, platform: string): Promise<void>;
|
|
37
37
|
VerifyElementIsNotDisplayed(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string, platform: string): Promise<void>;
|
|
38
38
|
VerifyElementIsSelected(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string, platform: string): Promise<void>;
|
|
@@ -291,6 +291,7 @@ export interface IActionExecutor {
|
|
|
291
291
|
MOB_GetBatteryPercentage(): Promise<void>;
|
|
292
292
|
MOB_GetLongitude(): Promise<void>;
|
|
293
293
|
MOB_GetLatitude(): Promise<void>;
|
|
294
|
+
MOB_GetAltitude(): Promise<void>;
|
|
294
295
|
MOB_GetCurrentDeviceDate(): Promise<void>;
|
|
295
296
|
MOB_GetMinuteFromCurrentDeviceTime(): Promise<void>;
|
|
296
297
|
MOB_GetCurrentAppPackage(): Promise<void>;
|
|
@@ -343,8 +344,9 @@ export interface IActionExecutor {
|
|
|
343
344
|
mouseHover(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
|
|
344
345
|
MouseClickOnCurrentCursorPoint(): Promise<void>;
|
|
345
346
|
MouseDoubleClickAtCursorPoint(): Promise<void>;
|
|
346
|
-
getOtp(selector: string, timeFrom: string, waitTime: string, activity: string, otpExtractor?: (smsBody: string) => Promise<{
|
|
347
|
+
getOtp(selector: string, timeFrom: string, waitTime: string, activity: string, isTerminated?: () => boolean, otpExtractor?: (smsBody: string) => Promise<{
|
|
347
348
|
otp: string;
|
|
348
349
|
regex: string;
|
|
349
|
-
} | null
|
|
350
|
+
} | null>, returnTypeVariableName?: string): Promise<void>;
|
|
351
|
+
setStepContext?(stepIndex?: any, currentStep?: string, stepsInputData?: any[], manualStep?: string, returnTypeVariableName?: string, variableName?: string): void;
|
|
350
352
|
}
|
|
@@ -1,4 +1,59 @@
|
|
|
1
|
-
import { AutomationRequest } from "
|
|
1
|
+
import { AutomationRequest } from "./executionDetails.js";
|
|
2
|
+
import { platform as PlatformType } from "../types/scriptTypesType.js";
|
|
3
|
+
import { StepProcessor } from "../main/stepProcessor.js";
|
|
4
|
+
import { RunnerKafkaReporter } from "../helpers/runnerKafkaReporter.js";
|
|
2
5
|
export interface IAutomationRunner {
|
|
3
6
|
run(args: AutomationRequest): Promise<void>;
|
|
4
7
|
}
|
|
8
|
+
export interface DomCaptureResult {
|
|
9
|
+
domInfo: any;
|
|
10
|
+
doc: any;
|
|
11
|
+
}
|
|
12
|
+
export interface DomProcessResult {
|
|
13
|
+
extractedRelevantDom: any;
|
|
14
|
+
toonDom: any;
|
|
15
|
+
}
|
|
16
|
+
export interface ResolvedStepAction {
|
|
17
|
+
stepResult: any;
|
|
18
|
+
stepAction: string;
|
|
19
|
+
}
|
|
20
|
+
export interface ShadowIframeResult {
|
|
21
|
+
stepAction: string;
|
|
22
|
+
selector: string;
|
|
23
|
+
iframeDomHtml: string | null;
|
|
24
|
+
handled: boolean;
|
|
25
|
+
}
|
|
26
|
+
export interface VisionFallbackParams {
|
|
27
|
+
driver: any;
|
|
28
|
+
platform: PlatformType;
|
|
29
|
+
action: string;
|
|
30
|
+
step: string;
|
|
31
|
+
stepAction: string;
|
|
32
|
+
inputValue: string;
|
|
33
|
+
stepCount?: any;
|
|
34
|
+
stepIndex?: any;
|
|
35
|
+
currentStep?: string;
|
|
36
|
+
manualStep?: string;
|
|
37
|
+
stepsInputData?: any[];
|
|
38
|
+
returnTypeVariableName?: string;
|
|
39
|
+
variableName?: string;
|
|
40
|
+
fallbackAttempt: number;
|
|
41
|
+
priorAndNextSteps: string[];
|
|
42
|
+
listOfSteps: string[];
|
|
43
|
+
currentElementName?: string;
|
|
44
|
+
extractorElementName?: string;
|
|
45
|
+
stepElementType?: string;
|
|
46
|
+
iframeDomHtml: string | null;
|
|
47
|
+
domInfo: any;
|
|
48
|
+
doc: any;
|
|
49
|
+
beforeHandles: any;
|
|
50
|
+
context: any;
|
|
51
|
+
stepProcessor: StepProcessor;
|
|
52
|
+
actionHandlers: Record<string, any>;
|
|
53
|
+
reporter: RunnerKafkaReporter;
|
|
54
|
+
causeError: any;
|
|
55
|
+
}
|
|
56
|
+
export interface VisionFallbackResult {
|
|
57
|
+
preCapturedDomInfo: any | null;
|
|
58
|
+
retryNeeded: boolean;
|
|
59
|
+
}
|
|
@@ -2,7 +2,9 @@ export interface IKeywordAction {
|
|
|
2
2
|
keywords: string[];
|
|
3
3
|
elementName: string;
|
|
4
4
|
action: string;
|
|
5
|
+
isStepValueDependable?: boolean;
|
|
5
6
|
liveLog: string;
|
|
7
|
+
step?: string;
|
|
6
8
|
}
|
|
7
9
|
export interface IDragDropAction {
|
|
8
10
|
drag: string;
|
|
@@ -49,3 +51,6 @@ export interface IGetAction {
|
|
|
49
51
|
inputText: string;
|
|
50
52
|
elementType: string;
|
|
51
53
|
}
|
|
54
|
+
export interface IInputTextExtractor {
|
|
55
|
+
inputText: string;
|
|
56
|
+
}
|
|
@@ -27,8 +27,7 @@ export interface PromptArgsMap {
|
|
|
27
27
|
priorAndNextSteps: string[];
|
|
28
28
|
};
|
|
29
29
|
[PromptType.COMBINED_ACTION_EXTRACTOR_PROMPT]: {
|
|
30
|
-
|
|
31
|
-
extractedDomJson: any;
|
|
30
|
+
extractedDomJson: string;
|
|
32
31
|
priorAndNextSteps: string[];
|
|
33
32
|
};
|
|
34
33
|
[PromptType.WAIT_ACTION_EXTRACTOR_PROMPT]: {
|
|
@@ -37,4 +36,12 @@ export interface PromptArgsMap {
|
|
|
37
36
|
priorAndNextSteps: string[];
|
|
38
37
|
};
|
|
39
38
|
[PromptType.OTP_EXTRACTOR]: Record<string, never>;
|
|
39
|
+
[PromptType.FILE_VERIFY_PROMPT]: {
|
|
40
|
+
extractedDomJson: any;
|
|
41
|
+
priorAndNextSteps: string[];
|
|
42
|
+
};
|
|
43
|
+
[PromptType.INPUT_CONTEXT_PROMPT]: {
|
|
44
|
+
inputStepsContext: string[];
|
|
45
|
+
priorAndNextSteps: string[];
|
|
46
|
+
};
|
|
40
47
|
}
|
|
@@ -10,6 +10,8 @@ export interface IScriptGenerationData {
|
|
|
10
10
|
nlpName: string;
|
|
11
11
|
elementsData: IElementData[] | [];
|
|
12
12
|
stepInputs: (string | number | boolean)[];
|
|
13
|
+
returnTypeVariableName?: string;
|
|
14
|
+
variableName?: string;
|
|
13
15
|
}
|
|
14
16
|
export interface AppendScriptDataArgs {
|
|
15
17
|
scriptDataAppender: ScriptDataAppender;
|
|
@@ -22,4 +24,6 @@ export interface AppendScriptDataArgs {
|
|
|
22
24
|
elementType?: string;
|
|
23
25
|
selector?: string;
|
|
24
26
|
platform?: string;
|
|
27
|
+
returnTypeVariableName?: string;
|
|
28
|
+
variableName?: string;
|
|
25
29
|
}
|
|
@@ -52,6 +52,9 @@ function createActionHandlers(context) {
|
|
|
52
52
|
const withExecutor = (fn) => async (result) => {
|
|
53
53
|
try {
|
|
54
54
|
const executor = requireExecutor();
|
|
55
|
+
if (result) {
|
|
56
|
+
executor.setStepContext(result.stepIndex, result.currentStep, result.stepsInputData || context.stepsInputData, result.manualStep, result.returnTypeVariableName, result.variableName);
|
|
57
|
+
}
|
|
55
58
|
await fn(executor, result);
|
|
56
59
|
}
|
|
57
60
|
catch (error) {
|
|
@@ -62,6 +65,10 @@ function createActionHandlers(context) {
|
|
|
62
65
|
return {
|
|
63
66
|
open: async (result) => {
|
|
64
67
|
try {
|
|
68
|
+
if (context.browserOpened) {
|
|
69
|
+
logData_js_1.logger.info("Browser already opened, skipping...");
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
65
72
|
const keywords = result?.keywords || [];
|
|
66
73
|
const pathKeyword = keywords.find((k) => k.startsWith("path:"));
|
|
67
74
|
const profileKeyword = keywords.find((k) => k.startsWith("profile:"));
|
|
@@ -170,6 +177,7 @@ function createActionHandlers(context) {
|
|
|
170
177
|
}));
|
|
171
178
|
}
|
|
172
179
|
}
|
|
180
|
+
context.browserOpened = true;
|
|
173
181
|
}
|
|
174
182
|
catch (error) {
|
|
175
183
|
logData_js_1.logger.error("Error in createActionHandlers", error);
|
|
@@ -335,9 +343,27 @@ function createActionHandlers(context) {
|
|
|
335
343
|
throw error;
|
|
336
344
|
}
|
|
337
345
|
},
|
|
338
|
-
navigate:
|
|
339
|
-
|
|
340
|
-
|
|
346
|
+
navigate: async (result) => {
|
|
347
|
+
try {
|
|
348
|
+
if (!context.browserOpened) {
|
|
349
|
+
logData_js_1.logger.info("Browser not initialized, auto-opening before navigate...");
|
|
350
|
+
await context.session.open();
|
|
351
|
+
context.executor = new executor_js_1.ActionExecutor(await context.session.getCurrentDriver(), context.scriptAppender, context.locator, context.request.platform, context.adbPath);
|
|
352
|
+
context.browserOpened = true;
|
|
353
|
+
context.scriptAppender.add(async () => ({
|
|
354
|
+
nlpName: "Open Browser",
|
|
355
|
+
elementsData: [],
|
|
356
|
+
stepInputs: []
|
|
357
|
+
}));
|
|
358
|
+
}
|
|
359
|
+
const executor = requireExecutor();
|
|
360
|
+
await executor.navigate(result.keywords[0]);
|
|
361
|
+
}
|
|
362
|
+
catch (error) {
|
|
363
|
+
logData_js_1.logger.error("Error in navigate handler", error);
|
|
364
|
+
throw error;
|
|
365
|
+
}
|
|
366
|
+
},
|
|
341
367
|
maximize: withExecutor(async (executor) => {
|
|
342
368
|
await executor.maximize();
|
|
343
369
|
}),
|
|
@@ -378,7 +404,7 @@ function createActionHandlers(context) {
|
|
|
378
404
|
await executor.clickUsingJS(result.pageDOM, result.selector, result.fireflinkIndex, result.elementName, result.elementType);
|
|
379
405
|
}),
|
|
380
406
|
SendKeys: withExecutor(async (executor, result) => {
|
|
381
|
-
await executor.enterInput(result.selector, result.value, result.fireflinkIndex, result.pageDOM, result.elementName, result.elementType, result.stepIndex, result.filteredSteps);
|
|
407
|
+
await executor.enterInput(result.selector, result.value, result.fireflinkIndex, result.pageDOM, result.elementName, result.elementType, result.stepIndex, result.filteredSteps, result.variableName);
|
|
382
408
|
}),
|
|
383
409
|
EnterDataAndPressKey: withExecutor(async (executor, result) => {
|
|
384
410
|
await executor.enterInputAndPress(result.selector, result.value, result.fireflinkIndex, result.pageDOM, result.elementName, result.elementType);
|
|
@@ -450,10 +476,10 @@ function createActionHandlers(context) {
|
|
|
450
476
|
await executor.verifyElementIsSelectedInSpecifiedTime(result.pageDOM, result.selector, result.value, result.fireflinkIndex, result.elementName, result.elementType);
|
|
451
477
|
}),
|
|
452
478
|
VerifyText: withExecutor(async (executor, result) => {
|
|
453
|
-
await executor.verifyText(result.pageDOM, result.selector, result.value, result.fireflinkIndex, result.elementName, result.elementType);
|
|
479
|
+
await executor.verifyText(result.pageDOM, result.selector, result.value, result.fireflinkIndex, result.elementName, result.elementType, result.variableName);
|
|
454
480
|
}),
|
|
455
481
|
VerifyPartialText: withExecutor(async (executor, result) => {
|
|
456
|
-
await executor.verifyPartialText(result.pageDOM, result.selector, result.value, result.fireflinkIndex, result.elementName, result.elementType);
|
|
482
|
+
await executor.verifyPartialText(result.pageDOM, result.selector, result.value, result.fireflinkIndex, result.elementName, result.elementType, result.variableName);
|
|
457
483
|
}),
|
|
458
484
|
VerifyElementIsDisplayed: withExecutor(async (executor, result) => {
|
|
459
485
|
await executor.VerifyElementIsDisplayed(result.pageDOM, result.selector, result.fireflinkIndex, result.elementName, result.elementType);
|
|
@@ -1439,7 +1465,11 @@ function createActionHandlers(context) {
|
|
|
1439
1465
|
await executor.MouseClickOnCurrentCursorPointNTimes(result.value);
|
|
1440
1466
|
}),
|
|
1441
1467
|
getOtp: withExecutor(async (executor, result) => {
|
|
1442
|
-
await executor.getOtp(result.selector, result.timeFrom, result.waitTime, result.activity, result.otpExtractor);
|
|
1468
|
+
await executor.getOtp(result.selector, result.timeFrom, result.waitTime, result.activity, result.isTerminated, result.otpExtractor, result.returnTypeVariableName);
|
|
1469
|
+
}),
|
|
1470
|
+
VerifyPDF: withExecutor(async (executor, result) => {
|
|
1471
|
+
const expectedText = result?.value ?? "";
|
|
1472
|
+
await executor.verifyPDF(expectedText);
|
|
1443
1473
|
})
|
|
1444
1474
|
};
|
|
1445
1475
|
}
|
|
@@ -16,7 +16,8 @@ export declare class ExecutionContext {
|
|
|
16
16
|
scriptAppender: ScriptDataAppender;
|
|
17
17
|
adbPath: string;
|
|
18
18
|
activePlatform: platform;
|
|
19
|
-
|
|
19
|
+
browserOpened: boolean;
|
|
20
|
+
stepsInputData: any[];
|
|
20
21
|
constructor(request: AutomationRequest, workerPool: LocatorWorkerPool);
|
|
21
22
|
initializeMobileDriver(caps: any): Promise<void>;
|
|
22
23
|
}
|
|
@@ -13,7 +13,8 @@ class ExecutionContext {
|
|
|
13
13
|
this.request = request;
|
|
14
14
|
this.workerPool = workerPool;
|
|
15
15
|
this.executor = null;
|
|
16
|
-
this.
|
|
16
|
+
this.browserOpened = false;
|
|
17
|
+
this.stepsInputData = [];
|
|
17
18
|
this.session = new initiateBrowserSession_js_1.BrowserSession(browserType_js_1.browserName[request.browserName], request.isCloud, request.capabilities, defaultValues_js_1.DEFAULT_PAGE_LOAD, request.cloudConfig);
|
|
18
19
|
this.locator = new getListOfLocators_js_1.ElementGetter(workerPool);
|
|
19
20
|
this.scriptAppender = new scriptGenrationData_js_1.ScriptDataAppender();
|
|
@@ -49,14 +50,15 @@ class ExecutionContext {
|
|
|
49
50
|
if (key === "appPackage") {
|
|
50
51
|
hasAppPackage = true;
|
|
51
52
|
}
|
|
52
|
-
|
|
53
|
+
const normalizedValue = value.trim().toLowerCase();
|
|
54
|
+
if (normalizedValue === "true") {
|
|
53
55
|
appiumCaps[`appium:${key}`] = true;
|
|
54
56
|
}
|
|
55
|
-
else if (
|
|
57
|
+
else if (normalizedValue === "false") {
|
|
56
58
|
appiumCaps[`appium:${key}`] = false;
|
|
57
59
|
}
|
|
58
60
|
else {
|
|
59
|
-
appiumCaps[`appium:${key}`] = value;
|
|
61
|
+
appiumCaps[`appium:${key}`] = value.trim();
|
|
60
62
|
}
|
|
61
63
|
}
|
|
62
64
|
}
|
|
@@ -105,7 +107,7 @@ class ExecutionContext {
|
|
|
105
107
|
...appiumCaps
|
|
106
108
|
};
|
|
107
109
|
await this.mobileSession.createDriver(capabilities);
|
|
108
|
-
this.executor = new executor_js_1.ActionExecutor(await this.mobileSession.getCurrentDriver(), this.scriptAppender, this.locator, this.request.platform, this.adbPath);
|
|
110
|
+
this.executor = new executor_js_1.ActionExecutor(await this.mobileSession.getCurrentDriver(), this.scriptAppender, this.locator, this.request.platform, this.adbPath, this.stepsInputData);
|
|
109
111
|
}
|
|
110
112
|
}
|
|
111
113
|
exports.ExecutionContext = ExecutionContext;
|
|
@@ -8,5 +8,6 @@ export declare class AutomationRunner implements IAutomationRunner {
|
|
|
8
8
|
static updateSessionTerminationInfo(testCaseId: string): void;
|
|
9
9
|
static normalizeScriptType(scriptType?: string): string;
|
|
10
10
|
private cleanup;
|
|
11
|
+
private saveSessionStepData;
|
|
11
12
|
run(request: AutomationRequest): Promise<void>;
|
|
12
13
|
}
|