playwright-e2e-mcp 0.1.3 → 0.2.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/README.md +208 -54
- package/dist/http.d.ts +1 -1
- package/dist/http.js +1 -1
- package/dist/prompts.d.ts +6 -0
- package/dist/prompts.js +39 -0
- package/dist/prompts.js.map +1 -0
- package/dist/server.d.ts +4 -3
- package/dist/server.js +63 -5
- package/dist/server.js.map +1 -1
- package/dist/tools/analyze-history.d.ts +48 -0
- package/dist/tools/analyze-history.js +132 -0
- package/dist/tools/analyze-history.js.map +1 -0
- package/dist/tools/compare-visual-state.d.ts +89 -17
- package/dist/tools/compare-visual-state.js +10 -3
- package/dist/tools/compare-visual-state.js.map +1 -1
- package/dist/tools/diagnose-flaky.js +5 -2
- package/dist/tools/diagnose-flaky.js.map +1 -1
- package/dist/tools/generate-e2e-test.d.ts +11 -0
- package/dist/tools/generate-e2e-test.js +50 -3
- package/dist/tools/generate-e2e-test.js.map +1 -1
- package/dist/tools/get-failure.d.ts +6 -1
- package/dist/tools/get-failure.js +17 -11
- package/dist/tools/get-failure.js.map +1 -1
- package/dist/tools/get-run-status.d.ts +28 -0
- package/dist/tools/get-run-status.js +75 -0
- package/dist/tools/get-run-status.js.map +1 -0
- package/dist/tools/inspect-page.d.ts +102 -14
- package/dist/tools/inspect-page.js +50 -10
- package/dist/tools/inspect-page.js.map +1 -1
- package/dist/tools/probe-script.d.ts +20 -0
- package/dist/tools/probe-script.js +641 -0
- package/dist/tools/probe-script.js.map +1 -0
- package/dist/tools/run-test.d.ts +5 -1
- package/dist/tools/run-test.js +30 -3
- package/dist/tools/run-test.js.map +1 -1
- package/dist/tools/shared.d.ts +117 -3
- package/dist/tools/shared.js +154 -285
- package/dist/tools/shared.js.map +1 -1
- package/dist/tools/suggest-fix.d.ts +89 -0
- package/dist/tools/suggest-fix.js +437 -0
- package/dist/tools/suggest-fix.js.map +1 -0
- package/dist/tools/validate-selector.d.ts +83 -6
- package/dist/tools/validate-selector.js +71 -32
- package/dist/tools/validate-selector.js.map +1 -1
- package/dist/types/index.d.ts +40 -0
- package/dist/utils/locator-expr.d.ts +38 -0
- package/dist/utils/locator-expr.js +280 -0
- package/dist/utils/locator-expr.js.map +1 -0
- package/dist/utils/playwright-runner.d.ts +9 -1
- package/dist/utils/playwright-runner.js +60 -4
- package/dist/utils/playwright-runner.js.map +1 -1
- package/dist/utils/report-parser.d.ts +3 -1
- package/dist/utils/report-parser.js +22 -0
- package/dist/utils/report-parser.js.map +1 -1
- package/dist/utils/run-history.d.ts +103 -0
- package/dist/utils/run-history.js +219 -0
- package/dist/utils/run-history.js.map +1 -0
- package/dist/utils/run-registry.d.ts +34 -0
- package/dist/utils/run-registry.js +86 -0
- package/dist/utils/run-registry.js.map +1 -0
- package/dist/utils/trace-reader.d.ts +23 -2
- package/dist/utils/trace-reader.js +86 -15
- package/dist/utils/trace-reader.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Safe parsing of Playwright locator expressions.
|
|
3
|
+
*
|
|
4
|
+
* Agents and tests speak in locators — `getByRole('button', { name: 'Save' })`,
|
|
5
|
+
* `getByTestId('cart')`, `locator('#cta').first()` — not just CSS. This module
|
|
6
|
+
* turns such an expression into a plain JSON chain of whitelisted method calls
|
|
7
|
+
* that the browser child script replays against a real page. Nothing is ever
|
|
8
|
+
* evaluated as code: the parser accepts only string, number, boolean, regex
|
|
9
|
+
* and flat object literals, and only the methods listed in LOCATOR_METHODS.
|
|
10
|
+
*
|
|
11
|
+
* A bare string that is not a call chain (`#cta`, `text=Buy`, `role=button`)
|
|
12
|
+
* becomes `locator(<string>)`, so every Playwright selector engine works too.
|
|
13
|
+
*/
|
|
14
|
+
import { PlaywrightMcpError } from '../types/index.js';
|
|
15
|
+
export const LOCATOR_METHODS = [
|
|
16
|
+
'getByRole',
|
|
17
|
+
'getByText',
|
|
18
|
+
'getByLabel',
|
|
19
|
+
'getByPlaceholder',
|
|
20
|
+
'getByAltText',
|
|
21
|
+
'getByTitle',
|
|
22
|
+
'getByTestId',
|
|
23
|
+
'locator',
|
|
24
|
+
'first',
|
|
25
|
+
'last',
|
|
26
|
+
'nth',
|
|
27
|
+
'filter',
|
|
28
|
+
];
|
|
29
|
+
const METHOD_SET = new Set(LOCATOR_METHODS);
|
|
30
|
+
const MAX_EXPRESSION_CHARS = 2_000;
|
|
31
|
+
const MAX_CALLS = 8;
|
|
32
|
+
class Cursor {
|
|
33
|
+
src;
|
|
34
|
+
pos = 0;
|
|
35
|
+
constructor(src) {
|
|
36
|
+
this.src = src;
|
|
37
|
+
}
|
|
38
|
+
skipSpace() {
|
|
39
|
+
while (this.pos < this.src.length && /\s/.test(this.src[this.pos]))
|
|
40
|
+
this.pos += 1;
|
|
41
|
+
}
|
|
42
|
+
peek() {
|
|
43
|
+
this.skipSpace();
|
|
44
|
+
return this.src[this.pos] ?? '';
|
|
45
|
+
}
|
|
46
|
+
eat(ch) {
|
|
47
|
+
if (this.peek() === ch) {
|
|
48
|
+
this.pos += 1;
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
expect(ch) {
|
|
54
|
+
if (!this.eat(ch))
|
|
55
|
+
this.fail(`expected "${ch}"`);
|
|
56
|
+
}
|
|
57
|
+
ident() {
|
|
58
|
+
this.skipSpace();
|
|
59
|
+
const match = /^[A-Za-z_$][\w$]*/.exec(this.src.slice(this.pos));
|
|
60
|
+
if (!match)
|
|
61
|
+
this.fail('expected a name');
|
|
62
|
+
this.pos += match[0].length;
|
|
63
|
+
return match[0];
|
|
64
|
+
}
|
|
65
|
+
done() {
|
|
66
|
+
this.skipSpace();
|
|
67
|
+
return this.pos >= this.src.length;
|
|
68
|
+
}
|
|
69
|
+
fail(message) {
|
|
70
|
+
throw new PlaywrightMcpError(`Cannot parse locator: ${message} at position ${this.pos + 1}`, 'INVALID_PATH', {
|
|
71
|
+
hint: 'Use a Playwright locator such as getByRole(\'button\', { name: \'Save\' }), getByTestId(\'cart\'), locator(\'#cta\').first(), or a plain selector string.',
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
function parseString(c) {
|
|
76
|
+
const quote = c.peek();
|
|
77
|
+
if (quote !== "'" && quote !== '"' && quote !== '`')
|
|
78
|
+
c.fail('expected a string');
|
|
79
|
+
c.pos += 1;
|
|
80
|
+
let out = '';
|
|
81
|
+
while (c.pos < c.src.length) {
|
|
82
|
+
const ch = c.src[c.pos];
|
|
83
|
+
if (ch === quote) {
|
|
84
|
+
c.pos += 1;
|
|
85
|
+
return out;
|
|
86
|
+
}
|
|
87
|
+
if (quote === '`' && ch === '$' && c.src[c.pos + 1] === '{')
|
|
88
|
+
c.fail('template expressions are not allowed');
|
|
89
|
+
if (ch === '\\') {
|
|
90
|
+
const next = c.src[c.pos + 1];
|
|
91
|
+
const escapes = { n: '\n', t: '\t', r: '\r', '\\': '\\', "'": "'", '"': '"', '`': '`' };
|
|
92
|
+
out += escapes[next] ?? next ?? '';
|
|
93
|
+
c.pos += 2;
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
out += ch;
|
|
97
|
+
c.pos += 1;
|
|
98
|
+
}
|
|
99
|
+
return c.fail('unterminated string');
|
|
100
|
+
}
|
|
101
|
+
function parseRegex(c) {
|
|
102
|
+
c.expect('/');
|
|
103
|
+
let source = '';
|
|
104
|
+
let inClass = false;
|
|
105
|
+
while (c.pos < c.src.length) {
|
|
106
|
+
const ch = c.src[c.pos];
|
|
107
|
+
if (ch === '\\') {
|
|
108
|
+
source += ch + (c.src[c.pos + 1] ?? '');
|
|
109
|
+
c.pos += 2;
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
if (ch === '[')
|
|
113
|
+
inClass = true;
|
|
114
|
+
if (ch === ']')
|
|
115
|
+
inClass = false;
|
|
116
|
+
if (ch === '/' && !inClass) {
|
|
117
|
+
c.pos += 1;
|
|
118
|
+
const flags = /^[dgimsuy]*/.exec(c.src.slice(c.pos))[0];
|
|
119
|
+
c.pos += flags.length;
|
|
120
|
+
try {
|
|
121
|
+
new RegExp(source, flags);
|
|
122
|
+
}
|
|
123
|
+
catch {
|
|
124
|
+
c.fail('invalid regular expression');
|
|
125
|
+
}
|
|
126
|
+
return { $regex: source, flags };
|
|
127
|
+
}
|
|
128
|
+
source += ch;
|
|
129
|
+
c.pos += 1;
|
|
130
|
+
}
|
|
131
|
+
return c.fail('unterminated regular expression');
|
|
132
|
+
}
|
|
133
|
+
function parseValue(c, depth) {
|
|
134
|
+
const ch = c.peek();
|
|
135
|
+
if (ch === "'" || ch === '"' || ch === '`')
|
|
136
|
+
return parseString(c);
|
|
137
|
+
if (ch === '/')
|
|
138
|
+
return parseRegex(c);
|
|
139
|
+
if (ch === '{') {
|
|
140
|
+
if (depth > 1)
|
|
141
|
+
c.fail('objects nest too deeply');
|
|
142
|
+
c.pos += 1;
|
|
143
|
+
const obj = {};
|
|
144
|
+
while (!c.eat('}')) {
|
|
145
|
+
const keyChar = c.peek();
|
|
146
|
+
const key = keyChar === "'" || keyChar === '"' ? parseString(c) : c.ident();
|
|
147
|
+
if (key === '__proto__' || key === 'constructor' || key === 'prototype')
|
|
148
|
+
c.fail(`key "${key}" is not allowed`);
|
|
149
|
+
c.expect(':');
|
|
150
|
+
obj[key] = parseValue(c, depth + 1);
|
|
151
|
+
if (!c.eat(',')) {
|
|
152
|
+
c.expect('}');
|
|
153
|
+
break;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return obj;
|
|
157
|
+
}
|
|
158
|
+
const rest = c.src.slice(c.pos);
|
|
159
|
+
const num = /^-?\d+(\.\d+)?/.exec(rest);
|
|
160
|
+
if (num) {
|
|
161
|
+
c.pos += num[0].length;
|
|
162
|
+
return Number(num[0]);
|
|
163
|
+
}
|
|
164
|
+
if (rest.startsWith('true')) {
|
|
165
|
+
c.pos += 4;
|
|
166
|
+
return true;
|
|
167
|
+
}
|
|
168
|
+
if (rest.startsWith('false')) {
|
|
169
|
+
c.pos += 5;
|
|
170
|
+
return false;
|
|
171
|
+
}
|
|
172
|
+
return c.fail('expected a string, number, boolean, regex or { … } object');
|
|
173
|
+
}
|
|
174
|
+
/** True when the input looks like a call chain rather than a selector string. */
|
|
175
|
+
export function isLocatorExpression(input) {
|
|
176
|
+
const trimmed = input.trim().replace(/^await\s+/, '');
|
|
177
|
+
return /^(page\s*\.\s*)?(getBy(Role|Text|Label|Placeholder|AltText|Title|TestId)|locator)\s*\(/.test(trimmed);
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Parse a locator expression or selector into a whitelisted call chain.
|
|
181
|
+
* Throws INVALID_PATH with a usable hint on anything else.
|
|
182
|
+
*/
|
|
183
|
+
export function parseLocator(input) {
|
|
184
|
+
const raw = input.trim().replace(/;$/, '').trim();
|
|
185
|
+
if (raw === '') {
|
|
186
|
+
throw new PlaywrightMcpError('Locator is empty', 'INVALID_PATH', { hint: 'Pass a selector or a Playwright locator.' });
|
|
187
|
+
}
|
|
188
|
+
if (raw.length > MAX_EXPRESSION_CHARS) {
|
|
189
|
+
throw new PlaywrightMcpError('Locator is too long', 'INVALID_PATH', {
|
|
190
|
+
hint: `Keep locators under ${MAX_EXPRESSION_CHARS} characters.`,
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
if (!isLocatorExpression(raw))
|
|
194
|
+
return [{ method: 'locator', args: [raw] }];
|
|
195
|
+
const c = new Cursor(raw.replace(/^await\s+/, ''));
|
|
196
|
+
const calls = [];
|
|
197
|
+
const first = c.ident();
|
|
198
|
+
if (first === 'page')
|
|
199
|
+
c.expect('.');
|
|
200
|
+
else
|
|
201
|
+
c.pos = 0;
|
|
202
|
+
do {
|
|
203
|
+
const method = c.ident();
|
|
204
|
+
if (!METHOD_SET.has(method))
|
|
205
|
+
c.fail(`method "${method}" is not supported`);
|
|
206
|
+
c.expect('(');
|
|
207
|
+
const args = [];
|
|
208
|
+
if (!c.eat(')')) {
|
|
209
|
+
for (;;) {
|
|
210
|
+
args.push(parseValue(c, 0));
|
|
211
|
+
if (c.eat(')'))
|
|
212
|
+
break;
|
|
213
|
+
c.expect(',');
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
calls.push({ method: method, args });
|
|
217
|
+
if (calls.length > MAX_CALLS)
|
|
218
|
+
c.fail(`more than ${MAX_CALLS} chained calls`);
|
|
219
|
+
} while (c.eat('.'));
|
|
220
|
+
if (!c.done())
|
|
221
|
+
c.fail('unexpected trailing text');
|
|
222
|
+
validateCalls(calls);
|
|
223
|
+
return calls;
|
|
224
|
+
}
|
|
225
|
+
function validateCalls(calls) {
|
|
226
|
+
for (const call of calls) {
|
|
227
|
+
const [a0] = call.args;
|
|
228
|
+
switch (call.method) {
|
|
229
|
+
case 'first':
|
|
230
|
+
case 'last':
|
|
231
|
+
if (call.args.length !== 0)
|
|
232
|
+
throw bad(`${call.method}() takes no arguments`);
|
|
233
|
+
break;
|
|
234
|
+
case 'nth':
|
|
235
|
+
if (typeof a0 !== 'number')
|
|
236
|
+
throw bad('nth() takes a number');
|
|
237
|
+
break;
|
|
238
|
+
case 'filter':
|
|
239
|
+
if (typeof a0 !== 'object' || a0 === null || '$regex' in a0)
|
|
240
|
+
throw bad('filter() takes { hasText } or { hasNotText }');
|
|
241
|
+
for (const key of Object.keys(a0)) {
|
|
242
|
+
if (key !== 'hasText' && key !== 'hasNotText' && key !== 'visible')
|
|
243
|
+
throw bad(`filter option "${key}" is not supported`);
|
|
244
|
+
}
|
|
245
|
+
break;
|
|
246
|
+
case 'locator':
|
|
247
|
+
if (typeof a0 !== 'string')
|
|
248
|
+
throw bad('locator() takes a selector string');
|
|
249
|
+
break;
|
|
250
|
+
default:
|
|
251
|
+
if (typeof a0 !== 'string' && !(typeof a0 === 'object' && a0 !== null && '$regex' in a0)) {
|
|
252
|
+
throw bad(`${call.method}() takes a string or regex first argument`);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
function bad(message) {
|
|
258
|
+
return new PlaywrightMcpError(`Cannot parse locator: ${message}`, 'INVALID_PATH', {
|
|
259
|
+
hint: 'Supported: getByRole/Text/Label/Placeholder/AltText/Title/TestId, locator, first, last, nth, filter({ hasText }).',
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
function formatArg(arg) {
|
|
263
|
+
if (typeof arg === 'string')
|
|
264
|
+
return quote(arg);
|
|
265
|
+
if (typeof arg === 'number' || typeof arg === 'boolean')
|
|
266
|
+
return String(arg);
|
|
267
|
+
if ('$regex' in arg && typeof arg.$regex === 'string')
|
|
268
|
+
return `/${arg.$regex}/${String(arg.flags ?? '')}`;
|
|
269
|
+
const entries = Object.entries(arg).map(([key, value]) => `${/^[A-Za-z_$][\w$]*$/.test(key) ? key : quote(key)}: ${formatArg(value)}`);
|
|
270
|
+
return `{ ${entries.join(', ')} }`;
|
|
271
|
+
}
|
|
272
|
+
/** Single-quoted JS string literal. */
|
|
273
|
+
export function quote(text) {
|
|
274
|
+
return `'${text.replace(/\\/g, '\\\\').replace(/'/g, "\\'").replace(/\n/g, '\\n')}'`;
|
|
275
|
+
}
|
|
276
|
+
/** Render a chain back to source, e.g. `getByRole('button', { name: 'Save' })`. */
|
|
277
|
+
export function formatLocator(calls) {
|
|
278
|
+
return calls.map((call) => `${call.method}(${call.args.map(formatArg).join(', ')})`).join('.');
|
|
279
|
+
}
|
|
280
|
+
//# sourceMappingURL=locator-expr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locator-expr.js","sourceRoot":"","sources":["../../src/utils/locator-expr.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* syntax error, browser crash, full disk, client disconnect — into a
|
|
9
9
|
* structured result.
|
|
10
10
|
*/
|
|
11
|
-
import type { ListTestsOptions, ListTestsResult, RunTestOptions, RunTestResult } from '../types/index.js';
|
|
11
|
+
import type { ListTestsOptions, ListTestsResult, RunProgress, RunTestOptions, RunTestResult } from '../types/index.js';
|
|
12
12
|
/**
|
|
13
13
|
* Locate the project's local Playwright CLI (playwright/cli.js), which
|
|
14
14
|
* we invoke directly with `node` — no shell, no npx, cross-platform.
|
|
@@ -19,7 +19,15 @@ export interface RunProcessOptions {
|
|
|
19
19
|
env: NodeJS.ProcessEnv;
|
|
20
20
|
timeoutMs: number;
|
|
21
21
|
signal?: AbortSignal;
|
|
22
|
+
/** Called with each stdout chunk as it arrives. */
|
|
23
|
+
onStdout?: (chunk: string) => void;
|
|
22
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Turn Playwright `list` reporter output into progress. Each finished test
|
|
27
|
+
* prints one line starting with a status mark (✓ ✘ - or ok/x on terminals
|
|
28
|
+
* without UTF-8) and its ordinal; "Running N tests" gives the total.
|
|
29
|
+
*/
|
|
30
|
+
export declare function createProgressParser(onProgress: (progress: RunProgress) => void): (chunk: string) => void;
|
|
23
31
|
export interface ProcessOutcome {
|
|
24
32
|
code: number | null;
|
|
25
33
|
signalName: NodeJS.Signals | null;
|
|
@@ -81,6 +81,40 @@ export async function resolvePlaywrightCli(projectRoot) {
|
|
|
81
81
|
}
|
|
82
82
|
return null;
|
|
83
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* Turn Playwright `list` reporter output into progress. Each finished test
|
|
86
|
+
* prints one line starting with a status mark (✓ ✘ - or ok/x on terminals
|
|
87
|
+
* without UTF-8) and its ordinal; "Running N tests" gives the total.
|
|
88
|
+
*/
|
|
89
|
+
export function createProgressParser(onProgress) {
|
|
90
|
+
let buffer = '';
|
|
91
|
+
const state = { done: 0, failed: 0 };
|
|
92
|
+
return (chunk) => {
|
|
93
|
+
buffer += chunk;
|
|
94
|
+
const lines = buffer.split(/\r?\n/);
|
|
95
|
+
buffer = lines.pop() ?? '';
|
|
96
|
+
let changed = false;
|
|
97
|
+
for (const raw of lines) {
|
|
98
|
+
const line = raw.replace(/\u001b\[[0-9;]*m/g, '');
|
|
99
|
+
const total = /^\s*Running (\d+) tests?\b/.exec(line);
|
|
100
|
+
if (total) {
|
|
101
|
+
state.total = Number(total[1]);
|
|
102
|
+
changed = true;
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
const done = /^\s*(✓|✘|ok|x|-|°)\s+(\d+)\s+(.*?)(?:\s+\(\d[\d.]*m?s\))?\s*$/.exec(line);
|
|
106
|
+
if (!done)
|
|
107
|
+
continue;
|
|
108
|
+
state.done = Math.max(state.done, Number(done[2]));
|
|
109
|
+
if (done[1] === '✘' || done[1] === 'x')
|
|
110
|
+
state.failed += 1;
|
|
111
|
+
state.last = done[3].slice(0, 200);
|
|
112
|
+
changed = true;
|
|
113
|
+
}
|
|
114
|
+
if (changed)
|
|
115
|
+
onProgress({ ...state });
|
|
116
|
+
};
|
|
117
|
+
}
|
|
84
118
|
/**
|
|
85
119
|
* Kill a child and its descendants. POSIX: signal the whole process
|
|
86
120
|
* group (child is spawned detached). Windows: taskkill /T walks the
|
|
@@ -199,7 +233,17 @@ export function runProcess(command, args, options) {
|
|
|
199
233
|
};
|
|
200
234
|
child.stdout?.setEncoding('utf8');
|
|
201
235
|
child.stderr?.setEncoding('utf8');
|
|
202
|
-
child.stdout?.on('data', (chunk) =>
|
|
236
|
+
child.stdout?.on('data', (chunk) => {
|
|
237
|
+
push(stdoutChunks, chunk);
|
|
238
|
+
if (options.onStdout) {
|
|
239
|
+
try {
|
|
240
|
+
options.onStdout(chunk);
|
|
241
|
+
}
|
|
242
|
+
catch {
|
|
243
|
+
/* a progress listener must never break the run */
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
});
|
|
203
247
|
child.stderr?.on('data', (chunk) => push(stderrChunks, chunk));
|
|
204
248
|
const onAbort = () => {
|
|
205
249
|
if (settled)
|
|
@@ -465,7 +509,13 @@ export async function runTests(options) {
|
|
|
465
509
|
args.push(`--grep=${sanitizeGrep(options.grep)}`);
|
|
466
510
|
if (options.lastFailed)
|
|
467
511
|
args.push('--last-failed');
|
|
468
|
-
if (project)
|
|
512
|
+
if (options.project !== undefined) {
|
|
513
|
+
if (!/^[^-\x00-\x1f\x7f][^\x00-\x1f\x7f]{0,99}$/.test(options.project)) {
|
|
514
|
+
throw new PlaywrightMcpError(`Invalid project name "${options.project}"`, 'INVALID_PATH');
|
|
515
|
+
}
|
|
516
|
+
args.push(`--project=${options.project}`);
|
|
517
|
+
}
|
|
518
|
+
else if (project)
|
|
469
519
|
args.push(`--project=${project}`);
|
|
470
520
|
if (options.headed)
|
|
471
521
|
args.push('--headed');
|
|
@@ -491,7 +541,8 @@ export async function runTests(options) {
|
|
|
491
541
|
if (args.some((arg) => arg.startsWith('--reporter'))) {
|
|
492
542
|
throw new PlaywrightMcpError('Caller arguments may not set --reporter', 'INVALID_PATH');
|
|
493
543
|
}
|
|
494
|
-
|
|
544
|
+
// The list reporter only feeds live progress; results always come from JSON.
|
|
545
|
+
args.push(options.onProgress ? '--reporter=json,list' : '--reporter=json');
|
|
495
546
|
const env = childEnv({
|
|
496
547
|
PLAYWRIGHT_JSON_OUTPUT_NAME: reportPath,
|
|
497
548
|
FORCE_COLOR: '0',
|
|
@@ -505,6 +556,7 @@ export async function runTests(options) {
|
|
|
505
556
|
env,
|
|
506
557
|
timeoutMs,
|
|
507
558
|
signal: options.signal,
|
|
559
|
+
onStdout: options.onProgress ? createProgressParser(options.onProgress) : undefined,
|
|
508
560
|
});
|
|
509
561
|
const durationMs = Date.now() - startedAt;
|
|
510
562
|
const displayCommand = ['playwright', ...args].join(' ');
|
|
@@ -516,12 +568,15 @@ export async function runTests(options) {
|
|
|
516
568
|
failures: [],
|
|
517
569
|
failuresTruncated: false,
|
|
518
570
|
tests: [],
|
|
571
|
+
outcomes: [],
|
|
519
572
|
specCount: 0,
|
|
520
573
|
projects: [],
|
|
521
574
|
configPath: null,
|
|
522
575
|
parseError: 'No JSON report was produced.',
|
|
523
576
|
};
|
|
524
|
-
|
|
577
|
+
// With the list reporter on, stdout holds every test's error text; only
|
|
578
|
+
// stderr then speaks for the run as a whole.
|
|
579
|
+
const combined = options.onProgress ? outcome.stderr : `${outcome.stderr}\n${outcome.stdout}`;
|
|
525
580
|
const diagnosis = diagnoseOutput(combined);
|
|
526
581
|
let errorKind;
|
|
527
582
|
let errorMessage;
|
|
@@ -570,6 +625,7 @@ export async function runTests(options) {
|
|
|
570
625
|
killed: outcome.timedOut || outcome.aborted,
|
|
571
626
|
partial,
|
|
572
627
|
stats: parsed.stats,
|
|
628
|
+
outcomes: parsed.outcomes,
|
|
573
629
|
failures: parsed.failures,
|
|
574
630
|
failuresTruncated: parsed.failuresTruncated,
|
|
575
631
|
stdoutTail: tail(outcome.stdout),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playwright-runner.js","sourceRoot":"","sources":["../../src/utils/playwright-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"playwright-runner.js","sourceRoot":"","sources":["../../src/utils/playwright-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,13 +6,15 @@
|
|
|
6
6
|
* syntax error, full disk…) `diagnoseOutput` turns raw stdout/stderr
|
|
7
7
|
* into an ErrorKind + actionable hint.
|
|
8
8
|
*/
|
|
9
|
-
import type { DiscoveredTest, ErrorKind, FailureKind, ReportStats, TestFailure, TestStatus } from '../types/index.js';
|
|
9
|
+
import type { DiscoveredTest, ErrorKind, FailureKind, ReportStats, TestFailure, TestOutcome, TestStatus } from '../types/index.js';
|
|
10
10
|
export interface ParsedReport {
|
|
11
11
|
stats: ReportStats | null;
|
|
12
12
|
failures: TestFailure[];
|
|
13
13
|
failuresTruncated: boolean;
|
|
14
14
|
/** Every test case in the report (used by --list parsing). */
|
|
15
15
|
tests: DiscoveredTest[];
|
|
16
|
+
/** Final outcome per test case and project (used by run history). */
|
|
17
|
+
outcomes: TestOutcome[];
|
|
16
18
|
specCount: number;
|
|
17
19
|
projects: string[];
|
|
18
20
|
configPath: string | null;
|
|
@@ -222,6 +222,7 @@ export function parseReportJson(raw, root = '', maxFailures = MAX_FAILURES) {
|
|
|
222
222
|
failures: [],
|
|
223
223
|
failuresTruncated: false,
|
|
224
224
|
tests: [],
|
|
225
|
+
outcomes: [],
|
|
225
226
|
specCount: 0,
|
|
226
227
|
projects: [],
|
|
227
228
|
configPath: null,
|
|
@@ -240,6 +241,7 @@ export function parseReport(report, root = '', maxFailures = MAX_FAILURES) {
|
|
|
240
241
|
failures: [],
|
|
241
242
|
failuresTruncated: false,
|
|
242
243
|
tests: [],
|
|
244
|
+
outcomes: [],
|
|
243
245
|
specCount: 0,
|
|
244
246
|
projects: [],
|
|
245
247
|
configPath: null,
|
|
@@ -333,6 +335,25 @@ export function parseReport(report, root = '', maxFailures = MAX_FAILURES) {
|
|
|
333
335
|
if (project?.name)
|
|
334
336
|
ctx.projectsSeen.add(project.name);
|
|
335
337
|
}
|
|
338
|
+
const outcomes = [];
|
|
339
|
+
for (const record of ctx.records) {
|
|
340
|
+
for (const outcome of record.outcomes) {
|
|
341
|
+
const entry = {
|
|
342
|
+
file: record.file,
|
|
343
|
+
line: record.line,
|
|
344
|
+
title: record.titlePath.join(' › '),
|
|
345
|
+
project: outcome.project,
|
|
346
|
+
status: outcome.status,
|
|
347
|
+
durationMs: outcome.durationMs,
|
|
348
|
+
};
|
|
349
|
+
if (outcome.status === 'failed' || outcome.status === 'timedOut' || outcome.status === 'flaky') {
|
|
350
|
+
const message = stripAnsi(outcome.error?.message ?? '').trim();
|
|
351
|
+
entry.message = (message.split('\n')[0] ?? '').slice(0, 200) || undefined;
|
|
352
|
+
entry.failureKind = classifyFailure(`${message}\n${stripAnsi(outcome.error?.stack ?? '')}`, outcome.status);
|
|
353
|
+
}
|
|
354
|
+
outcomes.push(entry);
|
|
355
|
+
}
|
|
356
|
+
}
|
|
336
357
|
const totalTestCases = ctx.records.reduce((sum, record) => {
|
|
337
358
|
return sum + (record.outcomes.length > 0 ? record.outcomes.length : 1);
|
|
338
359
|
}, 0);
|
|
@@ -344,6 +365,7 @@ export function parseReport(report, root = '', maxFailures = MAX_FAILURES) {
|
|
|
344
365
|
failures,
|
|
345
366
|
failuresTruncated,
|
|
346
367
|
tests,
|
|
368
|
+
outcomes,
|
|
347
369
|
specCount: totalTestCases,
|
|
348
370
|
projects: [...ctx.projectsSeen],
|
|
349
371
|
configPath,
|