@midscene/core 1.12.5 → 1.12.6-beta-20260909033030.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/es/agent/report-file-name.mjs +12 -0
- package/dist/es/agent/report-file-name.mjs.map +1 -0
- package/dist/es/agent/utils.mjs +4 -10
- package/dist/es/agent/utils.mjs.map +1 -1
- package/dist/es/index.mjs +3 -2
- package/dist/es/index.mjs.map +1 -1
- package/dist/es/report-html-template.mjs +1 -1
- package/dist/es/report.mjs +181 -4
- package/dist/es/report.mjs.map +1 -1
- package/dist/es/test-run-report.mjs +4 -0
- package/dist/es/test-run-report.mjs.map +1 -0
- package/dist/es/utils.mjs +1 -1
- package/dist/lib/agent/report-file-name.js +56 -0
- package/dist/lib/agent/report-file-name.js.map +1 -0
- package/dist/lib/agent/utils.js +3 -19
- package/dist/lib/agent/utils.js.map +1 -1
- package/dist/lib/index.js +10 -3
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/report-html-template.js +1 -1
- package/dist/lib/report.js +183 -3
- package/dist/lib/report.js.map +1 -1
- package/dist/lib/test-run-report.js +38 -0
- package/dist/lib/test-run-report.js.map +1 -0
- package/dist/lib/utils.js +1 -1
- package/dist/types/agent/report-file-name.d.ts +1 -0
- package/dist/types/agent/utils.d.ts +1 -2
- package/dist/types/index.d.ts +3 -1
- package/dist/types/report.d.ts +11 -0
- package/dist/types/test-run-report.d.ts +167 -0
- package/package.json +2 -2
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
export declare const TEST_RUN_REPORT_SCRIPT_TYPE = "midscene_test_run_dump";
|
|
2
|
+
export type TestRunReportRunStatus = 'success' | 'failed';
|
|
3
|
+
export type TestRunReportCaseStatus = TestRunReportRunStatus | 'not-run';
|
|
4
|
+
export type TestRunReportStepPhase = 'beforeAll' | 'beforeEach' | 'steps' | 'afterEach' | 'afterAll';
|
|
5
|
+
/**
|
|
6
|
+
* A JSON-safe value prepared for display in a Midscene Test report.
|
|
7
|
+
*
|
|
8
|
+
* Paths use JSONPath-like notation rooted at `$`. The path arrays are kept
|
|
9
|
+
* beside the value so the UI never presents redacted or truncated data as if
|
|
10
|
+
* it were complete.
|
|
11
|
+
*/
|
|
12
|
+
export interface TestRunReportValue {
|
|
13
|
+
value: unknown;
|
|
14
|
+
truncatedPaths?: string[];
|
|
15
|
+
redactedPaths?: string[];
|
|
16
|
+
}
|
|
17
|
+
export interface TestRunReportError {
|
|
18
|
+
name: string;
|
|
19
|
+
message: string;
|
|
20
|
+
code?: string;
|
|
21
|
+
details?: TestRunReportValue;
|
|
22
|
+
}
|
|
23
|
+
export interface TestRunReportDiagnostic {
|
|
24
|
+
level: 'warning' | 'error';
|
|
25
|
+
code: 'agent-detail-unresolved' | 'agent-detail-unavailable' | 'large-report' | 'source-without-executions';
|
|
26
|
+
message: string;
|
|
27
|
+
scopeId?: string;
|
|
28
|
+
executionId?: string;
|
|
29
|
+
sourcePaths?: string[];
|
|
30
|
+
}
|
|
31
|
+
export interface TestRunReportMetrics {
|
|
32
|
+
modelCallCount: number;
|
|
33
|
+
modelTimeMs: number;
|
|
34
|
+
promptTokens: number;
|
|
35
|
+
cachedInputTokens: number;
|
|
36
|
+
completionTokens: number;
|
|
37
|
+
totalTokens: number;
|
|
38
|
+
}
|
|
39
|
+
export interface TestRunReportAgentDetail {
|
|
40
|
+
reportId: string;
|
|
41
|
+
executionId: string;
|
|
42
|
+
}
|
|
43
|
+
export interface TestRunReportStep {
|
|
44
|
+
id: string;
|
|
45
|
+
phase: TestRunReportStepPhase;
|
|
46
|
+
stepIndex: number;
|
|
47
|
+
node: string;
|
|
48
|
+
title?: string;
|
|
49
|
+
status: TestRunReportRunStatus;
|
|
50
|
+
continuedAfterError: boolean;
|
|
51
|
+
startedAt: string;
|
|
52
|
+
endedAt: string;
|
|
53
|
+
durationMs: number;
|
|
54
|
+
input?: TestRunReportValue;
|
|
55
|
+
output?: {
|
|
56
|
+
summary?: string;
|
|
57
|
+
data?: TestRunReportValue;
|
|
58
|
+
};
|
|
59
|
+
error?: TestRunReportError;
|
|
60
|
+
agentDetails?: TestRunReportAgentDetail[];
|
|
61
|
+
agentDetailDiagnostic?: string;
|
|
62
|
+
}
|
|
63
|
+
export interface TestRunReportAttempt {
|
|
64
|
+
attemptId: string;
|
|
65
|
+
attemptIndex: number;
|
|
66
|
+
status: TestRunReportRunStatus;
|
|
67
|
+
startedAt: string;
|
|
68
|
+
endedAt: string;
|
|
69
|
+
durationMs: number;
|
|
70
|
+
beforeEach: TestRunReportStep[];
|
|
71
|
+
steps: TestRunReportStep[];
|
|
72
|
+
afterEach: TestRunReportStep[];
|
|
73
|
+
teardownErrors?: TestRunReportError[];
|
|
74
|
+
/** Report groups available for scope-level fallback browsing. */
|
|
75
|
+
scopeReportIds?: string[];
|
|
76
|
+
}
|
|
77
|
+
export interface TestRunReportCase {
|
|
78
|
+
caseId: string;
|
|
79
|
+
name: string;
|
|
80
|
+
caseIndex: number;
|
|
81
|
+
status: TestRunReportCaseStatus;
|
|
82
|
+
notRunReason?: string;
|
|
83
|
+
attempts: TestRunReportAttempt[];
|
|
84
|
+
}
|
|
85
|
+
export interface TestRunReportDocument {
|
|
86
|
+
documentId: string;
|
|
87
|
+
sourcePath: string;
|
|
88
|
+
status: TestRunReportRunStatus;
|
|
89
|
+
startedAt?: string;
|
|
90
|
+
endedAt?: string;
|
|
91
|
+
durationMs?: number;
|
|
92
|
+
beforeAll: TestRunReportStep[];
|
|
93
|
+
cases: TestRunReportCase[];
|
|
94
|
+
afterAll: TestRunReportStep[];
|
|
95
|
+
teardownErrors?: TestRunReportError[];
|
|
96
|
+
/** Report groups available for scope-level fallback browsing. */
|
|
97
|
+
scopeReportIds?: string[];
|
|
98
|
+
}
|
|
99
|
+
export interface TestRunReportCollectionError {
|
|
100
|
+
sourcePath: string;
|
|
101
|
+
error: TestRunReportError;
|
|
102
|
+
}
|
|
103
|
+
export interface TestRunReportProjectLifecycle {
|
|
104
|
+
status: TestRunReportRunStatus;
|
|
105
|
+
startedAt: string;
|
|
106
|
+
endedAt: string;
|
|
107
|
+
durationMs: number;
|
|
108
|
+
setupError?: TestRunReportError;
|
|
109
|
+
teardownErrors?: TestRunReportError[];
|
|
110
|
+
}
|
|
111
|
+
export interface TestRunReportProject {
|
|
112
|
+
projectId: string;
|
|
113
|
+
name: string;
|
|
114
|
+
platform: 'web' | 'android' | 'ios' | 'computer' | 'harmony';
|
|
115
|
+
status: TestRunReportRunStatus;
|
|
116
|
+
retry: number;
|
|
117
|
+
lifecycle?: TestRunReportProjectLifecycle;
|
|
118
|
+
documents: TestRunReportDocument[];
|
|
119
|
+
collectionErrors: TestRunReportCollectionError[];
|
|
120
|
+
}
|
|
121
|
+
export interface TestRunReportSummary {
|
|
122
|
+
total: number;
|
|
123
|
+
passed: number;
|
|
124
|
+
failed: number;
|
|
125
|
+
notRun: number;
|
|
126
|
+
filtered: number;
|
|
127
|
+
collectionErrors: number;
|
|
128
|
+
documentFailures: number;
|
|
129
|
+
projectFailures: number;
|
|
130
|
+
}
|
|
131
|
+
export interface TestRunReportDump {
|
|
132
|
+
schemaVersion: 1;
|
|
133
|
+
kind: 'test-runner';
|
|
134
|
+
runId: string;
|
|
135
|
+
status: TestRunReportRunStatus;
|
|
136
|
+
startedAt: string;
|
|
137
|
+
endedAt: string;
|
|
138
|
+
durationMs: number;
|
|
139
|
+
summary: TestRunReportSummary;
|
|
140
|
+
metrics: TestRunReportMetrics;
|
|
141
|
+
projects: TestRunReportProject[];
|
|
142
|
+
diagnostics?: TestRunReportDiagnostic[];
|
|
143
|
+
}
|
|
144
|
+
export interface TestRunReportSource {
|
|
145
|
+
/** Runner Attempt runId or Document documentRunId. */
|
|
146
|
+
scopeId: string;
|
|
147
|
+
/** Absolute path to a finalized Midscene Agent report. */
|
|
148
|
+
sourcePath: string;
|
|
149
|
+
}
|
|
150
|
+
export interface IndexedTestRunReportSource {
|
|
151
|
+
reportId: string;
|
|
152
|
+
scopeId: string;
|
|
153
|
+
sourcePath: string;
|
|
154
|
+
executionIds: string[];
|
|
155
|
+
}
|
|
156
|
+
export interface TestRunReportSourceIndex {
|
|
157
|
+
sources: IndexedTestRunReportSource[];
|
|
158
|
+
metrics: TestRunReportMetrics;
|
|
159
|
+
}
|
|
160
|
+
export interface AssembleTestRunReportOptions {
|
|
161
|
+
outputDir: string;
|
|
162
|
+
/** File or directory name without an extension. */
|
|
163
|
+
reportFileName: string;
|
|
164
|
+
sources: readonly TestRunReportSource[];
|
|
165
|
+
buildRunnerDump(index: TestRunReportSourceIndex): TestRunReportDump;
|
|
166
|
+
overwrite?: boolean;
|
|
167
|
+
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@midscene/core",
|
|
3
3
|
"description": "Automate browser actions, extract data, and perform assertions using AI. It offers JavaScript SDK, Chrome extension, and support for scripting in YAML. See https://midscenejs.com/ for details.",
|
|
4
|
-
"version": "1.12.
|
|
4
|
+
"version": "1.12.6-beta-20260909033030.0",
|
|
5
5
|
"repository": "https://github.com/web-infra-dev/midscene",
|
|
6
6
|
"homepage": "https://midscenejs.com/",
|
|
7
7
|
"main": "./dist/lib/index.js",
|
|
@@ -161,7 +161,7 @@
|
|
|
161
161
|
"semver": "7.5.2",
|
|
162
162
|
"undici": "^6.0.0",
|
|
163
163
|
"zod": "^3.25.1",
|
|
164
|
-
"@midscene/shared": "1.12.
|
|
164
|
+
"@midscene/shared": "1.12.6-beta-20260909033030.0"
|
|
165
165
|
},
|
|
166
166
|
"devDependencies": {
|
|
167
167
|
"@rslib/core": "^0.18.3",
|