@sudobility/testomniac_runner_service 0.1.39 → 0.1.42
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/CLAUDE.md +85 -331
- package/README.md +4 -8
- package/dist/analyzer/page-analyzer.d.ts +25 -19
- package/dist/analyzer/page-analyzer.d.ts.map +1 -1
- package/dist/analyzer/page-analyzer.js +172 -85
- package/dist/analyzer/page-analyzer.js.map +1 -1
- package/dist/api/client.d.ts +22 -24
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +58 -68
- package/dist/api/client.js.map +1 -1
- package/dist/detectors/action-description.d.ts +1 -1
- package/dist/detectors/action-description.d.ts.map +1 -1
- package/dist/detectors/action-description.js +1 -1
- package/dist/detectors/action-description.js.map +1 -1
- package/dist/detectors/index.d.ts +1 -1
- package/dist/detectors/index.d.ts.map +1 -1
- package/dist/detectors/index.js +1 -1
- package/dist/detectors/index.js.map +1 -1
- package/dist/domain/types.d.ts +1 -1
- package/dist/domain/types.d.ts.map +1 -1
- package/dist/expertise/tester-expertise.d.ts +1 -1
- package/dist/expertise/tester-expertise.js +1 -1
- package/dist/generation/e2e.d.ts +2 -2
- package/dist/generation/e2e.d.ts.map +1 -1
- package/dist/generation/e2e.js +3 -3
- package/dist/generation/e2e.js.map +1 -1
- package/dist/generation/form-negative.d.ts +2 -2
- package/dist/generation/form-negative.d.ts.map +1 -1
- package/dist/generation/form-negative.js +3 -3
- package/dist/generation/form-negative.js.map +1 -1
- package/dist/generation/form.d.ts +2 -2
- package/dist/generation/form.d.ts.map +1 -1
- package/dist/generation/form.js +3 -3
- package/dist/generation/form.js.map +1 -1
- package/dist/generation/generator.d.ts +2 -2
- package/dist/generation/generator.d.ts.map +1 -1
- package/dist/generation/generator.js +2 -2
- package/dist/generation/generator.js.map +1 -1
- package/dist/generation/interaction.d.ts +2 -2
- package/dist/generation/interaction.d.ts.map +1 -1
- package/dist/generation/interaction.js +3 -3
- package/dist/generation/interaction.js.map +1 -1
- package/dist/generation/navigation.d.ts +2 -2
- package/dist/generation/navigation.d.ts.map +1 -1
- package/dist/generation/navigation.js +3 -3
- package/dist/generation/navigation.js.map +1 -1
- package/dist/generation/password.d.ts +4 -4
- package/dist/generation/password.d.ts.map +1 -1
- package/dist/generation/password.js +3 -3
- package/dist/generation/password.js.map +1 -1
- package/dist/generation/playwright-export.d.ts +2 -2
- package/dist/generation/playwright-export.d.ts.map +1 -1
- package/dist/generation/playwright-export.js +3 -3
- package/dist/generation/playwright-export.js.map +1 -1
- package/dist/generation/render.d.ts +7 -7
- package/dist/generation/render.d.ts.map +1 -1
- package/dist/generation/render.js +3 -3
- package/dist/generation/render.js.map +1 -1
- package/dist/generation/surface-tagger.d.ts +4 -0
- package/dist/generation/surface-tagger.d.ts.map +1 -0
- package/dist/generation/{suite-tagger.js → surface-tagger.js} +2 -2
- package/dist/generation/surface-tagger.js.map +1 -0
- package/dist/index.d.ts +5 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -7
- package/dist/index.js.map +1 -1
- package/dist/orchestrator/runner.d.ts +2 -3
- package/dist/orchestrator/runner.d.ts.map +1 -1
- package/dist/orchestrator/runner.js +32 -37
- package/dist/orchestrator/runner.js.map +1 -1
- package/dist/orchestrator/test-element-executor.d.ts +15 -0
- package/dist/orchestrator/test-element-executor.d.ts.map +1 -0
- package/dist/orchestrator/{test-case-executor.js → test-element-executor.js} +81 -51
- package/dist/orchestrator/test-element-executor.js.map +1 -0
- package/dist/orchestrator/types.d.ts +4 -19
- package/dist/orchestrator/types.d.ts.map +1 -1
- package/dist/planners/fill-value-planner.js +1 -1
- package/dist/planners/fill-value-planner.js.map +1 -1
- package/package.json +3 -3
- package/dist/generation/suite-tagger.d.ts +0 -4
- package/dist/generation/suite-tagger.d.ts.map +0 -1
- package/dist/generation/suite-tagger.js.map +0 -1
- package/dist/orchestrator/decomposition.d.ts +0 -10
- package/dist/orchestrator/decomposition.d.ts.map +0 -1
- package/dist/orchestrator/decomposition.js +0 -658
- package/dist/orchestrator/decomposition.js.map +0 -1
- package/dist/orchestrator/direct-navigation.d.ts +0 -4
- package/dist/orchestrator/direct-navigation.d.ts.map +0 -1
- package/dist/orchestrator/direct-navigation.js +0 -47
- package/dist/orchestrator/direct-navigation.js.map +0 -1
- package/dist/orchestrator/discovery.d.ts +0 -10
- package/dist/orchestrator/discovery.d.ts.map +0 -1
- package/dist/orchestrator/discovery.js +0 -77
- package/dist/orchestrator/discovery.js.map +0 -1
- package/dist/orchestrator/expertise.d.ts +0 -5
- package/dist/orchestrator/expertise.d.ts.map +0 -1
- package/dist/orchestrator/expertise.js +0 -168
- package/dist/orchestrator/expertise.js.map +0 -1
- package/dist/orchestrator/orchestrator.d.ts +0 -5
- package/dist/orchestrator/orchestrator.d.ts.map +0 -1
- package/dist/orchestrator/orchestrator.js +0 -172
- package/dist/orchestrator/orchestrator.js.map +0 -1
- package/dist/orchestrator/page-capture.d.ts +0 -22
- package/dist/orchestrator/page-capture.d.ts.map +0 -1
- package/dist/orchestrator/page-capture.js +0 -112
- package/dist/orchestrator/page-capture.js.map +0 -1
- package/dist/orchestrator/test-case-executor.d.ts +0 -15
- package/dist/orchestrator/test-case-executor.d.ts.map +0 -1
- package/dist/orchestrator/test-case-executor.js.map +0 -1
- package/dist/orchestrator/test-execution.d.ts +0 -5
- package/dist/orchestrator/test-execution.d.ts.map +0 -1
- package/dist/orchestrator/test-execution.js +0 -254
- package/dist/orchestrator/test-execution.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SizeClass } from "../domain/types";
|
|
2
|
-
import type {
|
|
2
|
+
import type { LegacyGeneratedTestElement } from "./render";
|
|
3
3
|
interface NavigationInput {
|
|
4
4
|
fromPageName: string;
|
|
5
5
|
toPageName: string;
|
|
@@ -9,6 +9,6 @@ interface NavigationInput {
|
|
|
9
9
|
priority: string;
|
|
10
10
|
triggerSelector: string;
|
|
11
11
|
}
|
|
12
|
-
export declare function generateNavigationTest(input: NavigationInput):
|
|
12
|
+
export declare function generateNavigationTest(input: NavigationInput): LegacyGeneratedTestElement;
|
|
13
13
|
export {};
|
|
14
14
|
//# sourceMappingURL=navigation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/generation/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/generation/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAG3D,UAAU,eAAe;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,eAAe,GACrB,0BAA0B,CAkB5B"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { assignSurfaceTags } from "./surface-tagger";
|
|
2
2
|
export function generateNavigationTest(input) {
|
|
3
3
|
const pattern = new URL(input.toUrl).pathname;
|
|
4
4
|
return {
|
|
5
|
-
|
|
5
|
+
testElement: {
|
|
6
6
|
name: `Navigation — ${input.fromPageName} → ${input.toPageName}`,
|
|
7
7
|
type: "navigation",
|
|
8
8
|
sizeClass: input.sizeClass,
|
|
9
|
-
|
|
9
|
+
surface_tags: assignSurfaceTags("navigation", input.priority),
|
|
10
10
|
priority: input.priority,
|
|
11
11
|
},
|
|
12
12
|
actions: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/generation/navigation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/generation/navigation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAYrD,MAAM,UAAU,sBAAsB,CACpC,KAAsB;IAEtB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;IAC9C,OAAO;QACL,WAAW,EAAE;YACX,IAAI,EAAE,gBAAgB,KAAK,CAAC,YAAY,MAAM,KAAK,CAAC,UAAU,EAAE;YAChE,IAAI,EAAE,YAAY;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,YAAY,EAAE,iBAAiB,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC;YAC7D,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB;QACD,OAAO,EAAE;YACP,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE;YAC1C,EAAE,MAAM,EAAE,aAAa,EAAE;YACzB,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,eAAe,EAAE;YACpD,EAAE,MAAM,EAAE,mBAAmB,EAAE;YAC/B,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE;SACjC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SizeClass } from "../domain/types";
|
|
2
|
-
import type {
|
|
3
|
-
export interface
|
|
2
|
+
import type { LegacyGeneratedTestElement } from "./render";
|
|
3
|
+
export interface PasswordTestElement {
|
|
4
4
|
password: string;
|
|
5
5
|
description: string;
|
|
6
6
|
shouldFail: boolean;
|
|
@@ -13,8 +13,8 @@ interface PasswordTestInput {
|
|
|
13
13
|
passwordSelector: string;
|
|
14
14
|
submitSelector?: string;
|
|
15
15
|
emailValue: string;
|
|
16
|
-
|
|
16
|
+
passwordElements: PasswordTestElement[];
|
|
17
17
|
}
|
|
18
|
-
export declare function generatePasswordTests(input: PasswordTestInput):
|
|
18
|
+
export declare function generatePasswordTests(input: PasswordTestInput): LegacyGeneratedTestElement[];
|
|
19
19
|
export {};
|
|
20
20
|
//# sourceMappingURL=password.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"password.d.ts","sourceRoot":"","sources":["../../src/generation/password.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"password.d.ts","sourceRoot":"","sources":["../../src/generation/password.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,iBAAiB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,mBAAmB,EAAE,CAAC;CACzC;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,iBAAiB,GACvB,0BAA0B,EAAE,CA4C9B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export function generatePasswordTests(input) {
|
|
2
|
-
const sorted = [...input.
|
|
2
|
+
const sorted = [...input.passwordElements].sort((a, b) => {
|
|
3
3
|
if (a.shouldFail && !b.shouldFail)
|
|
4
4
|
return -1;
|
|
5
5
|
if (!a.shouldFail && b.shouldFail)
|
|
@@ -31,11 +31,11 @@ export function generatePasswordTests(input) {
|
|
|
31
31
|
actions.push({ action: "assertUrlChanged" });
|
|
32
32
|
}
|
|
33
33
|
return {
|
|
34
|
-
|
|
34
|
+
testElement: {
|
|
35
35
|
name: `Password ${pc.shouldFail ? "Fail" : "Pass"} — ${input.pageName} (${pc.description})`,
|
|
36
36
|
type: "form",
|
|
37
37
|
sizeClass: input.sizeClass,
|
|
38
|
-
|
|
38
|
+
surface_tags: ["regression"],
|
|
39
39
|
priority: "high",
|
|
40
40
|
},
|
|
41
41
|
actions,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"password.js","sourceRoot":"","sources":["../../src/generation/password.ts"],"names":[],"mappings":"AAoBA,MAAM,UAAU,qBAAqB,CACnC,KAAwB;IAExB,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"password.js","sourceRoot":"","sources":["../../src/generation/password.ts"],"names":[],"mappings":"AAoBA,MAAM,UAAU,qBAAqB,CACnC,KAAwB;IAExB,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACvD,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,UAAU;YAAE,OAAO,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU;YAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QACrB,MAAM,OAAO,GAAuB;YAClC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE;YACtC,EAAE,MAAM,EAAE,aAAa,EAAE;YACzB;gBACE,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,KAAK,CAAC,aAAa;gBAC7B,KAAK,EAAE,KAAK,CAAC,UAAU;aACxB;YACD,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,gBAAgB,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,EAAE;SACzE,CAAC;QAEF,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM,EAAE,WAAW;gBACnB,OAAO,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ;aACrC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO;YACL,WAAW,EAAE;gBACX,IAAI,EAAE,YAAY,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,KAAK,CAAC,QAAQ,KAAK,EAAE,CAAC,WAAW,GAAG;gBAC3F,IAAI,EAAE,MAAe;gBACrB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,YAAY,EAAE,CAAC,YAAY,CAAC;gBAC5B,QAAQ,EAAE,MAAM;aACjB;YACD,OAAO;SACR,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function exportAsPlaywrightScript(
|
|
1
|
+
import type { TestElement } from "../domain/types";
|
|
2
|
+
export declare function exportAsPlaywrightScript(testElement: TestElement): string;
|
|
3
3
|
//# sourceMappingURL=playwright-export.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playwright-export.d.ts","sourceRoot":"","sources":["../../src/generation/playwright-export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"playwright-export.d.ts","sourceRoot":"","sources":["../../src/generation/playwright-export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAoBzE"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export function exportAsPlaywrightScript(
|
|
1
|
+
export function exportAsPlaywrightScript(testElement) {
|
|
2
2
|
const lines = [
|
|
3
3
|
"import { test, expect } from '@playwright/test';",
|
|
4
4
|
"",
|
|
5
|
-
`test('${escapeSingleQuotes(
|
|
5
|
+
`test('${escapeSingleQuotes(testElement.title)}', async ({ page }) => {`,
|
|
6
6
|
];
|
|
7
|
-
for (const step of
|
|
7
|
+
for (const step of testElement.steps) {
|
|
8
8
|
// Emit the action
|
|
9
9
|
lines.push(` ${step.action.playwrightCode}`);
|
|
10
10
|
// Emit expectations
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playwright-export.js","sourceRoot":"","sources":["../../src/generation/playwright-export.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,wBAAwB,CAAC,
|
|
1
|
+
{"version":3,"file":"playwright-export.js","sourceRoot":"","sources":["../../src/generation/playwright-export.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,wBAAwB,CAAC,WAAwB;IAC/D,MAAM,KAAK,GAAa;QACtB,kDAAkD;QAClD,EAAE;QACF,SAAS,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,0BAA0B;KACzE,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QACrC,kBAAkB;QAClB,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;QAE9C,oBAAoB;QACpB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,kBAAkB,CAAC,CAAS;IACnC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export interface
|
|
3
|
-
|
|
1
|
+
import type { TestElement, LegacyTestElement, LegacyTestAction, SizeClass } from "../domain/types";
|
|
2
|
+
export interface GeneratedTestElement {
|
|
3
|
+
testElement: TestElement;
|
|
4
4
|
}
|
|
5
|
-
/** @deprecated Use
|
|
6
|
-
export interface
|
|
7
|
-
|
|
5
|
+
/** @deprecated Use GeneratedTestElement instead */
|
|
6
|
+
export interface LegacyGeneratedTestElement {
|
|
7
|
+
testElement: LegacyTestElement;
|
|
8
8
|
actions: LegacyTestAction[];
|
|
9
9
|
}
|
|
10
10
|
export interface RenderElement {
|
|
@@ -24,6 +24,6 @@ interface RenderInput {
|
|
|
24
24
|
priority: number;
|
|
25
25
|
elements: RenderElement[];
|
|
26
26
|
}
|
|
27
|
-
export declare function generateRenderTest(input: RenderInput):
|
|
27
|
+
export declare function generateRenderTest(input: RenderInput): GeneratedTestElement;
|
|
28
28
|
export {};
|
|
29
29
|
//# sourceMappingURL=render.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/generation/render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/generation/render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAGhB,SAAS,EACV,MAAM,iBAAiB,CAAC;AAQzB,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,mDAAmD;AACnD,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,iBAAiB,CAAC;IAC/B,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,oBAAoB,CA+F3E"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PlaywrightAction, ExpectationType, ExpectationSeverity, } from "../domain/types";
|
|
2
|
-
import {
|
|
2
|
+
import { assignSurfaceTags } from "./surface-tagger";
|
|
3
3
|
export function generateRenderTest(input) {
|
|
4
4
|
const steps = [];
|
|
5
5
|
// Step 1: Navigate
|
|
@@ -64,11 +64,11 @@ export function generateRenderTest(input) {
|
|
|
64
64
|
continueOnFailure: true,
|
|
65
65
|
});
|
|
66
66
|
return {
|
|
67
|
-
|
|
67
|
+
testElement: {
|
|
68
68
|
title: `Render — ${input.pageName}`,
|
|
69
69
|
type: "render",
|
|
70
70
|
sizeClass: input.sizeClass,
|
|
71
|
-
|
|
71
|
+
surface_tags: assignSurfaceTags("render", input.priority),
|
|
72
72
|
page_id: input.pageId,
|
|
73
73
|
priority: input.priority,
|
|
74
74
|
startingPageStateId: input.pageStateId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/generation/render.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/generation/render.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"surface-tagger.d.ts","sourceRoot":"","sources":["../../src/generation/surface-tagger.ts"],"names":[],"mappings":"AAEA,4CAA4C;AAC5C,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGnE;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GAAG,MAAM,GACxB,MAAM,EAAE,CAQV"}
|
|
@@ -4,7 +4,7 @@ export function assignPriority(route, title) {
|
|
|
4
4
|
const text = (route + " " + title).toLowerCase();
|
|
5
5
|
return HIGH_PRIORITY_KEYWORDS.some(kw => text.includes(kw)) ? 1 : 2;
|
|
6
6
|
}
|
|
7
|
-
export function
|
|
7
|
+
export function assignSurfaceTags(testType, priority) {
|
|
8
8
|
const isHigh = priority === 1 || priority === "high";
|
|
9
9
|
const tags = ["regression"];
|
|
10
10
|
if (testType === "render" && isHigh)
|
|
@@ -17,4 +17,4 @@ export function assignSuiteTags(testType, priority) {
|
|
|
17
17
|
tags.push("sanity", "smoke");
|
|
18
18
|
return [...new Set(tags)];
|
|
19
19
|
}
|
|
20
|
-
//# sourceMappingURL=
|
|
20
|
+
//# sourceMappingURL=surface-tagger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"surface-tagger.js","sourceRoot":"","sources":["../../src/generation/surface-tagger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,4CAA4C;AAC5C,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,KAAa;IACzD,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,OAAO,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,QAAgB,EAChB,QAAyB;IAEzB,MAAM,MAAM,GAAG,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,MAAM,CAAC;IACrD,MAAM,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IAC5B,IAAI,QAAQ,KAAK,QAAQ,IAAI,MAAM;QAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClE,IAAI,QAAQ,KAAK,MAAM,IAAI,MAAM;QAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,QAAQ,KAAK,YAAY;QAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,QAAQ,KAAK,KAAK;QAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5B,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -29,22 +29,18 @@ export { runAiAnalysis, type AnalyzerOptions } from "./ai/analyzer";
|
|
|
29
29
|
export { generatePersonas, type PersonaResult } from "./ai/persona-generator";
|
|
30
30
|
export { generateUseCases, type UseCaseResult } from "./ai/use-case-generator";
|
|
31
31
|
export { generateInputValues, type InputValueResult, } from "./ai/input-generator";
|
|
32
|
-
export {
|
|
33
|
-
export { assignPriority,
|
|
34
|
-
export { generateRenderTest, type
|
|
32
|
+
export { generateTestElements, type GeneratorOptions, } from "./generation/generator";
|
|
33
|
+
export { assignPriority, assignSurfaceTags } from "./generation/surface-tagger";
|
|
34
|
+
export { generateRenderTest, type GeneratedTestElement, } from "./generation/render";
|
|
35
35
|
export { generateInteractionTest } from "./generation/interaction";
|
|
36
36
|
export { generateFormTest } from "./generation/form";
|
|
37
37
|
export { generateFormNegativeTests } from "./generation/form-negative";
|
|
38
|
-
export { generatePasswordTests, type
|
|
38
|
+
export { generatePasswordTests, type PasswordTestElement, } from "./generation/password";
|
|
39
39
|
export { generateNavigationTest } from "./generation/navigation";
|
|
40
40
|
export { generateE2ETest, enumerateE2EPaths } from "./generation/e2e";
|
|
41
41
|
export { runTestRun } from "./orchestrator/runner";
|
|
42
|
-
export {
|
|
42
|
+
export { executeTestElement } from "./orchestrator/test-element-executor";
|
|
43
43
|
export type { RunConfig, ScanEventHandler, ScanResult, } from "./orchestrator/types";
|
|
44
|
-
export { runScan } from "./orchestrator/orchestrator";
|
|
45
|
-
export { processDecompositionJob } from "./orchestrator/decomposition";
|
|
46
|
-
export { executeTestCases } from "./orchestrator/test-execution";
|
|
47
|
-
export type { ScanConfig } from "./orchestrator/types";
|
|
48
44
|
export { PageAnalyzer, type AnalyzerContext } from "./analyzer";
|
|
49
45
|
export type { Outcome, ExpertiseContext, Expertise } from "./expertise";
|
|
50
46
|
export { TesterExpertise, SeoExpertise, SecurityExpertise, PerformanceExpertise, NoopExpertise, createDefaultExpertises, } from "./expertise";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAGlE,cAAc,0BAA0B,CAAC;AAEzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AAGzC,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,KAAK,sBAAsB,GAC5B,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,MAAM,EACN,aAAa,EACb,kBAAkB,EAClB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,cAAc,aAAa,CAAC;AAG5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AAGvC,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGvD,OAAO,EACL,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,EACzB,UAAU,GACX,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,KAAK,gBAAgB,GACtB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EACL,mBAAmB,EACnB,KAAK,gBAAgB,GACtB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -39,8 +39,8 @@ export { generatePersonas } from "./ai/persona-generator";
|
|
|
39
39
|
export { generateUseCases } from "./ai/use-case-generator";
|
|
40
40
|
export { generateInputValues, } from "./ai/input-generator";
|
|
41
41
|
// Generation (new)
|
|
42
|
-
export {
|
|
43
|
-
export { assignPriority,
|
|
42
|
+
export { generateTestElements, } from "./generation/generator";
|
|
43
|
+
export { assignPriority, assignSurfaceTags } from "./generation/surface-tagger";
|
|
44
44
|
export { generateRenderTest, } from "./generation/render";
|
|
45
45
|
export { generateInteractionTest } from "./generation/interaction";
|
|
46
46
|
export { generateFormTest } from "./generation/form";
|
|
@@ -50,11 +50,7 @@ export { generateNavigationTest } from "./generation/navigation";
|
|
|
50
50
|
export { generateE2ETest, enumerateE2EPaths } from "./generation/e2e";
|
|
51
51
|
// Orchestrator (new)
|
|
52
52
|
export { runTestRun } from "./orchestrator/runner";
|
|
53
|
-
export {
|
|
54
|
-
// Orchestrator (deprecated — use runTestRun)
|
|
55
|
-
export { runScan } from "./orchestrator/orchestrator";
|
|
56
|
-
export { processDecompositionJob } from "./orchestrator/decomposition";
|
|
57
|
-
export { executeTestCases } from "./orchestrator/test-execution";
|
|
53
|
+
export { executeTestElement } from "./orchestrator/test-element-executor";
|
|
58
54
|
// Analyzer
|
|
59
55
|
export { PageAnalyzer } from "./analyzer";
|
|
60
56
|
export { TesterExpertise, SeoExpertise, SecurityExpertise, PerformanceExpertise, NoopExpertise, createDefaultExpertises, } from "./expertise";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,6BAA6B;AAC7B,cAAc,0BAA0B,CAAC;AACzC,iDAAiD;AACjD,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AAEzC,wBAAwB;AACxB,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAuB,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EACL,qBAAqB,EACrB,wBAAwB,GAEzB,MAAM,8BAA8B,CAAC;AAEtC,iBAAiB;AACjB,OAAO,EACL,MAAM,EACN,aAAa,EACb,kBAAkB,EAClB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,6BAA6B;AAC7B,cAAc,aAAa,CAAC;AAE5B,eAAe;AACf,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AAEvC,YAAY;AACZ,cAAc,oBAAoB,CAAC;AAEnC,aAAa;AACb,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEvD,mBAAmB;AACnB,OAAO,EACL,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAS3D,iBAAiB;AACjB,OAAO,EACL,gBAAgB,EAChB,yBAAyB,GAE1B,MAAM,+BAA+B,CAAC;AAEvC,WAAW;AACX,OAAO,EAAE,aAAa,EAAwB,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAsB,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAsB,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EACL,mBAAmB,GAEpB,MAAM,sBAAsB,CAAC;AAE9B,mBAAmB;AACnB,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,9 @@ import type { ApiClient } from "../api/client";
|
|
|
3
3
|
import type { RunConfig, ScanEventHandler, ScanResult } from "./types";
|
|
4
4
|
import type { Expertise } from "../expertise/types";
|
|
5
5
|
/**
|
|
6
|
-
* Main entry point for the
|
|
7
|
-
* Replaces the old runScan/processDecompositionJob/executeTestCases orchestrator.
|
|
6
|
+
* Main entry point for the runner execution loop.
|
|
8
7
|
*
|
|
9
|
-
* Execution: bundle → iterate
|
|
8
|
+
* Execution: bundle → iterate surfaces → iterate cases → run case
|
|
10
9
|
*/
|
|
11
10
|
export declare function runTestRun(adapter: BrowserAdapter, config: RunConfig, api: ApiClient, expertises: Expertise[], events: ScanEventHandler): Promise<ScanResult>;
|
|
12
11
|
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/orchestrator/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAIpD
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/orchestrator/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAIpD;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,SAAS,EACd,UAAU,EAAE,SAAS,EAAE,EACvB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,UAAU,CAAC,CAiMrB"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { PageAnalyzer } from "../analyzer";
|
|
2
|
-
import {
|
|
2
|
+
import { executeTestElement } from "./test-element-executor";
|
|
3
3
|
/**
|
|
4
|
-
* Main entry point for the
|
|
5
|
-
* Replaces the old runScan/processDecompositionJob/executeTestCases orchestrator.
|
|
4
|
+
* Main entry point for the runner execution loop.
|
|
6
5
|
*
|
|
7
|
-
* Execution: bundle → iterate
|
|
6
|
+
* Execution: bundle → iterate surfaces → iterate cases → run case
|
|
8
7
|
*/
|
|
9
8
|
export async function runTestRun(adapter, config, api, expertises, events) {
|
|
10
9
|
const startTime = Date.now();
|
|
@@ -25,9 +24,9 @@ export async function runTestRun(adapter, config, api, expertises, events) {
|
|
|
25
24
|
events.onPageStateCreated(state);
|
|
26
25
|
emitStats();
|
|
27
26
|
},
|
|
28
|
-
|
|
27
|
+
onTestElementRunCompleted(run) {
|
|
29
28
|
testRunsCompleted++;
|
|
30
|
-
events.
|
|
29
|
+
events.onTestElementRunCompleted(run);
|
|
31
30
|
emitStats();
|
|
32
31
|
},
|
|
33
32
|
onTestRunCompleted(run) {
|
|
@@ -58,63 +57,59 @@ export async function runTestRun(adapter, config, api, expertises, events) {
|
|
|
58
57
|
if (!testRun) {
|
|
59
58
|
throw new Error(`Test run ${config.testRunId} not found`);
|
|
60
59
|
}
|
|
61
|
-
if (!testRun.
|
|
62
|
-
throw new Error(`Test run ${config.testRunId} has no test
|
|
60
|
+
if (!testRun.testSurfaceBundleRunId) {
|
|
61
|
+
throw new Error(`Test run ${config.testRunId} has no test surface bundle run`);
|
|
63
62
|
}
|
|
64
63
|
// Set up analyzer for discovery mode
|
|
65
64
|
const analyzer = testRun.discovery ? new PageAnalyzer() : null;
|
|
66
|
-
// Get navigation
|
|
67
|
-
let
|
|
65
|
+
// Get navigation surface for discovery context
|
|
66
|
+
let navigationSurface = null;
|
|
68
67
|
if (testRun.discovery) {
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
const surfaces = await api.getTestSurfacesByRunner(config.runnerId);
|
|
69
|
+
navigationSurface =
|
|
70
|
+
surfaces.find(s => s.title === "Direct Navigations" &&
|
|
72
71
|
(config.uid ? s.uid === config.uid : s.uid == null)) ?? null;
|
|
73
72
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
73
|
+
const bundleRun = testRun.testSurfaceBundleRunId
|
|
74
|
+
? await api.getTestSurfaceBundleRun(testRun.testSurfaceBundleRunId)
|
|
75
|
+
: null;
|
|
76
|
+
// Execution loop: iterate open surface runs in the bundle
|
|
77
|
+
let hasOpenSurfaces = true;
|
|
78
|
+
while (hasOpenSurfaces) {
|
|
77
79
|
if (config.signal?.aborted)
|
|
78
80
|
break;
|
|
79
|
-
const
|
|
80
|
-
if (
|
|
81
|
-
|
|
81
|
+
const openSurfaceRuns = await api.getOpenTestSurfaceRuns(testRun.testSurfaceBundleRunId);
|
|
82
|
+
if (openSurfaceRuns.length === 0) {
|
|
83
|
+
hasOpenSurfaces = false;
|
|
82
84
|
break;
|
|
83
85
|
}
|
|
84
|
-
const
|
|
85
|
-
// Iterate open
|
|
86
|
+
const currentSurfaceRun = openSurfaceRuns[0];
|
|
87
|
+
// Iterate open element runs in this surface
|
|
86
88
|
let hasOpenCases = true;
|
|
87
89
|
while (hasOpenCases) {
|
|
88
90
|
if (config.signal?.aborted)
|
|
89
91
|
break;
|
|
90
|
-
const openCaseRuns = await api.
|
|
92
|
+
const openCaseRuns = await api.getOpenTestElementRuns(currentSurfaceRun.id);
|
|
91
93
|
if (openCaseRuns.length === 0) {
|
|
92
94
|
hasOpenCases = false;
|
|
93
95
|
break;
|
|
94
96
|
}
|
|
95
97
|
const currentCaseRun = openCaseRuns[0];
|
|
96
|
-
// Execute the test
|
|
97
|
-
await
|
|
98
|
+
// Execute the test element
|
|
99
|
+
await executeTestElement(adapter, currentCaseRun, testRun, expertises, analyzer, api, wrappedEvents, navigationSurface && bundleRun
|
|
98
100
|
? {
|
|
99
|
-
|
|
100
|
-
bundleRun
|
|
101
|
-
id: testRun.testSuiteBundleRunId,
|
|
102
|
-
testSuiteBundleId: 0, // will be resolved by API
|
|
103
|
-
status: "running",
|
|
104
|
-
startedAt: null,
|
|
105
|
-
completedAt: null,
|
|
106
|
-
createdAt: null,
|
|
107
|
-
},
|
|
101
|
+
navigationSurface,
|
|
102
|
+
bundleRun,
|
|
108
103
|
}
|
|
109
104
|
: undefined);
|
|
110
105
|
}
|
|
111
|
-
// All
|
|
112
|
-
await api.
|
|
106
|
+
// All elements done in this surface — mark surface run completed
|
|
107
|
+
await api.completeTestSurfaceRun(currentSurfaceRun.id, {
|
|
113
108
|
status: "completed",
|
|
114
109
|
});
|
|
115
110
|
}
|
|
116
|
-
// All
|
|
117
|
-
await api.
|
|
111
|
+
// All surfaces done — mark bundle run and test run completed
|
|
112
|
+
await api.completeTestSurfaceBundleRun(testRun.testSurfaceBundleRunId, {
|
|
118
113
|
status: "completed",
|
|
119
114
|
});
|
|
120
115
|
const durationMs = Date.now() - startTime;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/orchestrator/runner.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/orchestrator/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { BrowserAdapter } from "../adapter";
|
|
2
|
+
import type { ApiClient } from "../api/client";
|
|
3
|
+
import type { TestElementRunResponse, TestRunResponse, TestSurfaceResponse, TestSurfaceBundleRunResponse } from "@sudobility/testomniac_types";
|
|
4
|
+
import type { ScanEventHandler } from "./types";
|
|
5
|
+
import type { Expertise } from "../expertise/types";
|
|
6
|
+
import type { PageAnalyzer } from "../analyzer";
|
|
7
|
+
/**
|
|
8
|
+
* Execute a single test element: run actions, decompose page, evaluate expertises,
|
|
9
|
+
* set outcomes, create findings, and optionally discover new test elements.
|
|
10
|
+
*/
|
|
11
|
+
export declare function executeTestElement(adapter: BrowserAdapter, testElementRun: TestElementRunResponse, testRun: TestRunResponse, expertises: Expertise[], analyzer: PageAnalyzer | null, api: ApiClient, events: ScanEventHandler, discoveryContext?: {
|
|
12
|
+
navigationSurface: TestSurfaceResponse;
|
|
13
|
+
bundleRun: TestSurfaceBundleRunResponse;
|
|
14
|
+
}): Promise<void>;
|
|
15
|
+
//# sourceMappingURL=test-element-executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-element-executor.d.ts","sourceRoot":"","sources":["../../src/orchestrator/test-element-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EACV,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,4BAA4B,EAC7B,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAA6B,MAAM,oBAAoB,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAmB,MAAM,aAAa,CAAC;AAKjE;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,cAAc,EACvB,cAAc,EAAE,sBAAsB,EACtC,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,SAAS,EAAE,EACvB,QAAQ,EAAE,YAAY,GAAG,IAAI,EAC7B,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,gBAAgB,EACxB,gBAAgB,CAAC,EAAE;IACjB,iBAAiB,EAAE,mBAAmB,CAAC;IACvC,SAAS,EAAE,4BAA4B,CAAC;CACzC,GACA,OAAO,CAAC,IAAI,CAAC,CA2Pf"}
|