ff-automationv2 2.2.24 → 2.2.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/llmprompts/systemPrompts/actionExtractorPrompt.js +2 -2
- package/dist/ai/llmprompts/systemPrompts/errorDescriptionPrompt.js +1 -1
- package/dist/ai/llmprompts/systemPrompts/fireflinkElementIndexExtactors.js +1 -1
- package/dist/ai/llmprompts/systemPrompts/fireflinkElementIndexExtractor_Mob.js +1 -1
- package/dist/ai/llmprompts/systemPrompts/getActionExtractorPrompt.js +3 -3
- package/dist/ai/llmprompts/systemPrompts/verifyActionExtractorPrompt.js +4 -2
- package/dist/ai/llmprompts/systemPrompts/visionPrompt.js +1 -0
- package/dist/automation/actions/executor.d.ts +1 -1
- package/dist/automation/actions/executor.js +2 -1
- package/dist/automation/actions/interaction/clear/clear.js +1 -1
- package/dist/automation/actions/interaction/clear/clearAndEnter.js +1 -1
- package/dist/automation/actions/interaction/click/click.js +1 -1
- package/dist/automation/actions/interaction/click/clickNtimes.js +1 -1
- package/dist/automation/actions/interaction/click/doubleClick.js +1 -1
- package/dist/automation/actions/interaction/click/waitAndClick.js +1 -1
- package/dist/automation/actions/interaction/dragAndDrop/dragAndDrop.js +1 -1
- package/dist/automation/actions/interaction/enterActions/EnterInputIntoElementFromClipBoardInterface_mob.js +1 -1
- package/dist/automation/actions/interaction/enterActions/enterInput.js +1 -1
- package/dist/automation/actions/interaction/enterActions/enterInputAndPress.js +1 -1
- package/dist/automation/actions/interaction/find/MOB_FindElement.js +2 -2
- package/dist/automation/actions/interaction/find/findElements.js +3 -4
- package/dist/automation/actions/interaction/get/MOB_GetHeightOfElement.js +1 -1
- package/dist/automation/actions/interaction/get/MOB_GetTextFromElementAndSetToClipBoard.js +1 -1
- package/dist/automation/actions/interaction/get/MOB_GetWidthOfElement.js +1 -1
- package/dist/automation/actions/interaction/get/getAttribute.js +1 -1
- package/dist/automation/actions/interaction/get/getListOfElementsFromLocatorTypeLocatorValue.js +1 -1
- package/dist/automation/actions/interaction/get/getLocation.js +1 -1
- package/dist/automation/actions/interaction/get/getRect.js +2 -2
- package/dist/automation/actions/interaction/get/getSize.js +1 -1
- package/dist/automation/actions/interaction/get/getSizeOfBrowserWindow.js +3 -0
- package/dist/automation/actions/interaction/get/getTagName.js +1 -1
- package/dist/automation/actions/interaction/get/getText.js +1 -1
- package/dist/automation/actions/interaction/get/getWidthOfWebElement.js +2 -0
- package/dist/automation/actions/interaction/get/getXLocationOfBrowserWindow.js +2 -0
- package/dist/automation/actions/interaction/get/getXLocationOfWebElement.js +1 -1
- package/dist/automation/actions/interaction/get/getYLocationOfWebElement.js +1 -1
- package/dist/automation/actions/interaction/maximize/maximize.js +2 -2
- package/dist/automation/actions/interaction/pinch/PinchInByPercentMob.js +3 -3
- package/dist/automation/actions/interaction/pinch/PinchOutByPercentMob.js +1 -3
- package/dist/automation/actions/interaction/press/longPress.js +1 -1
- package/dist/automation/actions/interaction/swipe/swipeDownToElement.js +6 -9
- package/dist/automation/actions/interaction/swipe/swipeLeftToElement.js +6 -9
- package/dist/automation/actions/interaction/swipe/swipeRightToElement.js +6 -9
- package/dist/automation/actions/interaction/swipe/swipeUpToElement.js +6 -9
- package/dist/automation/actions/interaction/swipe/swipeUpToElementForMWeb.js +5 -5
- package/dist/automation/actions/interaction/swipe/swipeUsingReferenceElement.js +71 -76
- package/dist/automation/actions/interaction/verify/VerifyAllOptionsAreDeSelected.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyCheckBoxIsNotSelected.js +2 -1
- package/dist/automation/actions/interaction/verify/VerifyElementIsClickable.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyElementIsDisabled.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyElementIsDisplayed.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyElementIsEnabled.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyElementIsSelected.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyElementNotContainsText.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyHeightOfWebElement.js +2 -2
- package/dist/automation/actions/interaction/verify/VerifyIfXAndYCoordinateOfElement.js +5 -5
- package/dist/automation/actions/interaction/verify/VerifyNumberOfElementsByTagName.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyNumberOfElementsByXpath.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyWidthOfElement.js +3 -3
- package/dist/automation/actions/interaction/verify/VerifyXLocationOfElement.js +3 -3
- package/dist/automation/actions/interaction/verify/VerifyYLocationOfElement.js +3 -3
- package/dist/automation/actions/interaction/verify/verifypartialtext.js +1 -1
- package/dist/automation/actions/interaction/verify/verifytext.js +1 -1
- package/dist/automation/actions/interaction/wait/MOB_WaitTillAttributeOfElementContainsString.js +1 -1
- package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsEnabled.js +1 -1
- package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsInvisible.js +1 -1
- package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsSelected.js +1 -1
- package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsVisible.js +1 -1
- package/dist/automation/actions/interaction/wait/MOB_WaitTillStalenessOfElement.js +1 -1
- package/dist/automation/actions/interface/verifyActionInterface.d.ts +1 -0
- package/dist/automation/mobileSession/initiateMobileSession.d.ts +2 -1
- package/dist/automation/mobileSession/initiateMobileSession.js +4 -3
- package/dist/core/constants/allAction.js +1 -0
- package/dist/core/constants/supportedActions.js +29 -2
- package/dist/core/interfaces/actionInterface.d.ts +1 -1
- package/dist/core/interfaces/executionDetails.d.ts +1 -0
- package/dist/core/interfaces/llmConfigurationInterface.d.ts +1 -1
- package/dist/core/main/actionHandlerFactory.js +6 -3
- package/dist/core/main/executionContext.js +1 -1
- package/dist/core/main/runAutomationScript.js +21 -21
- package/dist/imageAnalysisMobile/annotatedScreenshotMobile.js +1 -1
- package/dist/imageAnalysisWeb/annotateScreenshot.js +1 -1
- package/dist/llmConfig/llmConfiguration.d.ts +1 -2
- package/dist/llmConfig/llmConfiguration.js +15 -13
- package/dist/tests/test1.d.ts +1 -7
- package/dist/tests/test1.js +29 -11
- package/dist/tests/test12.d.ts +0 -1
- package/dist/tests/test12.js +73 -72
- package/dist/tests/testkaf.d.ts +1 -0
- package/dist/tests/testkaf.js +56 -0
- package/dist/tests/testwe.d.ts +1 -0
- package/dist/tests/testwe.js +24 -0
- package/dist/utils/DomExtraction/jsForAttributeInjection.d.ts +1 -1
- package/dist/utils/DomExtraction/jsForAttributeInjection.js +11 -7
- package/dist/utils/InstancesDetails/getInstancesInfo.js +2 -1
- package/dist/utils/swipe/domSearchHelper.d.ts +1 -1
- package/dist/utils/swipe/domSearchHelper.js +45 -21
- package/package.json +5 -4
|
@@ -2,29 +2,53 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.findElementInDom = findElementInDom;
|
|
4
4
|
const jsForAttributeInjection_js_1 = require("../DomExtraction/jsForAttributeInjection.js");
|
|
5
|
-
const simplifyAndFlatten_js_1 = require("../../domAnalysis/simplifyAndFlatten.js");
|
|
6
5
|
const xpathcreation_js_1 = require("../helpers/xpathcreation.js");
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const
|
|
6
|
+
const getRelaventElements_js_1 = require("../../domAnalysis/getRelaventElements.js");
|
|
7
|
+
const logData_js_1 = require("../logger/logData.js");
|
|
8
|
+
async function findElementInDom(driver, text, stepCount, rawdom) {
|
|
9
|
+
const engine = new getRelaventElements_js_1.DomProcessingEngine();
|
|
10
|
+
const { dom: annotatedDom } = await (0, jsForAttributeInjection_js_1.getAnnotatedDOMForMobile)(driver, rawdom);
|
|
11
|
+
logData_js_1.logger.saveDOM(annotatedDom, `annotated-dom-${100 + stepCount}`);
|
|
12
|
+
const results = engine.mobileProcess({
|
|
13
|
+
keywords: text,
|
|
14
|
+
rawDom: annotatedDom,
|
|
15
|
+
stepCount: 100 + stepCount
|
|
16
|
+
});
|
|
17
|
+
logData_js_1.logger.saveJSON(results, `relevant-dom-Mob-${100 + stepCount}`);
|
|
18
|
+
const keywords = text.toLowerCase().split(/\s+/);
|
|
19
|
+
function exactSequenceMatch(value, words) {
|
|
20
|
+
const v = (value || "").toLowerCase();
|
|
21
|
+
const escaped = words.map(w => w.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"));
|
|
22
|
+
const pattern = escaped.join("\\s*");
|
|
23
|
+
return new RegExp(pattern).test(v);
|
|
24
|
+
}
|
|
25
|
+
function matchNode(node, words) {
|
|
22
26
|
const textVal = (node["text"] || "").toLowerCase();
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
// const desc = (node.name || "").toLowerCase();
|
|
28
|
+
// const value = (node.value || "").toLowerCase();
|
|
29
|
+
const contentDesc = (node["content-desc"] ||
|
|
30
|
+
node.contentDesc ||
|
|
31
|
+
node.contentDescription ||
|
|
32
|
+
"").toLowerCase();
|
|
33
|
+
const resourceId = (node["resource-id"] ||
|
|
34
|
+
node.resourceId ||
|
|
35
|
+
node.id ||
|
|
36
|
+
"").toLowerCase();
|
|
37
|
+
logData_js_1.logger.info(`contentdesc is ${contentDesc}, Resource id is ${resourceId} the text is ${words}`);
|
|
38
|
+
if (exactSequenceMatch(textVal, words))
|
|
39
|
+
return true;
|
|
40
|
+
// if (exactSequenceMatch(desc, words)) return true;
|
|
41
|
+
// if (exactSequenceMatch(value, words)) return true;
|
|
42
|
+
if (exactSequenceMatch(contentDesc, words))
|
|
43
|
+
return true;
|
|
44
|
+
if (exactSequenceMatch(resourceId, words))
|
|
45
|
+
return true;
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
for (const group of results) {
|
|
49
|
+
for (const node of group) {
|
|
50
|
+
if (!matchNode(node, keywords))
|
|
51
|
+
continue;
|
|
28
52
|
const ffIndex = node["FF-inspecter"];
|
|
29
53
|
if (!ffIndex)
|
|
30
54
|
continue;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ff-automationv2",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.25",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"description": "This lib is used to automate the manual testcase",
|
|
@@ -16,6 +16,9 @@
|
|
|
16
16
|
"files": [
|
|
17
17
|
"dist"
|
|
18
18
|
],
|
|
19
|
+
"overrides": {
|
|
20
|
+
"canvas": "@napi-rs/canvas"
|
|
21
|
+
},
|
|
19
22
|
"scripts": {
|
|
20
23
|
"type-check": "tsc --noEmit",
|
|
21
24
|
"builds": "npm run lint && tsc",
|
|
@@ -53,10 +56,8 @@
|
|
|
53
56
|
"typescript-eslint": "8.56.0",
|
|
54
57
|
"webdriverio": "9.26.1"
|
|
55
58
|
},
|
|
56
|
-
"peerDependencies": {
|
|
57
|
-
"canvas": "^3.2.3"
|
|
58
|
-
},
|
|
59
59
|
"dependencies": {
|
|
60
|
+
"@napi-rs/canvas": "^0.1.100",
|
|
60
61
|
"@xmldom/xmldom": "^0.8.11",
|
|
61
62
|
"axios": "^1.13.5",
|
|
62
63
|
"cheerio": "1.2.0",
|