chrome-e2e-sdk 0.0.0-stage → 1.0.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/LICENSE +21 -0
- package/README.md +739 -2
- package/dist/assertion/Assertion.d.ts +87 -0
- package/dist/assertion/Assertion.d.ts.map +1 -0
- package/dist/assertion/Assertion.js +459 -0
- package/dist/assertion/Assertion.js.map +1 -0
- package/dist/assertion/recorder.d.ts +41 -0
- package/dist/assertion/recorder.d.ts.map +1 -0
- package/dist/assertion/recorder.js +37 -0
- package/dist/assertion/recorder.js.map +1 -0
- package/dist/browser/Browser.d.ts +44 -0
- package/dist/browser/Browser.d.ts.map +1 -0
- package/dist/browser/Browser.js +167 -0
- package/dist/browser/Browser.js.map +1 -0
- package/dist/browser/Locator.d.ts +94 -0
- package/dist/browser/Locator.d.ts.map +1 -0
- package/dist/browser/Locator.js +533 -0
- package/dist/browser/Locator.js.map +1 -0
- package/dist/browser/Page.d.ts +272 -0
- package/dist/browser/Page.d.ts.map +1 -0
- package/dist/browser/Page.js +979 -0
- package/dist/browser/Page.js.map +1 -0
- package/dist/client/MCPClient.d.ts +72 -0
- package/dist/client/MCPClient.d.ts.map +1 -0
- package/dist/client/MCPClient.js +302 -0
- package/dist/client/MCPClient.js.map +1 -0
- package/dist/client/MCPCommand.d.ts +51 -0
- package/dist/client/MCPCommand.d.ts.map +1 -0
- package/dist/client/MCPCommand.js +74 -0
- package/dist/client/MCPCommand.js.map +1 -0
- package/dist/env/loadEnv.d.ts +8 -0
- package/dist/env/loadEnv.d.ts.map +1 -0
- package/dist/env/loadEnv.js +19 -0
- package/dist/env/loadEnv.js.map +1 -0
- package/dist/errors/E2EError.d.ts +50 -0
- package/dist/errors/E2EError.d.ts.map +1 -0
- package/dist/errors/E2EError.js +90 -0
- package/dist/errors/E2EError.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -0
- package/dist/logger.d.ts +12 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +57 -0
- package/dist/logger.js.map +1 -0
- package/dist/network/Network.d.ts +72 -0
- package/dist/network/Network.d.ts.map +1 -0
- package/dist/network/Network.js +236 -0
- package/dist/network/Network.js.map +1 -0
- package/dist/test/HtmlReport.d.ts +26 -0
- package/dist/test/HtmlReport.d.ts.map +1 -0
- package/dist/test/HtmlReport.js +653 -0
- package/dist/test/HtmlReport.js.map +1 -0
- package/dist/test/Runner.d.ts +146 -0
- package/dist/test/Runner.d.ts.map +1 -0
- package/dist/test/Runner.js +390 -0
- package/dist/test/Runner.js.map +1 -0
- package/dist/test/index.d.ts +4 -0
- package/dist/test/index.d.ts.map +1 -0
- package/dist/test/index.js +3 -0
- package/dist/test/index.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +4 -0
- package/dist/version.js.map +1 -0
- package/package.json +63 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HtmlReport.js","sourceRoot":"","sources":["../../src/test/HtmlReport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { Browser } from '../browser/Browser.js';
|
|
2
|
+
import { type RecordedCheck } from '../assertion/recorder.js';
|
|
3
|
+
import { type ReportLocale } from './HtmlReport.js';
|
|
4
|
+
import { type Page } from '../browser/Page.js';
|
|
5
|
+
export interface TestContext {
|
|
6
|
+
browser: Browser;
|
|
7
|
+
page: Page;
|
|
8
|
+
}
|
|
9
|
+
export interface BrowserContext {
|
|
10
|
+
browser: Browser;
|
|
11
|
+
}
|
|
12
|
+
export type TestCallback = (context: TestContext) => void | Promise<void>;
|
|
13
|
+
export type BrowserHookCallback = (context: BrowserContext) => void | Promise<void>;
|
|
14
|
+
export type TestHookCallback = (context: TestContext) => void | Promise<void>;
|
|
15
|
+
/** Why a test did not run. `focused` means `test.only` excluded it. */
|
|
16
|
+
export type SkipReason = 'explicit' | 'focused';
|
|
17
|
+
export interface TestResult {
|
|
18
|
+
title: string;
|
|
19
|
+
status: 'passed' | 'failed' | 'skipped';
|
|
20
|
+
durationMs: number;
|
|
21
|
+
attempts?: number;
|
|
22
|
+
failedAt?: string;
|
|
23
|
+
error?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Assertions that passed, so a green row can show what it actually verified
|
|
26
|
+
* rather than only that it did not fail. Covers the locator and page
|
|
27
|
+
* assertions; the plain value matchers are not recorded.
|
|
28
|
+
*/
|
|
29
|
+
checks?: RecordedCheck[];
|
|
30
|
+
skipReason?: SkipReason;
|
|
31
|
+
/**
|
|
32
|
+
* Structured context from the failure, e.g. the load state a timed-out
|
|
33
|
+
* navigation never reached. Kept separate from `error` so the message stays
|
|
34
|
+
* readable and the report can render the context on its own.
|
|
35
|
+
*/
|
|
36
|
+
errorDetails?: Record<string, unknown>;
|
|
37
|
+
screenshotPath?: string;
|
|
38
|
+
screenshotError?: string;
|
|
39
|
+
pageUrl?: string;
|
|
40
|
+
/**
|
|
41
|
+
* The URL the test was trying to reach. Differs from `pageUrl` when a test
|
|
42
|
+
* fails mid-navigation, because `pageUrl` is read after the failure and
|
|
43
|
+
* still shows where the page came from.
|
|
44
|
+
*/
|
|
45
|
+
expectedUrl?: string;
|
|
46
|
+
pageTitle?: string;
|
|
47
|
+
consoleMessages?: unknown[];
|
|
48
|
+
networkRequests?: unknown[];
|
|
49
|
+
}
|
|
50
|
+
export interface TestSummary {
|
|
51
|
+
total: number;
|
|
52
|
+
passed: number;
|
|
53
|
+
failed: number;
|
|
54
|
+
skipped: number;
|
|
55
|
+
durationMs: number;
|
|
56
|
+
results: TestResult[];
|
|
57
|
+
}
|
|
58
|
+
export interface TestRunnerOptions {
|
|
59
|
+
browserFactory?: () => Promise<Browser>;
|
|
60
|
+
outputDir?: string;
|
|
61
|
+
screenshotDir?: string;
|
|
62
|
+
summaryPath?: string;
|
|
63
|
+
htmlPath?: string;
|
|
64
|
+
/** Report chrome language. Defaults to `zh-CN`. */
|
|
65
|
+
locale?: ReportLocale;
|
|
66
|
+
/**
|
|
67
|
+
* Log each test as it starts and as it finishes. On by default: a run that
|
|
68
|
+
* says nothing until the end leaves you guessing where a hang is.
|
|
69
|
+
*/
|
|
70
|
+
progress?: boolean;
|
|
71
|
+
output?: Pick<Console, 'log' | 'error'>;
|
|
72
|
+
}
|
|
73
|
+
export interface SummaryOptions {
|
|
74
|
+
outputDir?: string;
|
|
75
|
+
summaryPath?: string;
|
|
76
|
+
htmlPath?: string;
|
|
77
|
+
/** Report chrome language. Defaults to `zh-CN`. */
|
|
78
|
+
locale?: ReportLocale;
|
|
79
|
+
}
|
|
80
|
+
export interface TestOptions {
|
|
81
|
+
retries?: number;
|
|
82
|
+
}
|
|
83
|
+
export interface TestRegistration {
|
|
84
|
+
(title: string, fn: TestCallback): void;
|
|
85
|
+
(title: string, options: TestOptions, fn: TestCallback): void;
|
|
86
|
+
only: TestRegistration;
|
|
87
|
+
skip: TestRegistration;
|
|
88
|
+
}
|
|
89
|
+
export declare class TestRunner {
|
|
90
|
+
private readonly tests;
|
|
91
|
+
private readonly beforeAllHooks;
|
|
92
|
+
private readonly afterAllHooks;
|
|
93
|
+
private readonly beforeEachHooks;
|
|
94
|
+
private readonly afterEachHooks;
|
|
95
|
+
private readonly suiteStack;
|
|
96
|
+
private readonly browserFactory;
|
|
97
|
+
private readonly outputDir;
|
|
98
|
+
private readonly screenshotDir;
|
|
99
|
+
private readonly summaryPath;
|
|
100
|
+
private readonly htmlPath?;
|
|
101
|
+
private readonly locale?;
|
|
102
|
+
private readonly progressEnabled;
|
|
103
|
+
private readonly output;
|
|
104
|
+
readonly test: TestRegistration;
|
|
105
|
+
readonly it: TestRegistration;
|
|
106
|
+
constructor(options?: TestRunnerOptions);
|
|
107
|
+
describe(title: string, fn: () => void): void;
|
|
108
|
+
beforeAll(fn: BrowserHookCallback): void;
|
|
109
|
+
afterAll(fn: BrowserHookCallback): void;
|
|
110
|
+
beforeEach(fn: TestHookCallback): void;
|
|
111
|
+
afterEach(fn: TestHookCallback): void;
|
|
112
|
+
run(): Promise<TestSummary>;
|
|
113
|
+
/**
|
|
114
|
+
* Prints the summary, writes `summary.json` for machines and `summary.html`
|
|
115
|
+
* for people, and returns the path of the HTML report.
|
|
116
|
+
*/
|
|
117
|
+
summary(summary: TestSummary, options?: SummaryOptions): Promise<string>;
|
|
118
|
+
private createTestRegistration;
|
|
119
|
+
/**
|
|
120
|
+
* Every registered test, in declaration order, each tagged with why it will
|
|
121
|
+
* not run.
|
|
122
|
+
*
|
|
123
|
+
* Tests excluded by `test.only` used to be dropped from the report entirely,
|
|
124
|
+
* so a focused run looked like a suite that had shrunk. Reporting them as
|
|
125
|
+
* skipped keeps the count honest and says which test caused the focus.
|
|
126
|
+
*/
|
|
127
|
+
private getSelectedTests;
|
|
128
|
+
private createSkippedResult;
|
|
129
|
+
private runTestWithRetries;
|
|
130
|
+
private progress;
|
|
131
|
+
private runTest;
|
|
132
|
+
private addDiagnostics;
|
|
133
|
+
private saveFailureScreenshot;
|
|
134
|
+
private sanitizeTitle;
|
|
135
|
+
}
|
|
136
|
+
export declare const defaultRunner: TestRunner;
|
|
137
|
+
export declare const describe: (title: string, fn: () => void) => void;
|
|
138
|
+
export declare const test: TestRegistration;
|
|
139
|
+
export declare const it: TestRegistration;
|
|
140
|
+
export declare const beforeAll: (fn: BrowserHookCallback) => void;
|
|
141
|
+
export declare const afterAll: (fn: BrowserHookCallback) => void;
|
|
142
|
+
export declare const beforeEach: (fn: TestHookCallback) => void;
|
|
143
|
+
export declare const afterEach: (fn: TestHookCallback) => void;
|
|
144
|
+
export declare const run: () => Promise<TestSummary>;
|
|
145
|
+
export declare const summary: (summary: TestSummary, options?: SummaryOptions) => Promise<string>;
|
|
146
|
+
//# sourceMappingURL=Runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Runner.d.ts","sourceRoot":"","sources":["../../src/test/Runner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE/C,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAC5E,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAE9C,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;CACX;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AACzE,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AACnF,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAE7E,uEAAuE;AACvE,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,SAAS,CAAA;AAE/C,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAA;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,MAAM,CAAC,EAAE,aAAa,EAAE,CAAA;IACxB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACtC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,OAAO,EAAE,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,EAAE,CAAA;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,UAAU,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IACvC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mDAAmD;IACnD,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,CAAA;CACxC;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mDAAmD;IACnD,MAAM,CAAC,EAAE,YAAY,CAAA;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,GAAG,IAAI,CAAA;IACvC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,GAAG,IAAI,CAAA;IAC7D,IAAI,EAAE,gBAAgB,CAAA;IACtB,IAAI,EAAE,gBAAgB,CAAA;CACvB;AASD,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4B;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAC1D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IACzD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IACvD,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;IAC/B,QAAQ,CAAC,EAAE,EAAE,gBAAgB,CAAA;gBAEjB,OAAO,GAAE,iBAAsB;IAsB3C,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAS7C,SAAS,CAAC,EAAE,EAAE,mBAAmB,GAAG,IAAI;IAIxC,QAAQ,CAAC,EAAE,EAAE,mBAAmB,GAAG,IAAI;IAIvC,UAAU,CAAC,EAAE,EAAE,gBAAgB,GAAG,IAAI;IAItC,SAAS,CAAC,EAAE,EAAE,gBAAgB,GAAG,IAAI;IAI/B,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC;IAwEjC;;;OAGG;IACG,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAuElF,OAAO,CAAC,sBAAsB;IAmB9B;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,mBAAmB;YAUb,kBAAkB;IA+BhC,OAAO,CAAC,QAAQ;YAMF,OAAO;YAiEP,cAAc;YAkCd,qBAAqB;IAWnC,OAAO,CAAC,aAAa;CAMtB;AAaD,eAAO,MAAM,aAAa,YAAmB,CAAA;AAE7C,eAAO,MAAM,QAAQ,UAvYH,MAAM,MAAM,MAAM,IAAI,KAAG,IAuYuB,CAAA;AAClE,eAAO,MAAM,IAAI,kBAAqB,CAAA;AACtC,eAAO,MAAM,EAAE,kBAAmB,CAAA;AAClC,eAAO,MAAM,SAAS,OAjYN,mBAAmB,KAAG,IAiY8B,CAAA;AACpE,eAAO,MAAM,QAAQ,OA9XN,mBAAmB,KAAG,IA8X6B,CAAA;AAClE,eAAO,MAAM,UAAU,OA3XN,gBAAgB,KAAG,IA2XkC,CAAA;AACtE,eAAO,MAAM,SAAS,OAxXN,gBAAgB,KAAG,IAwXiC,CAAA;AACpE,eAAO,MAAM,GAAG,QArXD,OAAO,CAAC,WAAW,CAqXsB,CAAA;AACxD,eAAO,MAAM,OAAO,YA1SK,WAAW,YAAW,cAAc,KAAQ,OAAO,CAAC,MAAM,CA0SnB,CAAA"}
|
|
@@ -0,0 +1,390 @@
|
|
|
1
|
+
import { mkdir, writeFile } from 'node:fs/promises';
|
|
2
|
+
import { dirname, join, resolve } from 'node:path';
|
|
3
|
+
import { Browser } from '../browser/Browser.js';
|
|
4
|
+
import { E2EError, E2EErrorCode } from '../errors/E2EError.js';
|
|
5
|
+
import { collectChecks } from '../assertion/recorder.js';
|
|
6
|
+
import { renderHtmlReport } from './HtmlReport.js';
|
|
7
|
+
import {} from '../browser/Page.js';
|
|
8
|
+
export class TestRunner {
|
|
9
|
+
tests = [];
|
|
10
|
+
beforeAllHooks = [];
|
|
11
|
+
afterAllHooks = [];
|
|
12
|
+
beforeEachHooks = [];
|
|
13
|
+
afterEachHooks = [];
|
|
14
|
+
suiteStack = [];
|
|
15
|
+
browserFactory;
|
|
16
|
+
outputDir;
|
|
17
|
+
screenshotDir;
|
|
18
|
+
summaryPath;
|
|
19
|
+
htmlPath;
|
|
20
|
+
locale;
|
|
21
|
+
progressEnabled;
|
|
22
|
+
output;
|
|
23
|
+
test;
|
|
24
|
+
it;
|
|
25
|
+
constructor(options = {}) {
|
|
26
|
+
this.browserFactory = options.browserFactory ?? (() => Browser.connect());
|
|
27
|
+
this.outputDir = options.outputDir ?? resolve(process.cwd(), 'test-results');
|
|
28
|
+
this.screenshotDir = options.screenshotDir ?? join(this.outputDir, 'screenshots');
|
|
29
|
+
this.summaryPath = options.summaryPath ?? join(this.outputDir, 'summary.json');
|
|
30
|
+
this.htmlPath = options.htmlPath;
|
|
31
|
+
this.locale = options.locale;
|
|
32
|
+
this.progressEnabled = options.progress ?? true;
|
|
33
|
+
this.output = options.output ?? console;
|
|
34
|
+
const normal = this.createTestRegistration('normal');
|
|
35
|
+
const only = this.createTestRegistration('only');
|
|
36
|
+
const skip = this.createTestRegistration('skip');
|
|
37
|
+
normal.only = only;
|
|
38
|
+
normal.skip = skip;
|
|
39
|
+
only.only = only;
|
|
40
|
+
only.skip = skip;
|
|
41
|
+
skip.only = only;
|
|
42
|
+
skip.skip = skip;
|
|
43
|
+
this.test = normal;
|
|
44
|
+
this.it = this.test;
|
|
45
|
+
}
|
|
46
|
+
describe(title, fn) {
|
|
47
|
+
this.suiteStack.push(title);
|
|
48
|
+
try {
|
|
49
|
+
fn();
|
|
50
|
+
}
|
|
51
|
+
finally {
|
|
52
|
+
this.suiteStack.pop();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
beforeAll(fn) {
|
|
56
|
+
this.beforeAllHooks.push(fn);
|
|
57
|
+
}
|
|
58
|
+
afterAll(fn) {
|
|
59
|
+
this.afterAllHooks.push(fn);
|
|
60
|
+
}
|
|
61
|
+
beforeEach(fn) {
|
|
62
|
+
this.beforeEachHooks.push(fn);
|
|
63
|
+
}
|
|
64
|
+
afterEach(fn) {
|
|
65
|
+
this.afterEachHooks.push(fn);
|
|
66
|
+
}
|
|
67
|
+
async run() {
|
|
68
|
+
const startedAt = Date.now();
|
|
69
|
+
const results = [];
|
|
70
|
+
const selectedTests = this.getSelectedTests();
|
|
71
|
+
if (selectedTests.length === 0) {
|
|
72
|
+
throw E2EError.invalidArgument('tests', 'at least one registered test', 0);
|
|
73
|
+
}
|
|
74
|
+
const browser = await this.browserFactory();
|
|
75
|
+
let beforeAllError;
|
|
76
|
+
try {
|
|
77
|
+
for (const hook of this.beforeAllHooks) {
|
|
78
|
+
await hook({ browser });
|
|
79
|
+
}
|
|
80
|
+
const total = selectedTests.length;
|
|
81
|
+
let position = 0;
|
|
82
|
+
for (const { testCase, skipReason } of selectedTests) {
|
|
83
|
+
position += 1;
|
|
84
|
+
const result = skipReason
|
|
85
|
+
? this.createSkippedResult(testCase, skipReason)
|
|
86
|
+
: await this.runTestWithRetries(browser, testCase, position, total);
|
|
87
|
+
if (skipReason) {
|
|
88
|
+
this.progress(`- [${position}/${total}] ${testCase.title} (skipped: ${skipReason})`);
|
|
89
|
+
}
|
|
90
|
+
results.push(result);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
// A failing beforeAll hook means no test can run; record it and still
|
|
95
|
+
// let afterAll hooks clean up.
|
|
96
|
+
beforeAllError = error;
|
|
97
|
+
const failedAt = new Date().toISOString();
|
|
98
|
+
results.push({
|
|
99
|
+
title: 'beforeAll hook',
|
|
100
|
+
status: 'failed',
|
|
101
|
+
durationMs: Date.now() - startedAt,
|
|
102
|
+
attempts: 0,
|
|
103
|
+
failedAt,
|
|
104
|
+
error: error instanceof Error ? error.message : String(error)
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
finally {
|
|
108
|
+
try {
|
|
109
|
+
for (const hook of this.afterAllHooks) {
|
|
110
|
+
await hook({ browser });
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
this.output.error(`afterAll hook failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
115
|
+
}
|
|
116
|
+
await browser.close();
|
|
117
|
+
}
|
|
118
|
+
if (beforeAllError && results.every((result) => result.status === 'skipped')) {
|
|
119
|
+
// Nothing ran, so surface the setup failure to the caller.
|
|
120
|
+
throw beforeAllError;
|
|
121
|
+
}
|
|
122
|
+
return {
|
|
123
|
+
total: results.length,
|
|
124
|
+
passed: results.filter((result) => result.status === 'passed').length,
|
|
125
|
+
failed: results.filter((result) => result.status === 'failed').length,
|
|
126
|
+
skipped: results.filter((result) => result.status === 'skipped').length,
|
|
127
|
+
durationMs: Date.now() - startedAt,
|
|
128
|
+
results
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Prints the summary, writes `summary.json` for machines and `summary.html`
|
|
133
|
+
* for people, and returns the path of the HTML report.
|
|
134
|
+
*/
|
|
135
|
+
async summary(summary, options = {}) {
|
|
136
|
+
this.output.log(`Total: ${summary.total}`);
|
|
137
|
+
this.output.log(`Passed: ${summary.passed}`);
|
|
138
|
+
this.output.log(`Failed: ${summary.failed}`);
|
|
139
|
+
this.output.log(`Skipped: ${summary.skipped}`);
|
|
140
|
+
this.output.log(`Duration: ${summary.durationMs}ms`);
|
|
141
|
+
for (const result of summary.results) {
|
|
142
|
+
if (result.status === 'failed') {
|
|
143
|
+
this.output.error(`Failed: ${result.title}`);
|
|
144
|
+
this.output.error(`Time: ${result.failedAt}`);
|
|
145
|
+
this.output.error(`Error: ${result.error}`);
|
|
146
|
+
if (result.screenshotPath) {
|
|
147
|
+
this.output.error(`Screenshot: ${result.screenshotPath}`);
|
|
148
|
+
}
|
|
149
|
+
if (result.pageUrl) {
|
|
150
|
+
this.output.error(`URL: ${result.pageUrl}`);
|
|
151
|
+
}
|
|
152
|
+
// Shown separately because on a mid-navigation failure these differ,
|
|
153
|
+
// and the gap is the whole story: the test meant to be somewhere else.
|
|
154
|
+
if (result.expectedUrl && result.expectedUrl !== result.pageUrl) {
|
|
155
|
+
this.output.error(`Expected URL: ${result.expectedUrl}`);
|
|
156
|
+
}
|
|
157
|
+
if (result.pageTitle) {
|
|
158
|
+
this.output.error(`Title: ${result.pageTitle}`);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
// The last thing printed, so a CI log ends on an unambiguous "it finished"
|
|
163
|
+
// line rather than a path the reader has to interpret.
|
|
164
|
+
this.output.log(summary.failed > 0
|
|
165
|
+
? `Test run finished with ${summary.failed} failed of ${summary.total}.`
|
|
166
|
+
: `Test run finished: ${summary.passed} passed, ${summary.skipped} skipped.`);
|
|
167
|
+
// The single most useful thing for "where did it hang" is the per-tool
|
|
168
|
+
// trace, and it is off by default, so failures should say it exists.
|
|
169
|
+
if (summary.failed > 0 && !process.env['DEBUG']?.includes('chrome-e2e')) {
|
|
170
|
+
this.output.log(`Re-run with DEBUG=chrome-e2e to trace every MCP tool call.`);
|
|
171
|
+
}
|
|
172
|
+
const baseDir = options.outputDir ?? this.outputDir;
|
|
173
|
+
const summaryPath = options.summaryPath ?? join(baseDir, 'summary.json');
|
|
174
|
+
const htmlPath = options.htmlPath ?? this.htmlPath ?? join(baseDir, 'summary.html');
|
|
175
|
+
await mkdir(dirname(summaryPath), { recursive: true });
|
|
176
|
+
await writeFile(summaryPath, `${JSON.stringify(summary, null, 2)}\n`, 'utf8');
|
|
177
|
+
// A report that cannot be rendered must not lose the run, so failures here
|
|
178
|
+
// are reported and the JSON result is still returned.
|
|
179
|
+
try {
|
|
180
|
+
const report = await renderHtmlReport(summary, {
|
|
181
|
+
htmlPath,
|
|
182
|
+
jsonPath: summaryPath,
|
|
183
|
+
locale: options.locale ?? this.locale
|
|
184
|
+
});
|
|
185
|
+
await mkdir(dirname(htmlPath), { recursive: true });
|
|
186
|
+
await writeFile(htmlPath, report.html, 'utf8');
|
|
187
|
+
}
|
|
188
|
+
catch (error) {
|
|
189
|
+
this.output.error(`Failed to write HTML report: ${error instanceof Error ? error.message : String(error)}`);
|
|
190
|
+
}
|
|
191
|
+
this.output.log(`Summary: ${summaryPath}`);
|
|
192
|
+
this.output.log(`Report: ${htmlPath}`);
|
|
193
|
+
return htmlPath;
|
|
194
|
+
}
|
|
195
|
+
createTestRegistration(mode) {
|
|
196
|
+
const register = ((title, optionsOrFn, maybeFn) => {
|
|
197
|
+
const options = typeof optionsOrFn === 'function' ? {} : optionsOrFn;
|
|
198
|
+
const fn = typeof optionsOrFn === 'function' ? optionsOrFn : maybeFn;
|
|
199
|
+
if (!fn) {
|
|
200
|
+
throw new TypeError('Test callback is required');
|
|
201
|
+
}
|
|
202
|
+
this.tests.push({
|
|
203
|
+
title: [...this.suiteStack, title].join(' > '),
|
|
204
|
+
fn,
|
|
205
|
+
mode,
|
|
206
|
+
retries: options.retries ?? 0
|
|
207
|
+
});
|
|
208
|
+
});
|
|
209
|
+
return register;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Every registered test, in declaration order, each tagged with why it will
|
|
213
|
+
* not run.
|
|
214
|
+
*
|
|
215
|
+
* Tests excluded by `test.only` used to be dropped from the report entirely,
|
|
216
|
+
* so a focused run looked like a suite that had shrunk. Reporting them as
|
|
217
|
+
* skipped keeps the count honest and says which test caused the focus.
|
|
218
|
+
*/
|
|
219
|
+
getSelectedTests() {
|
|
220
|
+
const hasOnly = this.tests.some((testCase) => testCase.mode === 'only');
|
|
221
|
+
return this.tests.map((testCase) => {
|
|
222
|
+
if (testCase.mode === 'only') {
|
|
223
|
+
return { testCase };
|
|
224
|
+
}
|
|
225
|
+
if (testCase.mode === 'skip') {
|
|
226
|
+
return { testCase, skipReason: 'explicit' };
|
|
227
|
+
}
|
|
228
|
+
return hasOnly ? { testCase, skipReason: 'focused' } : { testCase };
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
createSkippedResult(testCase, reason) {
|
|
232
|
+
return {
|
|
233
|
+
title: testCase.title,
|
|
234
|
+
status: 'skipped',
|
|
235
|
+
durationMs: 0,
|
|
236
|
+
attempts: 0,
|
|
237
|
+
skipReason: reason
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
async runTestWithRetries(browser, testCase, position, total) {
|
|
241
|
+
let lastResult;
|
|
242
|
+
const marker = `[${position}/${total}]`;
|
|
243
|
+
for (let attempt = 1; attempt <= testCase.retries + 1; attempt += 1) {
|
|
244
|
+
// Announced before the attempt, so a hang is attributable to a test
|
|
245
|
+
// rather than to the run. Retries announce themselves too.
|
|
246
|
+
const retry = attempt > 1 ? ` retry ${attempt}/${testCase.retries + 1}` : '';
|
|
247
|
+
this.progress(`▶ ${marker} ${testCase.title}${retry}`);
|
|
248
|
+
const result = await this.runTest(browser, testCase, attempt);
|
|
249
|
+
result.attempts = attempt;
|
|
250
|
+
if (result.status === 'passed') {
|
|
251
|
+
this.progress(`✔ ${marker} ${testCase.title} (${formatMs(result.durationMs)})`);
|
|
252
|
+
return result;
|
|
253
|
+
}
|
|
254
|
+
lastResult = result;
|
|
255
|
+
}
|
|
256
|
+
this.progress(`✘ ${marker} ${testCase.title} — ${firstLine(lastResult?.error)}`);
|
|
257
|
+
return lastResult;
|
|
258
|
+
}
|
|
259
|
+
progress(message) {
|
|
260
|
+
if (this.progressEnabled) {
|
|
261
|
+
this.output.log(message);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
async runTest(browser, testCase, attempt) {
|
|
265
|
+
const startedAt = Date.now();
|
|
266
|
+
const page = await browser.newPage('about:blank');
|
|
267
|
+
const context = { browser, page };
|
|
268
|
+
let failure;
|
|
269
|
+
// Wrapped rather than threaded through: expect() is a free function, so
|
|
270
|
+
// the only way it can reach the test that called it is ambient state. The
|
|
271
|
+
// list lives in an AsyncLocalStorage scoped to this block, so it survives
|
|
272
|
+
// every await and stays invisible to a concurrent test.
|
|
273
|
+
const collected = await collectChecks(async () => {
|
|
274
|
+
for (const hook of this.beforeEachHooks) {
|
|
275
|
+
await hook(context);
|
|
276
|
+
}
|
|
277
|
+
await testCase.fn(context);
|
|
278
|
+
});
|
|
279
|
+
const checks = collected.checks;
|
|
280
|
+
if (collected.error) {
|
|
281
|
+
failure = collected.error;
|
|
282
|
+
}
|
|
283
|
+
try {
|
|
284
|
+
for (const hook of this.afterEachHooks) {
|
|
285
|
+
await hook(context);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
catch (error) {
|
|
289
|
+
failure ??= error;
|
|
290
|
+
}
|
|
291
|
+
try {
|
|
292
|
+
const failedAt = failure ? new Date().toISOString() : undefined;
|
|
293
|
+
const result = {
|
|
294
|
+
title: testCase.title,
|
|
295
|
+
status: failure ? 'failed' : 'passed',
|
|
296
|
+
durationMs: Date.now() - startedAt,
|
|
297
|
+
attempts: attempt,
|
|
298
|
+
...(failedAt ? { failedAt } : {}),
|
|
299
|
+
...(failure ? { error: failure instanceof Error ? failure.message : String(failure) } : {}),
|
|
300
|
+
...(checks.length > 0 ? { checks } : {})
|
|
301
|
+
};
|
|
302
|
+
// Collected for passing tests too. A green row that can be opened is
|
|
303
|
+
// worth more than one that cannot: it answers "did this really exercise
|
|
304
|
+
// what I think it did", and a test that passes while logging errors is
|
|
305
|
+
// worth noticing. The screenshot stays failure-only, since capturing one
|
|
306
|
+
// for a green test costs real time and tells nobody anything.
|
|
307
|
+
await this.addDiagnostics(result, page, failure);
|
|
308
|
+
if (failure && failedAt) {
|
|
309
|
+
try {
|
|
310
|
+
result.screenshotPath = await this.saveFailureScreenshot(testCase.title, failedAt, page);
|
|
311
|
+
}
|
|
312
|
+
catch (screenshotError) {
|
|
313
|
+
result.screenshotError = screenshotError instanceof Error ? screenshotError.message : String(screenshotError);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
return result;
|
|
317
|
+
}
|
|
318
|
+
finally {
|
|
319
|
+
if (!page.isClosed()) {
|
|
320
|
+
await page.close();
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
async addDiagnostics(result, page, failure) {
|
|
325
|
+
const diagnostics = [
|
|
326
|
+
['pageUrl', () => page.url()],
|
|
327
|
+
['pageTitle', () => page.title()],
|
|
328
|
+
['consoleMessages', () => page.consoleMessages()],
|
|
329
|
+
['networkRequests', () => page.network.list()]
|
|
330
|
+
];
|
|
331
|
+
for (const [key, collect] of diagnostics) {
|
|
332
|
+
try {
|
|
333
|
+
;
|
|
334
|
+
result[key] = await collect();
|
|
335
|
+
}
|
|
336
|
+
catch {
|
|
337
|
+
// Diagnostics are best-effort; never mask the original failure.
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
// pageUrl is read after the failure, so a test that died mid-navigation
|
|
341
|
+
// reports the URL it was leaving, not the one it meant to reach. The
|
|
342
|
+
// timeout's own details are the only record of the intended target, so
|
|
343
|
+
// carry them into the result rather than letting the report imply the
|
|
344
|
+
// test never navigated at all.
|
|
345
|
+
if (failure instanceof E2EError) {
|
|
346
|
+
result.errorDetails = failure.details;
|
|
347
|
+
const expectedUrl = failure.details?.['url'];
|
|
348
|
+
if (typeof expectedUrl === 'string' && expectedUrl !== result.pageUrl) {
|
|
349
|
+
result.expectedUrl = expectedUrl;
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
async saveFailureScreenshot(title, failedAt, page) {
|
|
354
|
+
const screenshot = await page.screenshot({ fullPage: true });
|
|
355
|
+
await mkdir(this.screenshotDir, { recursive: true });
|
|
356
|
+
const timestamp = failedAt.replace(/[:.]/g, '-');
|
|
357
|
+
const filename = `${timestamp}-${this.sanitizeTitle(title)}.png`;
|
|
358
|
+
const filePath = resolve(this.screenshotDir, filename);
|
|
359
|
+
await writeFile(filePath, screenshot);
|
|
360
|
+
return filePath;
|
|
361
|
+
}
|
|
362
|
+
sanitizeTitle(title) {
|
|
363
|
+
return title
|
|
364
|
+
.replace(/[^a-zA-Z0-9\u4e00-\u9fa5]+/g, '-')
|
|
365
|
+
.replace(/^-+|-+$/g, '')
|
|
366
|
+
.slice(0, 80);
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
function formatMs(ms) {
|
|
370
|
+
if (ms < 1000)
|
|
371
|
+
return `${ms}ms`;
|
|
372
|
+
if (ms < 60000)
|
|
373
|
+
return `${(ms / 1000).toFixed(1)}s`;
|
|
374
|
+
return `${Math.floor(ms / 60000)}m ${Math.round((ms % 60000) / 1000)}s`;
|
|
375
|
+
}
|
|
376
|
+
/** The first line of an error, so a progress line stays one line long. */
|
|
377
|
+
function firstLine(message) {
|
|
378
|
+
return (message ?? 'unknown error').split('\n')[0]?.trim() ?? 'unknown error';
|
|
379
|
+
}
|
|
380
|
+
export const defaultRunner = new TestRunner();
|
|
381
|
+
export const describe = defaultRunner.describe.bind(defaultRunner);
|
|
382
|
+
export const test = defaultRunner.test;
|
|
383
|
+
export const it = defaultRunner.it;
|
|
384
|
+
export const beforeAll = defaultRunner.beforeAll.bind(defaultRunner);
|
|
385
|
+
export const afterAll = defaultRunner.afterAll.bind(defaultRunner);
|
|
386
|
+
export const beforeEach = defaultRunner.beforeEach.bind(defaultRunner);
|
|
387
|
+
export const afterEach = defaultRunner.afterEach.bind(defaultRunner);
|
|
388
|
+
export const run = defaultRunner.run.bind(defaultRunner);
|
|
389
|
+
export const summary = defaultRunner.summary.bind(defaultRunner);
|
|
390
|
+
//# sourceMappingURL=Runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Runner.js","sourceRoot":"","sources":["../../src/test/Runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type { ReportLocale } from './HtmlReport.js';
|
|
2
|
+
export { TestRunner, defaultRunner, describe, test, it, beforeAll, afterAll, beforeEach, afterEach, run, summary, type BrowserContext, type BrowserHookCallback, type TestCallback, type TestContext, type TestHookCallback, type TestOptions, type TestRegistration, type TestResult, type TestRunnerOptions, type TestSummary, type SummaryOptions } from './Runner.js';
|
|
3
|
+
export { Browser, Locator, Network, Page, PageLocalStorage, SoftAssertions, AssertionError, Expect, connect, expect, loadEnv, logger, getLogger, setDebugMode, isDebugMode, VERSION, E2EError, E2EErrorCode, type BrowserOptions, type ExpectOptions, type LocatorOptions, type NetworkRequest, type NetworkResponse, type PageInfo, type SnapshotResult, type ScreenshotOptions } from '../index.js';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAEnD,OAAO,EACL,UAAU,EACV,aAAa,EACb,QAAQ,EACR,IAAI,EACJ,EAAE,EACF,SAAS,EACT,QAAQ,EACR,UAAU,EACV,SAAS,EACT,GAAG,EACH,OAAO,EACP,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,OAAO,EACP,OAAO,EACP,OAAO,EACP,IAAI,EACJ,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,MAAM,EACN,OAAO,EACP,MAAM,EACN,OAAO,EACP,MAAM,EACN,SAAS,EACT,YAAY,EACZ,WAAW,EACX,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { TestRunner, defaultRunner, describe, test, it, beforeAll, afterAll, beforeEach, afterEach, run, summary } from './Runner.js';
|
|
2
|
+
export { Browser, Locator, Network, Page, PageLocalStorage, SoftAssertions, AssertionError, Expect, connect, expect, loadEnv, logger, getLogger, setDebugMode, isDebugMode, VERSION, E2EError, E2EErrorCode } from '../index.js';
|
|
3
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EACV,aAAa,EACb,QAAQ,EACR,IAAI,EACJ,EAAE,EACF,SAAS,EACT,QAAQ,EACR,UAAU,EACV,SAAS,EACT,GAAG,EACH,OAAO,EAYR,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,OAAO,EACP,OAAO,EACP,OAAO,EACP,IAAI,EACJ,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,MAAM,EACN,OAAO,EACP,MAAM,EACN,OAAO,EACP,MAAM,EACN,SAAS,EACT,YAAY,EACZ,WAAW,EACX,OAAO,EACP,QAAQ,EACR,YAAY,EASb,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO,UAAU,CAAA"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,oDAAoD;AACpD,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAA"}
|