@sudobility/testomniac_runner_service 0.1.40 → 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 +15 -15
- package/dist/analyzer/page-analyzer.d.ts +18 -18
- package/dist/analyzer/page-analyzer.d.ts.map +1 -1
- package/dist/analyzer/page-analyzer.js +83 -83
- package/dist/analyzer/page-analyzer.js.map +1 -1
- package/dist/api/client.d.ts +22 -22
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +57 -53
- 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 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/orchestrator/runner.d.ts +1 -1
- package/dist/orchestrator/runner.d.ts.map +1 -1
- package/dist/orchestrator/runner.js +29 -29
- 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} +55 -55
- package/dist/orchestrator/test-element-executor.js.map +1 -0
- package/dist/orchestrator/types.d.ts +4 -4
- 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/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/CLAUDE.md
CHANGED
|
@@ -6,7 +6,7 @@ Shared execution and discovery library used by Testomniac runner clients.
|
|
|
6
6
|
|
|
7
7
|
This package owns the active runtime architecture for:
|
|
8
8
|
|
|
9
|
-
- executing persisted test
|
|
9
|
+
- executing persisted test surfaces, cases, and element runs
|
|
10
10
|
- analyzing resulting browser states
|
|
11
11
|
- generating discovery-time follow-up coverage
|
|
12
12
|
- evaluating expertises and recording findings
|
|
@@ -20,38 +20,38 @@ the runtime entry point.
|
|
|
20
20
|
|
|
21
21
|
Persistent coverage:
|
|
22
22
|
|
|
23
|
-
- `
|
|
24
|
-
- `
|
|
25
|
-
- `
|
|
23
|
+
- `test_surface_bundle`
|
|
24
|
+
- `test_surface`
|
|
25
|
+
- `test_element`
|
|
26
26
|
- `test_action`
|
|
27
27
|
|
|
28
28
|
Run records:
|
|
29
29
|
|
|
30
30
|
- `test_run`
|
|
31
|
-
- `
|
|
32
|
-
- `
|
|
33
|
-
- `
|
|
31
|
+
- `test_surface_bundle_run`
|
|
32
|
+
- `test_surface_run`
|
|
33
|
+
- `test_element_run`
|
|
34
34
|
- `test_run_finding`
|
|
35
35
|
|
|
36
36
|
## Execution Flow
|
|
37
37
|
|
|
38
38
|
1. A client calls `runTestRun()`.
|
|
39
39
|
2. The runner claims the `test_run`.
|
|
40
|
-
3. It loads the active bundle run and iterates pending
|
|
41
|
-
4. For each
|
|
40
|
+
3. It loads the active bundle run and iterates pending surface runs.
|
|
41
|
+
4. For each surface run, it iterates pending element runs whose dependencies are
|
|
42
42
|
ready.
|
|
43
|
-
5. `
|
|
43
|
+
5. `executeTestElement()` navigates, recreates dependency setup when needed,
|
|
44
44
|
executes actions, gathers runtime artifacts, and runs expertises.
|
|
45
45
|
6. If the root run is a discovery run, `PageAnalyzer` creates or resolves the
|
|
46
46
|
target page state and generates follow-up cases and runs.
|
|
47
|
-
7. The runner completes
|
|
47
|
+
7. The runner completes surface runs, bundle runs, and the root test run.
|
|
48
48
|
|
|
49
49
|
## Discovery Rules
|
|
50
50
|
|
|
51
|
-
- Every actionable element starts with a hover test
|
|
51
|
+
- Every actionable element starts with a hover test element.
|
|
52
52
|
- After hover:
|
|
53
|
-
- if no new actionable items appear, generate a dependent click test
|
|
54
|
-
- if new actionable items appear, generate dependent hover test
|
|
53
|
+
- if no new actionable items appear, generate a dependent click test element
|
|
54
|
+
- if new actionable items appear, generate dependent hover test elements from
|
|
55
55
|
the hover target page state
|
|
56
56
|
- `PageAnalyzer` owns target-page-state creation and follow-up case generation.
|
|
57
57
|
- Expertises do not generate coverage.
|
|
@@ -61,7 +61,7 @@ Run records:
|
|
|
61
61
|
- [`src/adapter.ts`](src/adapter.ts): browser abstraction
|
|
62
62
|
- [`src/api/client.ts`](src/api/client.ts): scanner API client
|
|
63
63
|
- [`src/orchestrator/runner.ts`](src/orchestrator/runner.ts): `runTestRun()`
|
|
64
|
-
- [`src/orchestrator/test-
|
|
64
|
+
- [`src/orchestrator/test-element-executor.ts`](src/orchestrator/test-element-executor.ts):
|
|
65
65
|
single-case execution
|
|
66
66
|
- [`src/analyzer/page-analyzer.ts`](src/analyzer/page-analyzer.ts):
|
|
67
67
|
discovery-time target-state and follow-up coverage logic
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { TestElement, Expectation, ActionableItem, SizeClass, TestSurfaceResponse, TestSurfaceBundleRunResponse } from "@sudobility/testomniac_types";
|
|
2
2
|
import type { ApiClient } from "../api/client";
|
|
3
3
|
import type { DetectedScaffoldRegion } from "../scanner/component-detector";
|
|
4
4
|
export interface AnalyzerContext {
|
|
5
5
|
runnerId: number;
|
|
6
6
|
sizeClass: SizeClass;
|
|
7
7
|
uid?: string;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
currentTestElementId: number;
|
|
9
|
+
currentTestSurfaceId: number;
|
|
10
|
+
currentSurfaceRunId: number | null;
|
|
11
11
|
html: string;
|
|
12
12
|
currentPageStateId: number;
|
|
13
13
|
beginningPageStateId: number;
|
|
@@ -16,35 +16,35 @@ export interface AnalyzerContext {
|
|
|
16
16
|
pageRequiresLogin: boolean;
|
|
17
17
|
scaffolds: DetectedScaffoldRegion[];
|
|
18
18
|
actionableItems: ActionableItem[];
|
|
19
|
-
|
|
20
|
-
bundleRun:
|
|
19
|
+
navigationSurface: TestSurfaceResponse;
|
|
20
|
+
bundleRun: TestSurfaceBundleRunResponse;
|
|
21
21
|
api: ApiClient;
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
|
-
* PageAnalyzer generates expectations and discovers new test
|
|
24
|
+
* PageAnalyzer generates expectations and discovers new test elements
|
|
25
25
|
* during discovery mode.
|
|
26
26
|
*/
|
|
27
27
|
export declare class PageAnalyzer {
|
|
28
28
|
/**
|
|
29
|
-
* Generate baseline expectations for a test
|
|
29
|
+
* Generate baseline expectations for a test element.
|
|
30
30
|
* Called BEFORE expertises evaluate.
|
|
31
31
|
*/
|
|
32
|
-
generateExpectations(
|
|
32
|
+
generateExpectations(testElement: TestElement): Expectation[];
|
|
33
33
|
/**
|
|
34
|
-
* Generate new test
|
|
34
|
+
* Generate new test elements for scaffolds and page content.
|
|
35
35
|
* Called AFTER expertises evaluate and the target page state is established.
|
|
36
36
|
*/
|
|
37
|
-
|
|
37
|
+
generateTestElements(testElement: TestElement, context: AnalyzerContext): Promise<void>;
|
|
38
38
|
private generateHoverFollowUpCases;
|
|
39
|
-
private
|
|
40
|
-
private
|
|
41
|
-
private
|
|
42
|
-
private
|
|
39
|
+
private generateNavigationTestElements;
|
|
40
|
+
private generateScaffoldTestElements;
|
|
41
|
+
private generateContentTestElements;
|
|
42
|
+
private ensureSurfaceRun;
|
|
43
43
|
private isMouseActionable;
|
|
44
44
|
private extractRelativePath;
|
|
45
|
-
private
|
|
46
|
-
private
|
|
47
|
-
private
|
|
45
|
+
private buildNavigationTestElement;
|
|
46
|
+
private buildHoverTestElement;
|
|
47
|
+
private buildClickTestElement;
|
|
48
48
|
private isHoverOnly;
|
|
49
49
|
private getPrimarySelector;
|
|
50
50
|
private getItemKey;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-analyzer.d.ts","sourceRoot":"","sources":["../../src/analyzer/page-analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"page-analyzer.d.ts","sourceRoot":"","sources":["../../src/analyzer/page-analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,SAAS,EACT,mBAAmB,EACnB,4BAA4B,EAG7B,MAAM,8BAA8B,CAAC;AAOtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAG5E,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,sBAAsB,EAAE,CAAC;IACpC,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,iBAAiB,EAAE,mBAAmB,CAAC;IACvC,SAAS,EAAE,4BAA4B,CAAC;IACxC,GAAG,EAAE,SAAS,CAAC;CAChB;AAED;;;GAGG;AACH,qBAAa,YAAY;IACvB;;;OAGG;IACH,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,WAAW,EAAE;IAiC7D;;;OAGG;IACG,oBAAoB,CACxB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC;YAsBF,0BAA0B;YAkE1B,8BAA8B;YA+C9B,4BAA4B;YAwD5B,2BAA2B;YAwD3B,gBAAgB;IAkB9B,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,0BAA0B;IAgClC,OAAO,CAAC,qBAAqB;IAoC7B,OAAO,CAAC,qBAAqB;IAoC7B,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,UAAU;YAUJ,qBAAqB;CAqCpC"}
|
|
@@ -2,15 +2,15 @@ import { PlaywrightAction, ExpectationType, ExpectationSeverity, } from "@sudobi
|
|
|
2
2
|
import { computeHashes } from "../browser/page-utils";
|
|
3
3
|
import { createHash } from "node:crypto";
|
|
4
4
|
/**
|
|
5
|
-
* PageAnalyzer generates expectations and discovers new test
|
|
5
|
+
* PageAnalyzer generates expectations and discovers new test elements
|
|
6
6
|
* during discovery mode.
|
|
7
7
|
*/
|
|
8
8
|
export class PageAnalyzer {
|
|
9
9
|
/**
|
|
10
|
-
* Generate baseline expectations for a test
|
|
10
|
+
* Generate baseline expectations for a test element.
|
|
11
11
|
* Called BEFORE expertises evaluate.
|
|
12
12
|
*/
|
|
13
|
-
generateExpectations(
|
|
13
|
+
generateExpectations(testElement) {
|
|
14
14
|
const expectations = [
|
|
15
15
|
{
|
|
16
16
|
expectationType: ExpectationType.PageLoaded,
|
|
@@ -19,9 +19,9 @@ export class PageAnalyzer {
|
|
|
19
19
|
playwrightCode: "await expect(page).not.toHaveTitle(/error/i)",
|
|
20
20
|
},
|
|
21
21
|
];
|
|
22
|
-
// If test
|
|
23
|
-
const isNavigationOnly =
|
|
24
|
-
|
|
22
|
+
// If test element has only a navigation action, no more expectations
|
|
23
|
+
const isNavigationOnly = testElement.steps.length === 1 &&
|
|
24
|
+
testElement.steps[0].action.actionType === PlaywrightAction.Goto;
|
|
25
25
|
if (!isNavigationOnly) {
|
|
26
26
|
expectations.push({
|
|
27
27
|
expectationType: ExpectationType.NoConsoleErrors,
|
|
@@ -39,28 +39,28 @@ export class PageAnalyzer {
|
|
|
39
39
|
return expectations;
|
|
40
40
|
}
|
|
41
41
|
/**
|
|
42
|
-
* Generate new test
|
|
42
|
+
* Generate new test elements for scaffolds and page content.
|
|
43
43
|
* Called AFTER expertises evaluate and the target page state is established.
|
|
44
44
|
*/
|
|
45
|
-
async
|
|
45
|
+
async generateTestElements(testElement, context) {
|
|
46
46
|
const currentPageStateId = await this.ensureTargetPageState(context);
|
|
47
47
|
const resolvedContext = {
|
|
48
48
|
...context,
|
|
49
49
|
currentPageStateId,
|
|
50
50
|
};
|
|
51
|
-
if (this.isHoverOnly(
|
|
52
|
-
await this.generateHoverFollowUpCases(
|
|
51
|
+
if (this.isHoverOnly(testElement)) {
|
|
52
|
+
await this.generateHoverFollowUpCases(testElement, resolvedContext);
|
|
53
53
|
return;
|
|
54
54
|
}
|
|
55
|
-
// a. Navigation test
|
|
56
|
-
await this.
|
|
57
|
-
// b. Scaffold test
|
|
58
|
-
await this.
|
|
59
|
-
// c. Content test
|
|
60
|
-
await this.
|
|
55
|
+
// a. Navigation test elements — for every link on the page
|
|
56
|
+
await this.generateNavigationTestElements(resolvedContext);
|
|
57
|
+
// b. Scaffold test elements — for each scaffold's actionable elements
|
|
58
|
+
await this.generateScaffoldTestElements(resolvedContext);
|
|
59
|
+
// c. Content test elements — for non-scaffold actionable elements
|
|
60
|
+
await this.generateContentTestElements(resolvedContext);
|
|
61
61
|
}
|
|
62
|
-
async generateHoverFollowUpCases(
|
|
63
|
-
const selector = this.getPrimarySelector(
|
|
62
|
+
async generateHoverFollowUpCases(testElement, context) {
|
|
63
|
+
const selector = this.getPrimarySelector(testElement);
|
|
64
64
|
if (!selector || !context.currentPageStateId)
|
|
65
65
|
return;
|
|
66
66
|
const beginningItems = context.beginningPageStateId > 0
|
|
@@ -75,114 +75,114 @@ export class PageAnalyzer {
|
|
|
75
75
|
});
|
|
76
76
|
const hoveredItem = context.actionableItems.find(item => item.selector === selector) ?? null;
|
|
77
77
|
if (revealedItems.length === 0 && hoveredItem) {
|
|
78
|
-
const clickCase = this.
|
|
79
|
-
const tc = await context.api.
|
|
80
|
-
await context.api.
|
|
81
|
-
|
|
82
|
-
|
|
78
|
+
const clickCase = this.buildClickTestElement(hoveredItem, context.currentPath, context.sizeClass, context.uid, context.currentPageStateId, context.currentTestElementId);
|
|
79
|
+
const tc = await context.api.ensureTestElement(context.runnerId, context.currentTestSurfaceId, clickCase);
|
|
80
|
+
await context.api.createTestElementRun({
|
|
81
|
+
testElementId: tc.id,
|
|
82
|
+
testSurfaceRunId: context.currentSurfaceRunId ?? undefined,
|
|
83
83
|
});
|
|
84
84
|
return;
|
|
85
85
|
}
|
|
86
86
|
for (const item of revealedItems) {
|
|
87
|
-
const nextHover = this.
|
|
88
|
-
const tc = await context.api.
|
|
89
|
-
await context.api.
|
|
90
|
-
|
|
91
|
-
|
|
87
|
+
const nextHover = this.buildHoverTestElement(item, context.currentPath, context.sizeClass, context.uid, context.currentPageStateId, context.currentTestElementId);
|
|
88
|
+
const tc = await context.api.ensureTestElement(context.runnerId, context.currentTestSurfaceId, nextHover);
|
|
89
|
+
await context.api.createTestElementRun({
|
|
90
|
+
testElementId: tc.id,
|
|
91
|
+
testSurfaceRunId: context.currentSurfaceRunId ?? undefined,
|
|
92
92
|
});
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
|
-
async
|
|
95
|
+
async generateNavigationTestElements(context) {
|
|
96
96
|
if (context.pageRequiresLogin)
|
|
97
97
|
return;
|
|
98
|
-
const { api, runnerId, sizeClass, uid,
|
|
98
|
+
const { api, runnerId, sizeClass, uid, navigationSurface, bundleRun } = context;
|
|
99
99
|
const links = context.actionableItems.filter(item => item.actionKind === "navigate" && item.href && item.visible);
|
|
100
|
-
// Ensure navigation
|
|
101
|
-
await api.
|
|
102
|
-
// Ensure a
|
|
103
|
-
const
|
|
100
|
+
// Ensure navigation surface is in the bundle
|
|
101
|
+
await api.ensureBundleSurfaceLink(bundleRun.testSurfaceBundleId, navigationSurface.id);
|
|
102
|
+
// Ensure a surface run exists for the navigation surface under this bundle run
|
|
103
|
+
const surfaceRun = await this.ensureSurfaceRun(api, navigationSurface.id, bundleRun.id);
|
|
104
104
|
for (const link of links) {
|
|
105
105
|
if (!link.href)
|
|
106
106
|
continue;
|
|
107
107
|
const path = this.extractRelativePath(link.href);
|
|
108
108
|
if (!path)
|
|
109
109
|
continue;
|
|
110
|
-
const
|
|
111
|
-
const tc = await api.
|
|
112
|
-
await api.
|
|
113
|
-
|
|
114
|
-
|
|
110
|
+
const testElement = this.buildNavigationTestElement(path, sizeClass, uid, context.currentPageStateId);
|
|
111
|
+
const tc = await api.ensureTestElement(runnerId, navigationSurface.id, testElement);
|
|
112
|
+
await api.createTestElementRun({
|
|
113
|
+
testElementId: tc.id,
|
|
114
|
+
testSurfaceRunId: surfaceRun.id,
|
|
115
115
|
});
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
|
-
async
|
|
118
|
+
async generateScaffoldTestElements(context) {
|
|
119
119
|
const { api, runnerId, sizeClass, uid, bundleRun } = context;
|
|
120
120
|
for (const scaffold of context.scaffolds) {
|
|
121
121
|
// Find actionable items belonging to this scaffold
|
|
122
122
|
const scaffoldItems = context.actionableItems.filter(item => item.scaffoldId != null && this.isMouseActionable(item));
|
|
123
123
|
if (scaffoldItems.length === 0)
|
|
124
124
|
continue;
|
|
125
|
-
// Ensure a test
|
|
126
|
-
const
|
|
127
|
-
const
|
|
128
|
-
title:
|
|
125
|
+
// Ensure a test surface for this scaffold
|
|
126
|
+
const surfaceTitle = `Scaffold: ${scaffold.type}`;
|
|
127
|
+
const surface = await api.ensureTestSurface(runnerId, {
|
|
128
|
+
title: surfaceTitle,
|
|
129
129
|
description: `Tests for ${scaffold.type} scaffold`,
|
|
130
130
|
startingPageStateId: context.currentPageStateId,
|
|
131
131
|
startingPath: context.currentPath,
|
|
132
132
|
sizeClass,
|
|
133
133
|
priority: 3,
|
|
134
|
-
|
|
134
|
+
surface_tags: ["scaffold", scaffold.type],
|
|
135
135
|
uid,
|
|
136
136
|
});
|
|
137
|
-
await api.
|
|
138
|
-
const
|
|
137
|
+
await api.ensureBundleSurfaceLink(bundleRun.testSurfaceBundleId, surface.id);
|
|
138
|
+
const surfaceRun = await this.ensureSurfaceRun(api, surface.id, bundleRun.id);
|
|
139
139
|
for (const item of scaffoldItems) {
|
|
140
|
-
const
|
|
141
|
-
const tc = await api.
|
|
142
|
-
await api.
|
|
143
|
-
|
|
144
|
-
|
|
140
|
+
const testElement = this.buildHoverTestElement(item, context.currentPath, sizeClass, uid, context.currentPageStateId);
|
|
141
|
+
const tc = await api.ensureTestElement(runnerId, surface.id, testElement);
|
|
142
|
+
await api.createTestElementRun({
|
|
143
|
+
testElementId: tc.id,
|
|
144
|
+
testSurfaceRunId: surfaceRun.id,
|
|
145
145
|
});
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
|
-
async
|
|
149
|
+
async generateContentTestElements(context) {
|
|
150
150
|
const { api, runnerId, sizeClass, uid, bundleRun, pageId: _pageId, } = context;
|
|
151
151
|
// Content items are those NOT in a scaffold
|
|
152
152
|
const contentItems = context.actionableItems.filter(item => item.scaffoldId == null && this.isMouseActionable(item));
|
|
153
153
|
if (contentItems.length === 0)
|
|
154
154
|
return;
|
|
155
|
-
const
|
|
156
|
-
const
|
|
157
|
-
title:
|
|
155
|
+
const surfaceTitle = `Page: ${context.currentPath}`;
|
|
156
|
+
const surface = await api.ensureTestSurface(runnerId, {
|
|
157
|
+
title: surfaceTitle,
|
|
158
158
|
description: `Tests for page content at ${context.currentPath}`,
|
|
159
159
|
startingPageStateId: context.currentPageStateId,
|
|
160
160
|
startingPath: context.currentPath,
|
|
161
161
|
sizeClass,
|
|
162
162
|
priority: 3,
|
|
163
|
-
|
|
163
|
+
surface_tags: ["page-content"],
|
|
164
164
|
uid,
|
|
165
165
|
});
|
|
166
|
-
await api.
|
|
167
|
-
const
|
|
166
|
+
await api.ensureBundleSurfaceLink(bundleRun.testSurfaceBundleId, surface.id);
|
|
167
|
+
const surfaceRun = await this.ensureSurfaceRun(api, surface.id, bundleRun.id);
|
|
168
168
|
for (const item of contentItems) {
|
|
169
|
-
const
|
|
170
|
-
const tc = await api.
|
|
171
|
-
await api.
|
|
172
|
-
|
|
173
|
-
|
|
169
|
+
const testElement = this.buildHoverTestElement(item, context.currentPath, sizeClass, uid, context.currentPageStateId);
|
|
170
|
+
const tc = await api.ensureTestElement(runnerId, surface.id, testElement);
|
|
171
|
+
await api.createTestElementRun({
|
|
172
|
+
testElementId: tc.id,
|
|
173
|
+
testSurfaceRunId: surfaceRun.id,
|
|
174
174
|
});
|
|
175
175
|
}
|
|
176
176
|
}
|
|
177
|
-
async
|
|
178
|
-
const
|
|
179
|
-
const existing =
|
|
177
|
+
async ensureSurfaceRun(api, testSurfaceId, bundleRunId) {
|
|
178
|
+
const openSurfaceRuns = await api.getOpenTestSurfaceRuns(bundleRunId);
|
|
179
|
+
const existing = openSurfaceRuns.find(surfaceRun => surfaceRun.testSurfaceId === testSurfaceId);
|
|
180
180
|
if (existing) {
|
|
181
181
|
return existing;
|
|
182
182
|
}
|
|
183
|
-
return api.
|
|
184
|
-
|
|
185
|
-
|
|
183
|
+
return api.createTestSurfaceRun({
|
|
184
|
+
testSurfaceId,
|
|
185
|
+
testSurfaceBundleRunId: bundleRunId,
|
|
186
186
|
});
|
|
187
187
|
}
|
|
188
188
|
isMouseActionable(item) {
|
|
@@ -199,12 +199,12 @@ export class PageAnalyzer {
|
|
|
199
199
|
return null;
|
|
200
200
|
}
|
|
201
201
|
}
|
|
202
|
-
|
|
202
|
+
buildNavigationTestElement(path, sizeClass, uid, startingPageStateId) {
|
|
203
203
|
return {
|
|
204
204
|
title: `Navigate to ${path}`,
|
|
205
205
|
type: "navigation",
|
|
206
206
|
sizeClass,
|
|
207
|
-
|
|
207
|
+
surface_tags: ["navigation"],
|
|
208
208
|
priority: 3,
|
|
209
209
|
startingPageStateId,
|
|
210
210
|
startingPath: path,
|
|
@@ -225,15 +225,15 @@ export class PageAnalyzer {
|
|
|
225
225
|
uid,
|
|
226
226
|
};
|
|
227
227
|
}
|
|
228
|
-
|
|
228
|
+
buildHoverTestElement(item, startingPath, sizeClass, uid, startingPageStateId, dependencyTestElementId) {
|
|
229
229
|
const label = item.accessibleName || item.textContent || item.selector;
|
|
230
230
|
return {
|
|
231
231
|
title: `Hover over ${label}`,
|
|
232
232
|
type: "interaction",
|
|
233
233
|
sizeClass,
|
|
234
|
-
|
|
234
|
+
surface_tags: ["interaction", "hover"],
|
|
235
235
|
priority: 4,
|
|
236
|
-
|
|
236
|
+
dependencyTestElementId,
|
|
237
237
|
startingPageStateId,
|
|
238
238
|
startingPath,
|
|
239
239
|
steps: [
|
|
@@ -253,15 +253,15 @@ export class PageAnalyzer {
|
|
|
253
253
|
uid,
|
|
254
254
|
};
|
|
255
255
|
}
|
|
256
|
-
|
|
256
|
+
buildClickTestElement(item, startingPath, sizeClass, uid, startingPageStateId, dependencyTestElementId) {
|
|
257
257
|
const label = item.accessibleName || item.textContent || item.selector;
|
|
258
258
|
return {
|
|
259
259
|
title: `Click ${label}`,
|
|
260
260
|
type: "interaction",
|
|
261
261
|
sizeClass,
|
|
262
|
-
|
|
262
|
+
surface_tags: ["interaction", "click"],
|
|
263
263
|
priority: 5,
|
|
264
|
-
|
|
264
|
+
dependencyTestElementId,
|
|
265
265
|
startingPageStateId,
|
|
266
266
|
startingPath,
|
|
267
267
|
steps: [
|
|
@@ -281,12 +281,12 @@ export class PageAnalyzer {
|
|
|
281
281
|
uid,
|
|
282
282
|
};
|
|
283
283
|
}
|
|
284
|
-
isHoverOnly(
|
|
285
|
-
return (
|
|
286
|
-
|
|
284
|
+
isHoverOnly(testElement) {
|
|
285
|
+
return (testElement.steps.length === 1 &&
|
|
286
|
+
testElement.steps[0].action.actionType === PlaywrightAction.Hover);
|
|
287
287
|
}
|
|
288
|
-
getPrimarySelector(
|
|
289
|
-
const step =
|
|
288
|
+
getPrimarySelector(testElement) {
|
|
289
|
+
const step = testElement.steps[0];
|
|
290
290
|
return step?.action.path ?? null;
|
|
291
291
|
}
|
|
292
292
|
getItemKey(item) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-analyzer.js","sourceRoot":"","sources":["../../src/analyzer/page-analyzer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"page-analyzer.js","sourceRoot":"","sources":["../../src/analyzer/page-analyzer.ts"],"names":[],"mappings":"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"}
|
package/dist/api/client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { UpdateTestRunStatsRequest, CompleteTestRunRequest, RunnerResponse, PageResponse, CreatePageStateRequest, PageStateResponse, ActionableItemResponse, PersonaResponse, UseCaseResponse, InputValueResponse, FormResponse,
|
|
1
|
+
import type { UpdateTestRunStatsRequest, CompleteTestRunRequest, RunnerResponse, PageResponse, CreatePageStateRequest, PageStateResponse, ActionableItemResponse, PersonaResponse, UseCaseResponse, InputValueResponse, FormResponse, TestElementResponse, CreateTestRunRequest, TestRunResponse, CreateTestElementRunRequest, TestElementRunResponse, CompleteTestElementRunRequest, CreateTestSurfaceRunRequest, CompleteTestSurfaceRunRequest, TestSurfaceRunResponse, CreateTestSurfaceBundleRunRequest, CompleteTestSurfaceBundleRunRequest, TestSurfaceBundleRunResponse, TestSurfaceBundleResponse, TestSurfaceBundleSurfaceLinkResponse, CreateReportEmailRequest, HtmlElementResponse, ScaffoldResponse, FindOrCreateScaffoldRequest, PageHashes, DecomposedPageHashes, ActionableItem, TestElement, LegacyTestElement, FormInfo, CreateElementIdentityRequest, UpdateElementIdentityRequest, ElementIdentityResponse, PageStatePatternResponse, UiPattern, CreateTestActionRequest, TestActionResponse, CreateTestRunFindingRequest, TestRunFindingResponse, ExpertiseResponse, CreateExpertiseRequest, ExpertiseRuleResponse, CreateExpertiseRuleRequest, TestSurface, TestSurfaceResponse } from "@sudobility/testomniac_types";
|
|
2
2
|
type CompleteRunPayload = CompleteTestRunRequest;
|
|
3
3
|
export declare class ApiClient {
|
|
4
4
|
private baseUrl;
|
|
@@ -13,8 +13,8 @@ export declare class ApiClient {
|
|
|
13
13
|
updateTestRunStats(testRunId: number, stats: UpdateTestRunStatsRequest): Promise<void>;
|
|
14
14
|
completeTestRun(testRunId: number, payload: CompleteRunPayload): Promise<void>;
|
|
15
15
|
createTestRun(request: CreateTestRunRequest): Promise<TestRunResponse>;
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
createTestElementRun(request: CreateTestElementRunRequest): Promise<TestElementRunResponse>;
|
|
17
|
+
completeTestElementRun(testElementRunId: number, payload: CompleteTestElementRunRequest): Promise<void>;
|
|
18
18
|
getRunner(id: number): Promise<RunnerResponse | null>;
|
|
19
19
|
getPage(id: number): Promise<PageResponse | null>;
|
|
20
20
|
findOrCreatePage(runnerId: number, relativePath: string): Promise<PageResponse>;
|
|
@@ -95,18 +95,18 @@ export declare class ApiClient {
|
|
|
95
95
|
getInputValuesByUseCase(useCaseId: number): Promise<InputValueResponse[]>;
|
|
96
96
|
insertForm(pageStateId: number, form: FormInfo, formType?: string): Promise<FormResponse>;
|
|
97
97
|
getFormsByPageState(pageStateId: number): Promise<FormResponse[]>;
|
|
98
|
-
|
|
99
|
-
|
|
98
|
+
insertTestElement(runnerId: number, testElement: TestElement | LegacyTestElement, testSurfaceId?: number): Promise<TestElementResponse>;
|
|
99
|
+
getTestElementsByRunner(runnerId: number): Promise<TestElementResponse[]>;
|
|
100
100
|
createTestAction(params: CreateTestActionRequest): Promise<TestActionResponse>;
|
|
101
|
-
getTestActionsByCase(
|
|
101
|
+
getTestActionsByCase(testElementId: number): Promise<TestActionResponse[]>;
|
|
102
102
|
createTestRunFinding(params: CreateTestRunFindingRequest): Promise<TestRunFindingResponse>;
|
|
103
103
|
getExpertises(): Promise<ExpertiseResponse[]>;
|
|
104
104
|
getExpertiseRules(expertiseId: number): Promise<ExpertiseRuleResponse[]>;
|
|
105
105
|
createExpertise(params: CreateExpertiseRequest): Promise<ExpertiseResponse>;
|
|
106
106
|
createExpertiseRule(params: CreateExpertiseRuleRequest): Promise<ExpertiseRuleResponse>;
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
107
|
+
insertTestSurface(runnerId: number, testSurface: TestSurface): Promise<TestSurfaceResponse>;
|
|
108
|
+
getTestSurfacesByRunner(runnerId: number): Promise<TestSurfaceResponse[]>;
|
|
109
|
+
getTestSurface(id: number): Promise<TestSurfaceResponse | null>;
|
|
110
110
|
createReportEmail(params: CreateReportEmailRequest): Promise<void>;
|
|
111
111
|
findOrCreateHtmlElement(html: string, hash: string): Promise<HtmlElementResponse>;
|
|
112
112
|
findOrCreateScaffold(params: FindOrCreateScaffoldRequest): Promise<ScaffoldResponse>;
|
|
@@ -118,20 +118,20 @@ export declare class ApiClient {
|
|
|
118
118
|
findOrCreateElementIdentity(params: CreateElementIdentityRequest): Promise<ElementIdentityResponse>;
|
|
119
119
|
getElementIdentitiesByRunner(runnerId: number): Promise<ElementIdentityResponse[]>;
|
|
120
120
|
updateElementIdentity(id: number, params: UpdateElementIdentityRequest): Promise<void>;
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
121
|
+
ensureTestSurfaceBundle(runnerId: number, title: string, uid?: string): Promise<TestSurfaceBundleResponse>;
|
|
122
|
+
ensureTestSurface(runnerId: number, testSurface: TestSurface): Promise<TestSurfaceResponse>;
|
|
123
|
+
ensureTestElement(runnerId: number, testSurfaceId: number, testElement: TestElement): Promise<TestElementResponse>;
|
|
124
|
+
ensureBundleSurfaceLink(testSurfaceBundleId: number, testSurfaceId: number): Promise<TestSurfaceBundleSurfaceLinkResponse>;
|
|
125
125
|
claimTestRun(testRunId: number, runnerInstanceId: string, runnerInstanceName: string): Promise<boolean>;
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
126
|
+
createTestSurfaceRun(request: CreateTestSurfaceRunRequest): Promise<TestSurfaceRunResponse>;
|
|
127
|
+
completeTestSurfaceRun(id: number, payload: CompleteTestSurfaceRunRequest): Promise<void>;
|
|
128
|
+
createTestSurfaceBundleRun(request: CreateTestSurfaceBundleRunRequest): Promise<TestSurfaceBundleRunResponse>;
|
|
129
|
+
getTestSurfaceBundleRun(id: number): Promise<TestSurfaceBundleRunResponse | null>;
|
|
130
|
+
completeTestSurfaceBundleRun(id: number, payload: CompleteTestSurfaceBundleRunRequest): Promise<void>;
|
|
131
|
+
getTestElementsByTestSurface(testSurfaceId: number): Promise<TestElementResponse[]>;
|
|
132
|
+
getTestSurfacesByBundle(bundleId: number): Promise<TestSurfaceResponse[]>;
|
|
133
|
+
getOpenTestElementRuns(testSurfaceRunId: number): Promise<TestElementRunResponse[]>;
|
|
134
|
+
getOpenTestSurfaceRuns(bundleRunId: number): Promise<TestSurfaceRunResponse[]>;
|
|
135
135
|
}
|
|
136
136
|
export declare function getApiClient(baseUrl?: string, apiKey?: string): ApiClient;
|
|
137
137
|
export {};
|