donobu 2.18.0 → 2.18.2
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/assets/generated/version +1 -1
- package/dist/clients/GoogleGptClient.d.ts.map +1 -1
- package/dist/clients/GoogleGptClient.js +0 -2
- package/dist/clients/GoogleGptClient.js.map +1 -1
- package/dist/esm/assets/generated/version +1 -1
- package/dist/esm/clients/GoogleGptClient.d.ts.map +1 -1
- package/dist/esm/clients/GoogleGptClient.js +0 -2
- package/dist/esm/clients/GoogleGptClient.js.map +1 -1
- package/dist/esm/lib/testExtension.d.ts.map +1 -1
- package/dist/esm/lib/testExtension.js +10 -15
- package/dist/esm/lib/testExtension.js.map +1 -1
- package/dist/esm/lib/utils/TestFileUpdater.d.ts +56 -0
- package/dist/esm/lib/utils/TestFileUpdater.d.ts.map +1 -0
- package/dist/esm/lib/utils/TestFileUpdater.js +224 -0
- package/dist/esm/lib/utils/TestFileUpdater.js.map +1 -0
- package/dist/esm/lib/utils/donobuTestStack.d.ts +0 -4
- package/dist/esm/lib/utils/donobuTestStack.d.ts.map +1 -1
- package/dist/esm/lib/utils/donobuTestStack.js +0 -1
- package/dist/esm/lib/utils/donobuTestStack.js.map +1 -1
- package/dist/esm/lib/utils/selfHealing.d.ts.map +1 -1
- package/dist/esm/lib/utils/selfHealing.js +53 -2
- package/dist/esm/lib/utils/selfHealing.js.map +1 -1
- package/dist/lib/testExtension.d.ts.map +1 -1
- package/dist/lib/testExtension.js +10 -15
- package/dist/lib/testExtension.js.map +1 -1
- package/dist/lib/utils/TestFileUpdater.d.ts +56 -0
- package/dist/lib/utils/TestFileUpdater.d.ts.map +1 -0
- package/dist/lib/utils/TestFileUpdater.js +224 -0
- package/dist/lib/utils/TestFileUpdater.js.map +1 -0
- package/dist/lib/utils/donobuTestStack.d.ts +0 -4
- package/dist/lib/utils/donobuTestStack.d.ts.map +1 -1
- package/dist/lib/utils/donobuTestStack.js +0 -1
- package/dist/lib/utils/donobuTestStack.js.map +1 -1
- package/dist/lib/utils/selfHealing.d.ts.map +1 -1
- package/dist/lib/utils/selfHealing.js +53 -2
- package/dist/lib/utils/selfHealing.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,8 +2,54 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.selfHeal = selfHeal;
|
|
4
4
|
const donobuTestStack_1 = require("./donobuTestStack");
|
|
5
|
-
const TestFileUpdater_1 = require("
|
|
5
|
+
const TestFileUpdater_1 = require("./TestFileUpdater");
|
|
6
6
|
const Logger_1 = require("../../utils/Logger");
|
|
7
|
+
const AnalyzePageTextTool_1 = require("../../tools/AnalyzePageTextTool");
|
|
8
|
+
const AssertPageTextTool_1 = require("../../tools/AssertPageTextTool");
|
|
9
|
+
const AssertTool_1 = require("../../tools/AssertTool");
|
|
10
|
+
const ChangeWebBrowserTabTool_1 = require("../../tools/ChangeWebBrowserTabTool");
|
|
11
|
+
const ChooseSelectOptionTool_1 = require("../../tools/ChooseSelectOptionTool");
|
|
12
|
+
const ClickTool_1 = require("../../tools/ClickTool");
|
|
13
|
+
const CreateBrowserCookieReportTool_1 = require("../../tools/CreateBrowserCookieReportTool");
|
|
14
|
+
const DetectBrokenLinksTool_1 = require("../../tools/DetectBrokenLinksTool");
|
|
15
|
+
const GoForwardOrBackTool_1 = require("../../tools/GoForwardOrBackTool");
|
|
16
|
+
const GoToWebpageTool_1 = require("../../tools/GoToWebpageTool");
|
|
17
|
+
const HandleBrowserDialogTool_1 = require("../../tools/HandleBrowserDialogTool");
|
|
18
|
+
const HoverOverElementTool_1 = require("../../tools/HoverOverElementTool");
|
|
19
|
+
const InputRandomizedEmailAddressTool_1 = require("../../tools/InputRandomizedEmailAddressTool");
|
|
20
|
+
const InputTextTool_1 = require("../../tools/InputTextTool");
|
|
21
|
+
const MarkObjectiveCompleteTool_1 = require("../../tools/MarkObjectiveCompleteTool");
|
|
22
|
+
const MarkObjectiveNotCompletableTool_1 = require("../../tools/MarkObjectiveNotCompletableTool");
|
|
23
|
+
const PressKeyTool_1 = require("../../tools/PressKeyTool");
|
|
24
|
+
const RunAccessibilityTestTool_1 = require("../../tools/RunAccessibilityTestTool");
|
|
25
|
+
const ScrollPageTool_1 = require("../../tools/ScrollPageTool");
|
|
26
|
+
const SummarizeLearningsTool_1 = require("../../tools/SummarizeLearningsTool");
|
|
27
|
+
const WaitTool_1 = require("../../tools/WaitTool");
|
|
28
|
+
const SolveMfaChallenge_1 = require("../../tools/SolveMfaChallenge");
|
|
29
|
+
const DEFAULT_TOOLS_FOR_SELF_HEALING = [
|
|
30
|
+
AnalyzePageTextTool_1.AnalyzePageTextTool.NAME,
|
|
31
|
+
AssertTool_1.AssertTool.NAME,
|
|
32
|
+
AssertPageTextTool_1.AssertPageTextTool.NAME,
|
|
33
|
+
CreateBrowserCookieReportTool_1.CreateBrowserCookieReportTool.NAME,
|
|
34
|
+
ChangeWebBrowserTabTool_1.ChangeWebBrowserTabTool.NAME,
|
|
35
|
+
ChooseSelectOptionTool_1.ChooseSelectOptionTool.NAME,
|
|
36
|
+
ClickTool_1.ClickTool.NAME,
|
|
37
|
+
DetectBrokenLinksTool_1.DetectBrokenLinksTool.NAME,
|
|
38
|
+
GoForwardOrBackTool_1.GoForwardOrBackTool.NAME,
|
|
39
|
+
GoToWebpageTool_1.GoToWebpageTool.NAME,
|
|
40
|
+
HandleBrowserDialogTool_1.HandleBrowserDialogTool.NAME,
|
|
41
|
+
HoverOverElementTool_1.HoverOverElementTool.NAME,
|
|
42
|
+
InputRandomizedEmailAddressTool_1.InputRandomizedEmailAddressTool.NAME,
|
|
43
|
+
InputTextTool_1.InputTextTool.NAME,
|
|
44
|
+
MarkObjectiveCompleteTool_1.MarkObjectiveCompleteTool.NAME,
|
|
45
|
+
MarkObjectiveNotCompletableTool_1.MarkObjectiveNotCompletableTool.NAME,
|
|
46
|
+
PressKeyTool_1.PressKeyTool.NAME,
|
|
47
|
+
RunAccessibilityTestTool_1.RunAccessibilityTestTool.NAME,
|
|
48
|
+
SolveMfaChallenge_1.SolveMfaChallengeTool.NAME,
|
|
49
|
+
ScrollPageTool_1.ScrollPageTool.NAME,
|
|
50
|
+
SummarizeLearningsTool_1.SummarizeLearningsTool.NAME,
|
|
51
|
+
WaitTool_1.WaitTool.NAME,
|
|
52
|
+
];
|
|
7
53
|
/**
|
|
8
54
|
* Self-heals a test that has failed by creating and running a new autonomous
|
|
9
55
|
* flow using the same objective of the failed test. If the new flow is
|
|
@@ -26,6 +72,11 @@ async function selfHeal(gptClient, testInfo, donobuFlowMetadata) {
|
|
|
26
72
|
testInfo.setTimeout(testInfo.timeout + selfHealTimeoutMs);
|
|
27
73
|
Logger_1.appLogger.info(`Extending the test timeout ${selfHealTimeoutMs}ms for self-healing...`);
|
|
28
74
|
Logger_1.appLogger.info('Attempting to self-heal by creating a new autonomous flow...');
|
|
75
|
+
// Always add the default tools to the allowed tools for self-healing.
|
|
76
|
+
const allowedTools = donobuFlowMetadata.allowedTools
|
|
77
|
+
? [...donobuFlowMetadata.allowedTools, ...DEFAULT_TOOLS_FOR_SELF_HEALING]
|
|
78
|
+
: DEFAULT_TOOLS_FOR_SELF_HEALING;
|
|
79
|
+
// Create a new autonomous flow with the same objective as the failed test.
|
|
29
80
|
const newFlow = await donobu.flowsManager.createFlow({
|
|
30
81
|
targetWebsite: donobuFlowMetadata.targetWebsite,
|
|
31
82
|
overallObjective: donobuFlowMetadata.overallObjective,
|
|
@@ -39,7 +90,7 @@ async function selfHeal(gptClient, testInfo, donobuFlowMetadata) {
|
|
|
39
90
|
defaultMessageDuration: undefined,
|
|
40
91
|
initialRunMode: 'AUTONOMOUS',
|
|
41
92
|
isControlPanelEnabled: false,
|
|
42
|
-
allowedTools:
|
|
93
|
+
allowedTools: allowedTools,
|
|
43
94
|
toolCallsOnStart: undefined,
|
|
44
95
|
resultJsonSchema: undefined,
|
|
45
96
|
}, gptClient);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selfHealing.js","sourceRoot":"","sources":["../../../src/lib/utils/selfHealing.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"selfHealing.js","sourceRoot":"","sources":["../../../src/lib/utils/selfHealing.ts"],"names":[],"mappings":"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"}
|