playwriter 0.0.105 → 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/dist/bippy.js +5 -5
- package/dist/cdp-relay.d.ts.map +1 -1
- package/dist/cdp-relay.js +17 -5
- package/dist/cdp-relay.js.map +1 -1
- package/dist/cli-help.test.d.ts +2 -0
- package/dist/cli-help.test.d.ts.map +1 -0
- package/dist/cli-help.test.js +53 -0
- package/dist/cli-help.test.js.map +1 -0
- package/dist/cli.js +74 -25
- package/dist/cli.js.map +1 -1
- package/dist/executor.d.ts +1 -0
- package/dist/executor.d.ts.map +1 -1
- package/dist/executor.js +55 -12
- package/dist/executor.js.map +1 -1
- package/dist/extension/background.js +675 -27
- package/dist/extension/manifest.json +1 -1
- package/dist/ghost-cursor-client.js +170 -83
- package/dist/{recording-ghost-cursor.d.ts → ghost-cursor-controller.d.ts} +15 -10
- package/dist/ghost-cursor-controller.d.ts.map +1 -0
- package/dist/ghost-cursor-controller.js +98 -0
- package/dist/ghost-cursor-controller.js.map +1 -0
- package/dist/ghost-cursor.d.ts.map +1 -1
- package/dist/ghost-cursor.js +42 -26
- package/dist/ghost-cursor.js.map +1 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +6 -1
- package/dist/mcp.js.map +1 -1
- package/dist/on-mouse-action.test.js +25 -0
- package/dist/on-mouse-action.test.js.map +1 -1
- package/dist/performance-examples.d.ts +5 -0
- package/dist/performance-examples.d.ts.map +1 -0
- package/dist/performance-examples.js +112 -0
- package/dist/performance-examples.js.map +1 -0
- package/dist/performance-profiling.md +417 -0
- package/dist/prompt.md +22 -8
- package/dist/react-source.d.ts +44 -0
- package/dist/react-source.d.ts.map +1 -1
- package/dist/react-source.js +207 -20
- package/dist/react-source.js.map +1 -1
- package/dist/readability.js +1 -1
- package/dist/relay-core.test.d.ts.map +1 -1
- package/dist/relay-core.test.js +101 -1
- package/dist/relay-core.test.js.map +1 -1
- package/dist/relay-session.test.js +34 -6
- package/dist/relay-session.test.js.map +1 -1
- package/dist/screen-recording.d.ts +2 -2
- package/dist/screen-recording.d.ts.map +1 -1
- package/dist/screen-recording.js +19 -7
- package/dist/screen-recording.js.map +1 -1
- package/dist/selector-generator.js +1 -1
- package/package.json +7 -7
- package/src/aria-snapshots/github-interactive.txt +5 -3
- package/src/aria-snapshots/github-raw.txt +8 -5
- package/src/aria-snapshots/hackernews-interactive.txt +241 -238
- package/src/aria-snapshots/hackernews-raw.txt +269 -265
- package/src/aria-snapshots/prosemirror-interactive.txt +3 -1
- package/src/aria-snapshots/prosemirror-raw.txt +4 -1
- package/src/assets/aria-labels-hacker-news.png +0 -0
- package/src/assets/aria-labels-old-reddit.png +0 -0
- package/src/cdp-relay.ts +17 -5
- package/src/cli-help.test.ts +63 -0
- package/src/cli.ts +80 -28
- package/src/executor.ts +65 -15
- package/src/ghost-cursor-client.ts +221 -96
- package/src/{recording-ghost-cursor.ts → ghost-cursor-controller.ts} +50 -34
- package/src/ghost-cursor.ts +54 -41
- package/src/mcp.ts +6 -1
- package/src/on-mouse-action.test.ts +30 -0
- package/src/performance-examples.ts +186 -0
- package/src/react-source.ts +310 -24
- package/src/relay-core.test.ts +117 -0
- package/src/relay-session.test.ts +36 -10
- package/src/screen-recording.ts +23 -10
- package/src/skill.md +33 -9
- package/src/snapshots/shadcn-ui-accessibility-full.md +6 -3
- package/src/snapshots/shadcn-ui-accessibility-interactive.md +2 -0
- package/dist/recording-ghost-cursor.d.ts.map +0 -1
- package/dist/recording-ghost-cursor.js +0 -79
- package/dist/recording-ghost-cursor.js.map +0 -1
package/dist/react-source.js
CHANGED
|
@@ -11,22 +11,44 @@ function getBippyCode() {
|
|
|
11
11
|
bippyCode = fs.readFileSync(bippyPath, 'utf-8');
|
|
12
12
|
return bippyCode;
|
|
13
13
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
async function getPageFromTarget(target) {
|
|
15
|
+
if ('page' in target) {
|
|
16
|
+
return target.page();
|
|
17
|
+
}
|
|
18
|
+
const frame = await target.ownerFrame();
|
|
19
|
+
if (!frame) {
|
|
20
|
+
throw new Error('Could not get frame from element handle');
|
|
19
21
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
return frame.page();
|
|
23
|
+
}
|
|
24
|
+
async function ensureBippy({ page, cdp }) {
|
|
25
|
+
const hasBippy = await page.evaluate(() => {
|
|
26
|
+
return !!globalThis.__bippy;
|
|
27
|
+
});
|
|
28
|
+
if (hasBippy) {
|
|
29
|
+
return;
|
|
24
30
|
}
|
|
25
|
-
const
|
|
31
|
+
const code = getBippyCode();
|
|
32
|
+
await cdp.send('Runtime.evaluate', { expression: code });
|
|
33
|
+
}
|
|
34
|
+
export async function getReactSource({ locator, cdp: cdpSession, }) {
|
|
35
|
+
const cdp = cdpSession;
|
|
36
|
+
const page = await getPageFromTarget(locator);
|
|
37
|
+
await ensureBippy({ page, cdp });
|
|
38
|
+
const evaluateReactSource = async (el) => {
|
|
26
39
|
const bippy = globalThis.__bippy;
|
|
27
40
|
if (!bippy) {
|
|
28
41
|
throw new Error('bippy not loaded');
|
|
29
42
|
}
|
|
43
|
+
// bippy.normalizeFileName strips "/app-pages-browser/" but not the parenthesized
|
|
44
|
+
// form "/(app-pages-browser)/" that Next.js webpack actually uses. This strips
|
|
45
|
+
// all webpack layer prefixes like (app-pages-browser), (ssr), (rsc), etc.
|
|
46
|
+
const cleanName = (name) => {
|
|
47
|
+
let f = bippy.normalizeFileName(name);
|
|
48
|
+
f = f.replace(/^\/?\([-\w]+\)\//, '');
|
|
49
|
+
f = f.replace(/^\.\//, '');
|
|
50
|
+
return f;
|
|
51
|
+
};
|
|
30
52
|
const fiber = bippy.getFiberFromHostInstance(el);
|
|
31
53
|
if (!fiber) {
|
|
32
54
|
return { _notFound: 'fiber' };
|
|
@@ -34,7 +56,7 @@ export async function getReactSource({ locator, cdp: cdpSession, }) {
|
|
|
34
56
|
const source = await bippy.getSource(fiber);
|
|
35
57
|
if (source) {
|
|
36
58
|
return {
|
|
37
|
-
fileName: source.fileName ?
|
|
59
|
+
fileName: source.fileName ? cleanName(source.fileName) : null,
|
|
38
60
|
lineNumber: source.lineNumber ?? null,
|
|
39
61
|
columnNumber: source.columnNumber ?? null,
|
|
40
62
|
componentName: source.functionName ?? bippy.getDisplayName(fiber.type) ?? null,
|
|
@@ -44,7 +66,7 @@ export async function getReactSource({ locator, cdp: cdpSession, }) {
|
|
|
44
66
|
for (const frame of ownerStack) {
|
|
45
67
|
if (frame.fileName && bippy.isSourceFile(frame.fileName)) {
|
|
46
68
|
return {
|
|
47
|
-
fileName:
|
|
69
|
+
fileName: cleanName(frame.fileName),
|
|
48
70
|
lineNumber: frame.lineNumber ?? null,
|
|
49
71
|
columnNumber: frame.columnNumber ?? null,
|
|
50
72
|
componentName: frame.functionName ?? null,
|
|
@@ -52,16 +74,181 @@ export async function getReactSource({ locator, cdp: cdpSession, }) {
|
|
|
52
74
|
}
|
|
53
75
|
}
|
|
54
76
|
return { _notFound: 'source' };
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
if (result
|
|
58
|
-
|
|
77
|
+
};
|
|
78
|
+
const resolveResult = (result) => {
|
|
79
|
+
if (result?._notFound) {
|
|
80
|
+
if (result._notFound === 'fiber') {
|
|
81
|
+
console.warn('[getReactSource] no fiber found - is this a React element?');
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
console.warn('[getReactSource] no source location found - is this a React dev build?');
|
|
85
|
+
}
|
|
86
|
+
return null;
|
|
59
87
|
}
|
|
60
|
-
|
|
61
|
-
|
|
88
|
+
return result;
|
|
89
|
+
};
|
|
90
|
+
if ('page' in locator) {
|
|
91
|
+
return resolveResult(await locator.evaluate(evaluateReactSource));
|
|
92
|
+
}
|
|
93
|
+
return resolveResult(await locator.evaluate(evaluateReactSource));
|
|
94
|
+
}
|
|
95
|
+
export async function getReactComponentInfo({ locator, cdp: cdpSession, }) {
|
|
96
|
+
const cdp = cdpSession;
|
|
97
|
+
const page = await getPageFromTarget(locator);
|
|
98
|
+
await ensureBippy({ page, cdp });
|
|
99
|
+
const evaluateReactComponentInfo = async (el) => {
|
|
100
|
+
const bippy = globalThis.__bippy;
|
|
101
|
+
if (!bippy) {
|
|
102
|
+
throw new Error('bippy not loaded');
|
|
103
|
+
}
|
|
104
|
+
// bippy.normalizeFileName strips "/app-pages-browser/" but not the parenthesized
|
|
105
|
+
// form "/(app-pages-browser)/" that Next.js webpack actually uses. This strips
|
|
106
|
+
// all webpack layer prefixes like (app-pages-browser), (ssr), (rsc), etc.
|
|
107
|
+
const cleanName = (name) => {
|
|
108
|
+
let f = bippy.normalizeFileName(name);
|
|
109
|
+
f = f.replace(/^\/?\([-\w]+\)\//, '');
|
|
110
|
+
f = f.replace(/^\.\//, '');
|
|
111
|
+
return f;
|
|
112
|
+
};
|
|
113
|
+
const serializeReactValue = (value, options) => {
|
|
114
|
+
if (value === null) {
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
if (typeof value === 'string') {
|
|
118
|
+
return value.length > 300 ? `${value.slice(0, 300)}…[truncated]` : value;
|
|
119
|
+
}
|
|
120
|
+
if (typeof value === 'number' || typeof value === 'boolean') {
|
|
121
|
+
return value;
|
|
122
|
+
}
|
|
123
|
+
if (typeof value === 'undefined') {
|
|
124
|
+
return '[undefined]';
|
|
125
|
+
}
|
|
126
|
+
if (typeof value === 'function') {
|
|
127
|
+
return '[function]';
|
|
128
|
+
}
|
|
129
|
+
if (typeof value === 'symbol') {
|
|
130
|
+
return '[symbol]';
|
|
131
|
+
}
|
|
132
|
+
if (typeof value === 'bigint') {
|
|
133
|
+
return `${value.toString()}n`;
|
|
134
|
+
}
|
|
135
|
+
if (typeof value !== 'object') {
|
|
136
|
+
return `[${typeof value}]`;
|
|
137
|
+
}
|
|
138
|
+
const objectTag = Object.prototype.toString.call(value);
|
|
139
|
+
if (objectTag.includes('Element]') || objectTag === '[object Window]' || objectTag === '[object Document]') {
|
|
140
|
+
return '[dom-node]';
|
|
141
|
+
}
|
|
142
|
+
if (options.seen.has(value)) {
|
|
143
|
+
return '[circular]';
|
|
144
|
+
}
|
|
145
|
+
if (options.depth >= 3) {
|
|
146
|
+
return '[max-depth]';
|
|
147
|
+
}
|
|
148
|
+
options.seen.add(value);
|
|
149
|
+
if (Array.isArray(value)) {
|
|
150
|
+
const items = value.slice(0, 20).map((item) => {
|
|
151
|
+
return serializeReactValue(item, { depth: options.depth + 1, seen: options.seen });
|
|
152
|
+
});
|
|
153
|
+
if (value.length > 20) {
|
|
154
|
+
items.push(`…[${value.length - 20} more]`);
|
|
155
|
+
}
|
|
156
|
+
options.seen.delete(value);
|
|
157
|
+
return items;
|
|
158
|
+
}
|
|
159
|
+
const entries = Object.entries(value).slice(0, 20);
|
|
160
|
+
const result = Object.fromEntries(entries.map(([key, childValue]) => {
|
|
161
|
+
return [key, serializeReactValue(childValue, { depth: options.depth + 1, seen: options.seen })];
|
|
162
|
+
}));
|
|
163
|
+
const totalKeys = Object.keys(value).length;
|
|
164
|
+
if (totalKeys > 20) {
|
|
165
|
+
result['…'] = `[${totalKeys - 20} more keys]`;
|
|
166
|
+
}
|
|
167
|
+
options.seen.delete(value);
|
|
168
|
+
return result;
|
|
169
|
+
};
|
|
170
|
+
const getSourceForFiber = async (fiber) => {
|
|
171
|
+
try {
|
|
172
|
+
const source = await bippy.getSource(fiber);
|
|
173
|
+
if (source?.fileName) {
|
|
174
|
+
return {
|
|
175
|
+
fileName: cleanName(source.fileName),
|
|
176
|
+
lineNumber: source.lineNumber ?? null,
|
|
177
|
+
columnNumber: source.columnNumber ?? null,
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
const ownerStack = await bippy.getOwnerStack(fiber);
|
|
181
|
+
const frame = ownerStack.find((ownerFrame) => {
|
|
182
|
+
return ownerFrame.fileName ? bippy.isSourceFile(ownerFrame.fileName) : false;
|
|
183
|
+
});
|
|
184
|
+
if (frame?.fileName) {
|
|
185
|
+
return {
|
|
186
|
+
fileName: cleanName(frame.fileName),
|
|
187
|
+
lineNumber: frame.lineNumber ?? null,
|
|
188
|
+
columnNumber: frame.columnNumber ?? null,
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
catch {
|
|
193
|
+
return null;
|
|
194
|
+
}
|
|
195
|
+
return null;
|
|
196
|
+
};
|
|
197
|
+
let fiber = null;
|
|
198
|
+
try {
|
|
199
|
+
fiber = bippy.getFiberFromHostInstance(el);
|
|
200
|
+
}
|
|
201
|
+
catch {
|
|
202
|
+
return null;
|
|
203
|
+
}
|
|
204
|
+
if (!fiber) {
|
|
205
|
+
return null;
|
|
206
|
+
}
|
|
207
|
+
const componentFibers = [];
|
|
208
|
+
let current = fiber;
|
|
209
|
+
while (current && componentFibers.length < 20) {
|
|
210
|
+
try {
|
|
211
|
+
if (bippy.isCompositeFiber(current)) {
|
|
212
|
+
componentFibers.push(current);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
catch {
|
|
216
|
+
// Ignore malformed or unsupported fibers and keep walking upward.
|
|
217
|
+
}
|
|
218
|
+
current = current.return;
|
|
219
|
+
}
|
|
220
|
+
if (componentFibers.length === 0) {
|
|
221
|
+
return null;
|
|
222
|
+
}
|
|
223
|
+
const hierarchy = await Promise.all(componentFibers.map(async (componentFiber) => {
|
|
224
|
+
const componentName = (() => {
|
|
225
|
+
try {
|
|
226
|
+
return componentFiber.type ? bippy.getDisplayName(componentFiber.type) : null;
|
|
227
|
+
}
|
|
228
|
+
catch {
|
|
229
|
+
return null;
|
|
230
|
+
}
|
|
231
|
+
})();
|
|
232
|
+
return {
|
|
233
|
+
componentName,
|
|
234
|
+
source: await getSourceForFiber(componentFiber),
|
|
235
|
+
props: serializeReactValue(componentFiber.memoizedProps, { depth: 0, seen: new WeakSet() }),
|
|
236
|
+
};
|
|
237
|
+
}));
|
|
238
|
+
const nearest = hierarchy[0];
|
|
239
|
+
if (!nearest) {
|
|
240
|
+
return null;
|
|
62
241
|
}
|
|
63
|
-
return
|
|
242
|
+
return {
|
|
243
|
+
componentName: nearest.componentName,
|
|
244
|
+
source: nearest.source,
|
|
245
|
+
hierarchy,
|
|
246
|
+
props: nearest.props,
|
|
247
|
+
};
|
|
248
|
+
};
|
|
249
|
+
if ('page' in locator) {
|
|
250
|
+
return await locator.evaluate(evaluateReactComponentInfo);
|
|
64
251
|
}
|
|
65
|
-
return
|
|
252
|
+
return await locator.evaluate(evaluateReactComponentInfo);
|
|
66
253
|
}
|
|
67
254
|
//# sourceMappingURL=react-source.js.map
|
package/dist/react-source.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-source.js","sourceRoot":"","sources":["../src/react-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"react-source.js","sourceRoot":"","sources":["../src/react-source.ts"],"names":[],"mappings":"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"}
|
package/dist/readability.js
CHANGED
|
@@ -1668,7 +1668,7 @@
|
|
|
1668
1668
|
};
|
|
1669
1669
|
});
|
|
1670
1670
|
|
|
1671
|
-
// dist/_readability-entry-
|
|
1671
|
+
// dist/_readability-entry-26306-1779191184823.js
|
|
1672
1672
|
var import_readability = __toESM(require_readability(), 1);
|
|
1673
1673
|
globalThis.__readability = { Readability: import_readability.Readability, isProbablyReaderable: import_readability.isProbablyReaderable };
|
|
1674
1674
|
})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay-core.test.d.ts","sourceRoot":"","sources":["../src/relay-core.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"relay-core.test.d.ts","sourceRoot":"","sources":["../src/relay-core.test.ts"],"names":[],"mappings":"AAiBA,OAAO,wBAAwB,CAAA"}
|
package/dist/relay-core.test.js
CHANGED
|
@@ -4,7 +4,7 @@ import { chromium } from '@xmorse/playwright-core';
|
|
|
4
4
|
import { getCDPSessionForPage } from './cdp-session.js';
|
|
5
5
|
import { getCdpUrl, LOG_CDP_FILE_PATH } from './utils.js';
|
|
6
6
|
import fs from 'node:fs';
|
|
7
|
-
import { setupTestContext, cleanupTestContext, getExtensionServiceWorker, withTimeout, js, tryJsonParse, createSimpleServer, } from './test-utils.js';
|
|
7
|
+
import { setupTestContext, cleanupTestContext, getExtensionServiceWorker, withTimeout, js, tryJsonParse, createSimpleServer, safeCloseCDPBrowser, } from './test-utils.js';
|
|
8
8
|
import './test-declarations.js';
|
|
9
9
|
const TEST_PORT = 19987;
|
|
10
10
|
describe('Relay Core Tests', () => {
|
|
@@ -228,6 +228,106 @@ describe('Relay Core Tests', () => {
|
|
|
228
228
|
}
|
|
229
229
|
`);
|
|
230
230
|
}, 120000);
|
|
231
|
+
it('should ignore duplicate dialog dismissals from multiple CDP clients', async () => {
|
|
232
|
+
const browserContext = getBrowserContext();
|
|
233
|
+
const serviceWorker = await getExtensionServiceWorker(browserContext);
|
|
234
|
+
const logFilePath = `${process.cwd()}/relay-server.log`;
|
|
235
|
+
const logLineCountBefore = fs.existsSync(logFilePath)
|
|
236
|
+
? fs
|
|
237
|
+
.readFileSync(logFilePath, 'utf-8')
|
|
238
|
+
.split('\n')
|
|
239
|
+
.filter((line) => {
|
|
240
|
+
return line.trim().length > 0;
|
|
241
|
+
}).length
|
|
242
|
+
: 0;
|
|
243
|
+
const server = await createSimpleServer({
|
|
244
|
+
routes: {
|
|
245
|
+
'/': `<!doctype html>
|
|
246
|
+
<html>
|
|
247
|
+
<body>
|
|
248
|
+
<button id="open-dialog">Open dialog</button>
|
|
249
|
+
<script>
|
|
250
|
+
document.getElementById('open-dialog').addEventListener('click', () => {
|
|
251
|
+
alert('shared dialog')
|
|
252
|
+
})
|
|
253
|
+
</script>
|
|
254
|
+
</body>
|
|
255
|
+
</html>`,
|
|
256
|
+
},
|
|
257
|
+
});
|
|
258
|
+
const page = await browserContext.newPage();
|
|
259
|
+
let browserA = null;
|
|
260
|
+
let browserB = null;
|
|
261
|
+
try {
|
|
262
|
+
await page.goto(server.baseUrl, { waitUntil: 'domcontentloaded' });
|
|
263
|
+
await page.bringToFront();
|
|
264
|
+
await serviceWorker.evaluate(async () => {
|
|
265
|
+
await globalThis.toggleExtensionForActiveTab();
|
|
266
|
+
});
|
|
267
|
+
await new Promise((r) => {
|
|
268
|
+
setTimeout(r, 100);
|
|
269
|
+
});
|
|
270
|
+
browserA = await withTimeout({
|
|
271
|
+
promise: chromium.connectOverCDP(getCdpUrl({ port: TEST_PORT })),
|
|
272
|
+
timeoutMs: 10000,
|
|
273
|
+
errorMessage: 'Timed out connecting first CDP client for dialog test',
|
|
274
|
+
});
|
|
275
|
+
browserB = await withTimeout({
|
|
276
|
+
promise: chromium.connectOverCDP(getCdpUrl({ port: TEST_PORT })),
|
|
277
|
+
timeoutMs: 10000,
|
|
278
|
+
errorMessage: 'Timed out connecting second CDP client for dialog test',
|
|
279
|
+
});
|
|
280
|
+
const getConnectedPage = (browser) => {
|
|
281
|
+
return browser
|
|
282
|
+
.contexts()[0]
|
|
283
|
+
?.pages()
|
|
284
|
+
.find((candidatePage) => {
|
|
285
|
+
return candidatePage.url() === server.baseUrl + '/';
|
|
286
|
+
});
|
|
287
|
+
};
|
|
288
|
+
const connectedPageA = getConnectedPage(browserA);
|
|
289
|
+
const connectedPageB = getConnectedPage(browserB);
|
|
290
|
+
expect(connectedPageA).toBeDefined();
|
|
291
|
+
expect(connectedPageB).toBeDefined();
|
|
292
|
+
await withTimeout({
|
|
293
|
+
promise: connectedPageA.click('#open-dialog'),
|
|
294
|
+
timeoutMs: 5000,
|
|
295
|
+
errorMessage: 'Timed out opening dialog with first CDP client',
|
|
296
|
+
});
|
|
297
|
+
const secondClientResult = await withTimeout({
|
|
298
|
+
promise: connectedPageB.evaluate(() => {
|
|
299
|
+
return 2 + 2;
|
|
300
|
+
}),
|
|
301
|
+
timeoutMs: 5000,
|
|
302
|
+
errorMessage: 'Second CDP client stopped responding after shared dialog dismissal',
|
|
303
|
+
});
|
|
304
|
+
expect(secondClientResult).toBe(4);
|
|
305
|
+
await new Promise((r) => {
|
|
306
|
+
setTimeout(r, 200);
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
finally {
|
|
310
|
+
if (browserA) {
|
|
311
|
+
await safeCloseCDPBrowser(browserA);
|
|
312
|
+
}
|
|
313
|
+
if (browserB) {
|
|
314
|
+
await safeCloseCDPBrowser(browserB);
|
|
315
|
+
}
|
|
316
|
+
await page.close();
|
|
317
|
+
await server.close();
|
|
318
|
+
}
|
|
319
|
+
const logLinesAfter = fs
|
|
320
|
+
.readFileSync(logFilePath, 'utf-8')
|
|
321
|
+
.split('\n')
|
|
322
|
+
.filter((line) => {
|
|
323
|
+
return line.trim().length > 0;
|
|
324
|
+
})
|
|
325
|
+
.slice(logLineCountBefore);
|
|
326
|
+
const unexpectedRelayCrashes = logLinesAfter.filter((line) => {
|
|
327
|
+
return line.includes('Unhandled Rejection:');
|
|
328
|
+
});
|
|
329
|
+
expect(unexpectedRelayCrashes).toEqual([]);
|
|
330
|
+
}, 60000);
|
|
231
331
|
it('should execute code and capture console output', async () => {
|
|
232
332
|
await client.callTool({
|
|
233
333
|
name: 'execute',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay-core.test.js","sourceRoot":"","sources":["../src/relay-core.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"relay-core.test.js","sourceRoot":"","sources":["../src/relay-core.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -734,12 +734,24 @@ describe('CDP Session Tests', () => {
|
|
|
734
734
|
<body>
|
|
735
735
|
<div id="root"></div>
|
|
736
736
|
<script>
|
|
737
|
-
function
|
|
738
|
-
return React.createElement('button', { id: 'react-btn' },
|
|
737
|
+
function SaveButton(props) {
|
|
738
|
+
return React.createElement('button', { id: 'react-btn' }, props.label);
|
|
739
|
+
}
|
|
740
|
+
function Panel() {
|
|
741
|
+
return React.createElement('section', null, React.createElement(SaveButton, {
|
|
742
|
+
label: 'Click me',
|
|
743
|
+
count: 3,
|
|
744
|
+
config: { variant: 'primary' },
|
|
745
|
+
onClick: () => {}
|
|
746
|
+
}));
|
|
747
|
+
}
|
|
748
|
+
function App() {
|
|
749
|
+
return React.createElement(Panel);
|
|
739
750
|
}
|
|
740
751
|
const root = ReactDOM.createRoot(document.getElementById('root'));
|
|
741
|
-
root.render(React.createElement(
|
|
752
|
+
root.render(React.createElement(App));
|
|
742
753
|
</script>
|
|
754
|
+
<button id="plain-btn">Plain</button>
|
|
743
755
|
</body>
|
|
744
756
|
</html>
|
|
745
757
|
`);
|
|
@@ -759,30 +771,46 @@ describe('CDP Session Tests', () => {
|
|
|
759
771
|
expect(hasBippyBefore).toBe(false);
|
|
760
772
|
const wsUrl = getCdpUrl({ port: TEST_PORT });
|
|
761
773
|
const cdpSession = await getCDPSessionForPage({ page: cdpPage });
|
|
762
|
-
const { getReactSource } = await import('./react-source.js');
|
|
774
|
+
const { getReactSource, getReactComponentInfo } = await import('./react-source.js');
|
|
763
775
|
const source = await getReactSource({ locator: btn, cdp: cdpSession });
|
|
776
|
+
const info = await getReactComponentInfo({ locator: btn, cdp: cdpSession });
|
|
777
|
+
const plainInfo = await getReactComponentInfo({ locator: cdpPage.locator('#plain-btn'), cdp: cdpSession });
|
|
764
778
|
const hasBippyAfter = await cdpPage.evaluate(() => !!globalThis.__bippy);
|
|
765
779
|
expect(hasBippyAfter).toBe(true);
|
|
766
780
|
const hasFiber = await btn.evaluate((el) => {
|
|
767
781
|
const bippy = globalThis.__bippy;
|
|
782
|
+
if (!bippy)
|
|
783
|
+
return false;
|
|
768
784
|
const fiber = bippy.getFiberFromHostInstance(el);
|
|
769
785
|
return !!fiber;
|
|
770
786
|
});
|
|
771
787
|
expect(hasFiber).toBe(true);
|
|
772
788
|
const componentName = await btn.evaluate((el) => {
|
|
773
789
|
const bippy = globalThis.__bippy;
|
|
790
|
+
if (!bippy)
|
|
791
|
+
return null;
|
|
774
792
|
const fiber = bippy.getFiberFromHostInstance(el);
|
|
775
793
|
let current = fiber;
|
|
776
794
|
while (current) {
|
|
777
795
|
if (bippy.isCompositeFiber(current)) {
|
|
778
796
|
return bippy.getDisplayName(current.type);
|
|
779
797
|
}
|
|
780
|
-
current = current.return;
|
|
798
|
+
current = current.return ?? null;
|
|
781
799
|
}
|
|
782
800
|
return null;
|
|
783
801
|
});
|
|
784
|
-
expect(componentName).toBe('
|
|
802
|
+
expect(componentName).toBe('SaveButton');
|
|
803
|
+
expect(plainInfo).toBe(null);
|
|
804
|
+
expect(info?.componentName).toBe('SaveButton');
|
|
805
|
+
expect(info?.hierarchy.map((item) => item.componentName)).toEqual(['SaveButton', 'Panel', 'App']);
|
|
806
|
+
expect(info?.props).toEqual({
|
|
807
|
+
label: 'Click me',
|
|
808
|
+
count: 3,
|
|
809
|
+
config: { variant: 'primary' },
|
|
810
|
+
onClick: '[function]',
|
|
811
|
+
});
|
|
785
812
|
console.log('Component name from fiber:', componentName);
|
|
813
|
+
console.log('React component info:', info);
|
|
786
814
|
console.log('Source location (null for UMD React, works on local dev servers with JSX transform):', source);
|
|
787
815
|
await browser.close();
|
|
788
816
|
await page.close();
|