@hapergg/harness-comet-adapter-playwright 0.1.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/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +323 -0
- package/dist/index.js.map +1 -0
- package/package.json +49 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { Page } from "playwright";
|
|
2
|
+
import type { HarnessAdapter } from "@hapergg/harness-comet-sdk";
|
|
3
|
+
import type { JsonValue } from "@hapergg/harness-comet-schema";
|
|
4
|
+
export declare function registerEvaluateFunction(name: string, fn: (page: Page, arg: JsonValue) => Promise<JsonValue> | JsonValue): void;
|
|
5
|
+
export declare function getPlaywrightBrowserDiagnostics(browserName?: "chromium" | "firefox" | "webkit"): Promise<{
|
|
6
|
+
browser: "chromium" | "firefox" | "webkit";
|
|
7
|
+
executablePath: string;
|
|
8
|
+
installed: boolean;
|
|
9
|
+
installCommand: string;
|
|
10
|
+
issues: string[];
|
|
11
|
+
}>;
|
|
12
|
+
export declare function redactHeaders(headers: Record<string, string>): Record<string, string>;
|
|
13
|
+
export declare function createPlaywrightAdapter(options?: {
|
|
14
|
+
browser?: "chromium" | "firefox" | "webkit";
|
|
15
|
+
headless?: boolean;
|
|
16
|
+
baseUrl?: string;
|
|
17
|
+
viewport?: {
|
|
18
|
+
width: number;
|
|
19
|
+
height: number;
|
|
20
|
+
};
|
|
21
|
+
locale?: string;
|
|
22
|
+
timezoneId?: string;
|
|
23
|
+
webServer?: {
|
|
24
|
+
command: string;
|
|
25
|
+
url: string;
|
|
26
|
+
timeoutMs?: number;
|
|
27
|
+
reuseExistingServer?: boolean;
|
|
28
|
+
};
|
|
29
|
+
}): HarnessAdapter;
|
|
30
|
+
declare const _default: HarnessAdapter;
|
|
31
|
+
export default _default;
|
|
32
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA2B,IAAI,EAAW,MAAM,YAAY,CAAC;AAEzE,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,4BAA4B,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAmB/D,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,GACjE,IAAI,CAEN;AAED,wBAAsB,+BAA+B,CACnD,WAAW,GAAE,UAAU,GAAG,SAAS,GAAG,QAAqB,GAC1D,OAAO,CAAC;IACT,OAAO,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC3C,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC,CA0CD;AAgDD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOrF;AAgBD,wBAAgB,uBAAuB,CACrC,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAC5F,GACL,cAAc,CA4MhB;;AAED,wBAAyC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
import { spawn } from "node:child_process";
|
|
2
|
+
import fs from "node:fs/promises";
|
|
3
|
+
import { chromium, firefox, webkit } from "playwright";
|
|
4
|
+
const stateByRun = new WeakMap();
|
|
5
|
+
const redactedHeaders = new Set(["authorization", "cookie", "set-cookie", "x-api-key"]);
|
|
6
|
+
const evaluateFns = new Map();
|
|
7
|
+
export function registerEvaluateFunction(name, fn) {
|
|
8
|
+
evaluateFns.set(name, fn);
|
|
9
|
+
}
|
|
10
|
+
export async function getPlaywrightBrowserDiagnostics(browserName = "chromium") {
|
|
11
|
+
const browserType = browserName === "firefox" ? firefox : browserName === "webkit" ? webkit : chromium;
|
|
12
|
+
const executablePath = browserType.executablePath();
|
|
13
|
+
const issues = [];
|
|
14
|
+
let installed = false;
|
|
15
|
+
try {
|
|
16
|
+
await fs.access(executablePath);
|
|
17
|
+
installed = true;
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
installed = false;
|
|
21
|
+
issues.push(`missing browser executable: ${executablePath}`);
|
|
22
|
+
}
|
|
23
|
+
if (installed && browserName === "chromium") {
|
|
24
|
+
const frameworkPath = chromiumFrameworkPath(executablePath);
|
|
25
|
+
if (frameworkPath) {
|
|
26
|
+
try {
|
|
27
|
+
await fs.access(frameworkPath);
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
installed = false;
|
|
31
|
+
issues.push(`missing Chromium framework: ${frameworkPath}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
const headlessShellPath = chromiumHeadlessShellPath(executablePath);
|
|
35
|
+
try {
|
|
36
|
+
await fs.access(headlessShellPath);
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
installed = false;
|
|
40
|
+
issues.push(`missing Chromium headless shell: ${headlessShellPath}`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
browser: browserName,
|
|
45
|
+
executablePath,
|
|
46
|
+
installed,
|
|
47
|
+
installCommand: "rm -rf ~/Library/Caches/ms-playwright/chromium-1200 ~/Library/Caches/ms-playwright/chromium_headless_shell-1200 && pnpm setup:browsers",
|
|
48
|
+
issues
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
function chromiumFrameworkPath(executablePath) {
|
|
52
|
+
const match = executablePath.match(/(.*\.app)\/Contents\/MacOS\/Google Chrome for Testing$/);
|
|
53
|
+
if (!match)
|
|
54
|
+
return undefined;
|
|
55
|
+
const appPath = match[1];
|
|
56
|
+
const version = executablePath.match(/143\.0\.\d+\.\d+/)?.[0];
|
|
57
|
+
if (!version)
|
|
58
|
+
return `${appPath}/Contents/Frameworks`;
|
|
59
|
+
return `${appPath}/Contents/Frameworks/Google Chrome for Testing Framework.framework/Versions/${version}/Google Chrome for Testing Framework`;
|
|
60
|
+
}
|
|
61
|
+
function chromiumHeadlessShellPath(executablePath) {
|
|
62
|
+
if (executablePath.includes("/chromium-") && executablePath.includes("chrome-mac-arm64")) {
|
|
63
|
+
return executablePath
|
|
64
|
+
.replace("/chromium-", "/chromium_headless_shell-")
|
|
65
|
+
.replace("/chrome-mac-arm64/Google Chrome for Testing.app/Contents/MacOS/Google Chrome for Testing", "/chrome-headless-shell-mac-arm64/chrome-headless-shell");
|
|
66
|
+
}
|
|
67
|
+
if (executablePath.includes("/chromium-") && executablePath.includes("chrome-mac/")) {
|
|
68
|
+
return executablePath
|
|
69
|
+
.replace("/chromium-", "/chromium_headless_shell-")
|
|
70
|
+
.replace("/chrome-mac/Chromium.app/Contents/MacOS/Chromium", "/chrome-headless-shell-mac/chrome-headless-shell");
|
|
71
|
+
}
|
|
72
|
+
return executablePath
|
|
73
|
+
.replace("/chromium-", "/chromium_headless_shell-")
|
|
74
|
+
.replace(/\/(chrome|chromium)[^/]*\/.*$/, "/chrome-headless-shell");
|
|
75
|
+
}
|
|
76
|
+
function object(input) {
|
|
77
|
+
if (!input || typeof input !== "object" || Array.isArray(input))
|
|
78
|
+
return {};
|
|
79
|
+
return input;
|
|
80
|
+
}
|
|
81
|
+
function getState(context) {
|
|
82
|
+
const state = stateByRun.get(context);
|
|
83
|
+
if (!state?.page)
|
|
84
|
+
throw new Error("Playwright page is not initialized");
|
|
85
|
+
return state;
|
|
86
|
+
}
|
|
87
|
+
function page(context) {
|
|
88
|
+
return getState(context).page;
|
|
89
|
+
}
|
|
90
|
+
export function redactHeaders(headers) {
|
|
91
|
+
return Object.fromEntries(Object.entries(headers).map(([key, value]) => [
|
|
92
|
+
key,
|
|
93
|
+
redactedHeaders.has(key.toLowerCase()) ? "[REDACTED]" : value
|
|
94
|
+
]));
|
|
95
|
+
}
|
|
96
|
+
async function waitForUrl(url, timeoutMs) {
|
|
97
|
+
const started = Date.now();
|
|
98
|
+
while (Date.now() - started < timeoutMs) {
|
|
99
|
+
try {
|
|
100
|
+
const response = await fetch(url);
|
|
101
|
+
if (response.ok || response.status < 500)
|
|
102
|
+
return true;
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
// keep polling
|
|
106
|
+
}
|
|
107
|
+
await new Promise((resolve) => setTimeout(resolve, 250));
|
|
108
|
+
}
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
export function createPlaywrightAdapter(options = {}) {
|
|
112
|
+
return {
|
|
113
|
+
name: "playwright",
|
|
114
|
+
async setup(context) {
|
|
115
|
+
const state = { requests: [], consoleErrors: [], pageErrors: [] };
|
|
116
|
+
const webServer = options.webServer;
|
|
117
|
+
if (webServer) {
|
|
118
|
+
const reachable = await waitForUrl(webServer.url, 1_000);
|
|
119
|
+
if (!reachable || !webServer.reuseExistingServer) {
|
|
120
|
+
state.server = spawn(webServer.command, {
|
|
121
|
+
shell: true,
|
|
122
|
+
cwd: context.projectRoot,
|
|
123
|
+
stdio: "ignore"
|
|
124
|
+
});
|
|
125
|
+
const ready = await waitForUrl(webServer.url, webServer.timeoutMs ?? 120_000);
|
|
126
|
+
if (!ready)
|
|
127
|
+
throw new Error(`Web server did not become ready: ${webServer.url}`);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
const browserType = options.browser === "firefox" ? firefox : options.browser === "webkit" ? webkit : chromium;
|
|
131
|
+
state.browser = await browserType.launch({ headless: options.headless ?? true });
|
|
132
|
+
state.context = await state.browser.newContext({
|
|
133
|
+
viewport: options.viewport ?? { width: 1280, height: 720 },
|
|
134
|
+
locale: options.locale ?? "en-US",
|
|
135
|
+
timezoneId: options.timezoneId ?? "UTC"
|
|
136
|
+
});
|
|
137
|
+
state.page = await state.context.newPage();
|
|
138
|
+
state.page.on("request", (request) => state.requests.push(request));
|
|
139
|
+
state.page.on("console", (message) => {
|
|
140
|
+
if (message.type() === "error")
|
|
141
|
+
state.consoleErrors.push(message.text());
|
|
142
|
+
});
|
|
143
|
+
state.page.on("pageerror", (error) => state.pageErrors.push(error.message));
|
|
144
|
+
stateByRun.set(context, state);
|
|
145
|
+
},
|
|
146
|
+
async teardown(context) {
|
|
147
|
+
const state = stateByRun.get(context);
|
|
148
|
+
await state?.context?.close().catch(() => undefined);
|
|
149
|
+
await state?.browser?.close().catch(() => undefined);
|
|
150
|
+
state?.server?.kill();
|
|
151
|
+
stateByRun.delete(context);
|
|
152
|
+
},
|
|
153
|
+
actions: {
|
|
154
|
+
"page.goto": {
|
|
155
|
+
async execute(input, context) {
|
|
156
|
+
const url = String(object(input).url ?? object(input).path ?? "/");
|
|
157
|
+
await page(context).goto(url.startsWith("http") ? url : `${options.baseUrl ?? ""}${url}`);
|
|
158
|
+
return {};
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
"page.reload": {
|
|
162
|
+
async execute(_input, context) {
|
|
163
|
+
await page(context).reload();
|
|
164
|
+
return {};
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
"page.click": {
|
|
168
|
+
async execute(input, context) {
|
|
169
|
+
await page(context)
|
|
170
|
+
.locator(String(object(input).selector))
|
|
171
|
+
.click();
|
|
172
|
+
return {};
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
"page.fill": {
|
|
176
|
+
async execute(input, context) {
|
|
177
|
+
const data = object(input);
|
|
178
|
+
await page(context)
|
|
179
|
+
.locator(String(data.selector))
|
|
180
|
+
.fill(String(data.value ?? ""));
|
|
181
|
+
return {};
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
"page.press": {
|
|
185
|
+
async execute(input, context) {
|
|
186
|
+
const data = object(input);
|
|
187
|
+
await page(context).locator(String(data.selector)).press(String(data.key));
|
|
188
|
+
return {};
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
"page.selectOption": {
|
|
192
|
+
async execute(input, context) {
|
|
193
|
+
const data = object(input);
|
|
194
|
+
await page(context).locator(String(data.selector)).selectOption(String(data.value));
|
|
195
|
+
return {};
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
"page.check": {
|
|
199
|
+
async execute(input, context) {
|
|
200
|
+
await page(context)
|
|
201
|
+
.locator(String(object(input).selector))
|
|
202
|
+
.check();
|
|
203
|
+
return {};
|
|
204
|
+
}
|
|
205
|
+
},
|
|
206
|
+
"page.uncheck": {
|
|
207
|
+
async execute(input, context) {
|
|
208
|
+
await page(context)
|
|
209
|
+
.locator(String(object(input).selector))
|
|
210
|
+
.uncheck();
|
|
211
|
+
return {};
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
"page.waitFor": {
|
|
215
|
+
async execute(input, context) {
|
|
216
|
+
const data = object(input);
|
|
217
|
+
if (data.selector)
|
|
218
|
+
await page(context).locator(String(data.selector)).waitFor();
|
|
219
|
+
else
|
|
220
|
+
await page(context).waitForTimeout(Number(data.timeoutMs ?? 1000));
|
|
221
|
+
return {};
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
"page.evaluate": {
|
|
225
|
+
async execute(input, context) {
|
|
226
|
+
const data = object(input);
|
|
227
|
+
const fn = evaluateFns.get(String(data.name));
|
|
228
|
+
if (!fn)
|
|
229
|
+
throw new Error(`Evaluate function is not registered: ${String(data.name)}`);
|
|
230
|
+
return { value: await fn(page(context), data.arg ?? null) };
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
},
|
|
234
|
+
inspectors: {
|
|
235
|
+
"page.url": {
|
|
236
|
+
async inspect(_input, context) {
|
|
237
|
+
return page(context).url();
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
"page.title": {
|
|
241
|
+
async inspect(_input, context) {
|
|
242
|
+
return await page(context).title();
|
|
243
|
+
}
|
|
244
|
+
},
|
|
245
|
+
"page.text": {
|
|
246
|
+
async inspect(input, context) {
|
|
247
|
+
return await page(context)
|
|
248
|
+
.locator(String(object(input).selector))
|
|
249
|
+
.innerText();
|
|
250
|
+
}
|
|
251
|
+
},
|
|
252
|
+
"page.inputValue": {
|
|
253
|
+
async inspect(input, context) {
|
|
254
|
+
return await page(context)
|
|
255
|
+
.locator(String(object(input).selector))
|
|
256
|
+
.inputValue();
|
|
257
|
+
}
|
|
258
|
+
},
|
|
259
|
+
"page.attribute": {
|
|
260
|
+
async inspect(input, context) {
|
|
261
|
+
const data = object(input);
|
|
262
|
+
return await page(context).locator(String(data.selector)).getAttribute(String(data.name));
|
|
263
|
+
}
|
|
264
|
+
},
|
|
265
|
+
"page.visible": {
|
|
266
|
+
async inspect(input, context) {
|
|
267
|
+
return await page(context)
|
|
268
|
+
.locator(String(object(input).selector))
|
|
269
|
+
.isVisible();
|
|
270
|
+
}
|
|
271
|
+
},
|
|
272
|
+
"page.count": {
|
|
273
|
+
async inspect(input, context) {
|
|
274
|
+
return await page(context)
|
|
275
|
+
.locator(String(object(input).selector))
|
|
276
|
+
.count();
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
"page.request": {
|
|
280
|
+
async inspect(input, context) {
|
|
281
|
+
const data = object(input);
|
|
282
|
+
const state = getState(context);
|
|
283
|
+
const matches = state.requests.filter((request) => {
|
|
284
|
+
const urlOk = data.urlPattern ? request.url().includes(String(data.urlPattern)) : true;
|
|
285
|
+
const methodOk = data.method
|
|
286
|
+
? request.method() === String(data.method).toUpperCase()
|
|
287
|
+
: true;
|
|
288
|
+
return urlOk && methodOk;
|
|
289
|
+
});
|
|
290
|
+
const request = matches[Number(data.index ?? matches.length - 1)];
|
|
291
|
+
if (!request)
|
|
292
|
+
return null;
|
|
293
|
+
const headers = redactHeaders(request.headers());
|
|
294
|
+
const result = {
|
|
295
|
+
url: request.url(),
|
|
296
|
+
method: request.method(),
|
|
297
|
+
headers,
|
|
298
|
+
postData: request.postData()
|
|
299
|
+
};
|
|
300
|
+
try {
|
|
301
|
+
result.json = request.postDataJSON();
|
|
302
|
+
}
|
|
303
|
+
catch {
|
|
304
|
+
result.json = null;
|
|
305
|
+
}
|
|
306
|
+
return data.field ? (result[String(data.field)] ?? null) : result;
|
|
307
|
+
}
|
|
308
|
+
},
|
|
309
|
+
"page.consoleErrors": {
|
|
310
|
+
async inspect(_input, context) {
|
|
311
|
+
return getState(context).consoleErrors;
|
|
312
|
+
}
|
|
313
|
+
},
|
|
314
|
+
"page.pageErrors": {
|
|
315
|
+
async inspect(_input, context) {
|
|
316
|
+
return getState(context).pageErrors;
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
};
|
|
321
|
+
}
|
|
322
|
+
export default createPlaywrightAdapter();
|
|
323
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@hapergg/harness-comet-adapter-playwright",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Playwright-backed Harness Comet runtime adapter.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"engines": {
|
|
8
|
+
"node": ">=20"
|
|
9
|
+
},
|
|
10
|
+
"repository": {
|
|
11
|
+
"type": "git",
|
|
12
|
+
"url": "git+https://github.com/HarperGG/harness-comet.git",
|
|
13
|
+
"directory": "packages/adapter-playwright"
|
|
14
|
+
},
|
|
15
|
+
"homepage": "https://github.com/HarperGG/harness-comet#readme",
|
|
16
|
+
"bugs": {
|
|
17
|
+
"url": "https://github.com/HarperGG/harness-comet/issues"
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"dist"
|
|
21
|
+
],
|
|
22
|
+
"publishConfig": {
|
|
23
|
+
"access": "public",
|
|
24
|
+
"registry": "https://registry.npmjs.org/"
|
|
25
|
+
},
|
|
26
|
+
"main": "./dist/index.js",
|
|
27
|
+
"types": "./dist/index.d.ts",
|
|
28
|
+
"exports": {
|
|
29
|
+
".": {
|
|
30
|
+
"types": "./dist/index.d.ts",
|
|
31
|
+
"import": "./dist/index.js",
|
|
32
|
+
"default": "./dist/index.js"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"playwright": "^1.60.0",
|
|
37
|
+
"@hapergg/harness-comet-schema": "0.1.0",
|
|
38
|
+
"@hapergg/harness-comet-sdk": "0.1.0"
|
|
39
|
+
},
|
|
40
|
+
"devDependencies": {
|
|
41
|
+
"typescript": "^5.9.3",
|
|
42
|
+
"vitest": "^4.0.14"
|
|
43
|
+
},
|
|
44
|
+
"scripts": {
|
|
45
|
+
"clean": "rm -rf dist tsconfig.tsbuildinfo",
|
|
46
|
+
"build": "tsc -b",
|
|
47
|
+
"test": "vitest run"
|
|
48
|
+
}
|
|
49
|
+
}
|