craftdriver 1.5.0 → 1.6.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/CHANGELOG.md +7 -0
- package/README.md +3 -1
- package/dist/cli/daemon.d.ts.map +1 -1
- package/dist/cli/daemon.js +4 -0
- package/dist/cli/daemon.js.map +1 -1
- package/dist/cli/mcp/server.d.ts.map +1 -1
- package/dist/cli/mcp/server.js +4 -0
- package/dist/cli/mcp/server.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/browser.d.ts +41 -22
- package/dist/lib/browser.d.ts.map +1 -1
- package/dist/lib/browser.js +99 -41
- package/dist/lib/browser.js.map +1 -1
- package/dist/lib/browserContext.d.ts +1 -1
- package/dist/lib/browserContext.d.ts.map +1 -1
- package/dist/lib/builder.d.ts +12 -1
- package/dist/lib/builder.d.ts.map +1 -1
- package/dist/lib/builder.js +26 -0
- package/dist/lib/builder.js.map +1 -1
- package/dist/lib/capabilities.d.ts +8 -0
- package/dist/lib/capabilities.d.ts.map +1 -1
- package/dist/lib/capabilities.js +26 -10
- package/dist/lib/capabilities.js.map +1 -1
- package/dist/lib/driver.d.ts +17 -1
- package/dist/lib/driver.d.ts.map +1 -1
- package/dist/lib/driver.js +27 -2
- package/dist/lib/driver.js.map +1 -1
- package/dist/lib/elementHandle.d.ts.map +1 -1
- package/dist/lib/elementHandle.js +34 -0
- package/dist/lib/elementHandle.js.map +1 -1
- package/dist/lib/http.d.ts.map +1 -1
- package/dist/lib/http.js +31 -10
- package/dist/lib/http.js.map +1 -1
- package/dist/lib/launchTarget.d.ts +21 -2
- package/dist/lib/launchTarget.d.ts.map +1 -1
- package/dist/lib/launchTarget.js +105 -17
- package/dist/lib/launchTarget.js.map +1 -1
- package/dist/lib/remote.d.ts +55 -0
- package/dist/lib/remote.d.ts.map +1 -0
- package/dist/lib/remote.js +127 -0
- package/dist/lib/remote.js.map +1 -0
- package/dist/lib/tracing.d.ts +1 -1
- package/dist/lib/tracing.d.ts.map +1 -1
- package/dist/lib/tracing.js.map +1 -1
- package/dist/lib/types.d.ts +22 -0
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/vibiumTrace.d.ts +1 -1
- package/dist/lib/vibiumTrace.d.ts.map +1 -1
- package/docs/api-reference.md +4 -2
- package/docs/browser-api.md +5 -4
- package/docs/driver-configuration.md +6 -0
- package/docs/index.md +1 -0
- package/docs/keyboard-mouse.md +7 -5
- package/docs/recipes/run-on-browserstack.md +265 -0
- package/docs/recipes.md +15 -1
- package/docs/remote-webdriver.md +308 -0
- package/docs/standards.md +15 -10
- package/docs/why-craftdriver.md +3 -1
- package/package.json +3 -1
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { Capabilities, WebDriverEndpoint } from './types.js';
|
|
2
|
+
export interface RemoteAuth {
|
|
3
|
+
username: string;
|
|
4
|
+
password: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Options for connecting to any W3C-compatible remote WebDriver endpoint —
|
|
8
|
+
* a self-hosted Selenium Grid, BrowserStack, or another cloud provider.
|
|
9
|
+
* Provider-specific detail (BrowserStack's `bstack:options`, etc.) is
|
|
10
|
+
* forwarded through `capabilities` without schema conversion.
|
|
11
|
+
*/
|
|
12
|
+
export interface RemoteWebDriverOptions {
|
|
13
|
+
/** The remote endpoint's WebDriver base URL, e.g. `https://hub.browserstack.com/wd/hub`. */
|
|
14
|
+
url: string;
|
|
15
|
+
/**
|
|
16
|
+
* Basic auth credentials. Mutually exclusive with URL-embedded user-info
|
|
17
|
+
* (`https://user:pass@host/...`) — set one, not both.
|
|
18
|
+
*/
|
|
19
|
+
auth?: RemoteAuth;
|
|
20
|
+
/** W3C capabilities merged under `alwaysMatch`; vendor namespaces are not schema-checked. */
|
|
21
|
+
capabilities?: Record<string, unknown>;
|
|
22
|
+
/** Timeout for the initial `POST /session` call. Defaults to craftdriver's local session-create timeout. */
|
|
23
|
+
sessionTimeoutMs?: number;
|
|
24
|
+
/** Default timeout applied to every WebDriver command after the session is created, unless overridden per call. */
|
|
25
|
+
commandTimeoutMs?: number;
|
|
26
|
+
}
|
|
27
|
+
export interface ParsedRemoteEndpoint {
|
|
28
|
+
endpoint: WebDriverEndpoint;
|
|
29
|
+
/** Timeout for the one `POST /session` call only — not stored on the endpoint, which is per-command. */
|
|
30
|
+
sessionTimeoutMs?: number;
|
|
31
|
+
}
|
|
32
|
+
/** Parse and runtime-validate remote launch options without exposing credentials. */
|
|
33
|
+
export declare function parseRemoteEndpoint(options: RemoteWebDriverOptions): ParsedRemoteEndpoint;
|
|
34
|
+
/**
|
|
35
|
+
* Build W3C capabilities for a remote session. Mirrors
|
|
36
|
+
* `buildLaunchCapabilities()`'s shape but never injects anything local-only
|
|
37
|
+
* (download prefs, `--headless`, binary paths) — remote users pass those
|
|
38
|
+
* through `remote.capabilities` themselves (e.g.
|
|
39
|
+
* `capabilities['goog:chromeOptions']`).
|
|
40
|
+
*/
|
|
41
|
+
export declare function buildRemoteCapabilities(input: {
|
|
42
|
+
browserName: string;
|
|
43
|
+
bidiRequested: boolean;
|
|
44
|
+
userCapabilities?: Record<string, unknown>;
|
|
45
|
+
}): Capabilities;
|
|
46
|
+
/**
|
|
47
|
+
* Strip query string, fragment, and embedded user-info from a URL before
|
|
48
|
+
* it goes into a log line. Some remote providers proxy the BiDi
|
|
49
|
+
* `webSocketUrl` through tokens embedded in the query string or user-info —
|
|
50
|
+
* this must never end up in the Classic-fallback warning. Falls back to a
|
|
51
|
+
* fixed placeholder if the string isn't a parseable URL at all (safer than
|
|
52
|
+
* logging it verbatim).
|
|
53
|
+
*/
|
|
54
|
+
export declare function redactUrlForLog(url: string): string;
|
|
55
|
+
//# sourceMappingURL=remote.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/lib/remote.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAIlE,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,4FAA4F;IAC5F,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,6FAA6F;IAC7F,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,4GAA4G;IAC5G,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mHAAmH;IACnH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAcD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,wGAAwG;IACxG,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qFAAqF;AACrF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,sBAAsB,GAAG,oBAAoB,CAwFzF;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C,GAAG,YAAY,CAQf;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAWnD"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { randomUUID } from 'crypto';
|
|
2
|
+
import { applyBidiDefaults } from './capabilities.js';
|
|
3
|
+
import { CraftdriverError, ErrorCode } from './errors.js';
|
|
4
|
+
function invalidArgument(message, detail) {
|
|
5
|
+
return new CraftdriverError(ErrorCode.INVALID_ARGUMENT, message, detail ? { detail } : undefined);
|
|
6
|
+
}
|
|
7
|
+
function positiveNumber(value, optionName) {
|
|
8
|
+
if (value === undefined)
|
|
9
|
+
return undefined;
|
|
10
|
+
if (typeof value !== 'number' || !Number.isFinite(value) || value <= 0) {
|
|
11
|
+
throw invalidArgument(`remote.${optionName} must be a positive number of milliseconds.`);
|
|
12
|
+
}
|
|
13
|
+
return value;
|
|
14
|
+
}
|
|
15
|
+
/** Parse and runtime-validate remote launch options without exposing credentials. */
|
|
16
|
+
export function parseRemoteEndpoint(options) {
|
|
17
|
+
if (!options || typeof options !== 'object' || Array.isArray(options)) {
|
|
18
|
+
throw invalidArgument('remote must be an object containing a url.');
|
|
19
|
+
}
|
|
20
|
+
if (typeof options.url !== 'string' || options.url.trim() === '') {
|
|
21
|
+
throw invalidArgument('remote.url must be a non-empty string.');
|
|
22
|
+
}
|
|
23
|
+
let parsed;
|
|
24
|
+
try {
|
|
25
|
+
parsed = new URL(options.url);
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
// The invalid URL may contain credentials, so do not echo it.
|
|
29
|
+
throw invalidArgument('remote.url is not a valid URL (check the scheme, host, and any embedded credentials).');
|
|
30
|
+
}
|
|
31
|
+
if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
|
|
32
|
+
throw invalidArgument(`remote.url must use http or https (got "${parsed.protocol.replace(/:$/, '')}").`);
|
|
33
|
+
}
|
|
34
|
+
if (parsed.search) {
|
|
35
|
+
throw invalidArgument('remote.url must not include a query string.');
|
|
36
|
+
}
|
|
37
|
+
if (parsed.hash) {
|
|
38
|
+
throw invalidArgument('remote.url must not include a fragment.');
|
|
39
|
+
}
|
|
40
|
+
// Extract URL credentials so downstream URLs remain safe to log.
|
|
41
|
+
const userInfoPresent = parsed.username !== '' || parsed.password !== '';
|
|
42
|
+
if (userInfoPresent && options.auth) {
|
|
43
|
+
throw invalidArgument('remote.url embeds credentials and remote.auth is also set — provide credentials one way, not both.');
|
|
44
|
+
}
|
|
45
|
+
let auth;
|
|
46
|
+
if (userInfoPresent) {
|
|
47
|
+
auth = {
|
|
48
|
+
username: decodeURIComponent(parsed.username),
|
|
49
|
+
password: decodeURIComponent(parsed.password),
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
else if (options.auth !== undefined) {
|
|
53
|
+
if (typeof options.auth !== 'object' || options.auth === null || Array.isArray(options.auth)) {
|
|
54
|
+
throw invalidArgument('remote.auth must be an object with username and password.');
|
|
55
|
+
}
|
|
56
|
+
const candidate = options.auth;
|
|
57
|
+
if (typeof candidate.username !== 'string' || typeof candidate.password !== 'string') {
|
|
58
|
+
throw invalidArgument('remote.auth.username and remote.auth.password must be strings.');
|
|
59
|
+
}
|
|
60
|
+
auth = { username: candidate.username, password: candidate.password };
|
|
61
|
+
}
|
|
62
|
+
if (auth && (auth.username === '' || auth.password === '')) {
|
|
63
|
+
throw invalidArgument('remote.auth requires a non-empty username and password.');
|
|
64
|
+
}
|
|
65
|
+
if (options.capabilities !== undefined &&
|
|
66
|
+
(typeof options.capabilities !== 'object' ||
|
|
67
|
+
options.capabilities === null ||
|
|
68
|
+
Array.isArray(options.capabilities))) {
|
|
69
|
+
throw invalidArgument('remote.capabilities must be an object.');
|
|
70
|
+
}
|
|
71
|
+
const sessionTimeoutMs = positiveNumber(options.sessionTimeoutMs, 'sessionTimeoutMs');
|
|
72
|
+
const commandTimeoutMs = positiveNumber(options.commandTimeoutMs, 'commandTimeoutMs');
|
|
73
|
+
const port = parsed.port ? Number(parsed.port) : parsed.protocol === 'https:' ? 443 : 80;
|
|
74
|
+
const rawPath = parsed.pathname === '/' ? '' : parsed.pathname.replace(/\/$/, '');
|
|
75
|
+
return {
|
|
76
|
+
endpoint: {
|
|
77
|
+
protocol: parsed.protocol === 'https:' ? 'https' : 'http',
|
|
78
|
+
hostname: parsed.hostname,
|
|
79
|
+
port,
|
|
80
|
+
path: rawPath,
|
|
81
|
+
auth,
|
|
82
|
+
// Unique per session so quitting one never tears down another's
|
|
83
|
+
// keep-alive sockets — concurrent sessions often share one hub host:port.
|
|
84
|
+
poolKey: randomUUID(),
|
|
85
|
+
commandTimeoutMs,
|
|
86
|
+
},
|
|
87
|
+
sessionTimeoutMs,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Build W3C capabilities for a remote session. Mirrors
|
|
92
|
+
* `buildLaunchCapabilities()`'s shape but never injects anything local-only
|
|
93
|
+
* (download prefs, `--headless`, binary paths) — remote users pass those
|
|
94
|
+
* through `remote.capabilities` themselves (e.g.
|
|
95
|
+
* `capabilities['goog:chromeOptions']`).
|
|
96
|
+
*/
|
|
97
|
+
export function buildRemoteCapabilities(input) {
|
|
98
|
+
const caps = { ...(input.userCapabilities ?? {}) };
|
|
99
|
+
if (caps.browserName === undefined) {
|
|
100
|
+
caps.browserName = input.browserName;
|
|
101
|
+
}
|
|
102
|
+
// Strict remote hubs require the Classic string prompt behavior.
|
|
103
|
+
applyBidiDefaults(caps, input.bidiRequested, 'string');
|
|
104
|
+
return caps;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Strip query string, fragment, and embedded user-info from a URL before
|
|
108
|
+
* it goes into a log line. Some remote providers proxy the BiDi
|
|
109
|
+
* `webSocketUrl` through tokens embedded in the query string or user-info —
|
|
110
|
+
* this must never end up in the Classic-fallback warning. Falls back to a
|
|
111
|
+
* fixed placeholder if the string isn't a parseable URL at all (safer than
|
|
112
|
+
* logging it verbatim).
|
|
113
|
+
*/
|
|
114
|
+
export function redactUrlForLog(url) {
|
|
115
|
+
try {
|
|
116
|
+
const parsed = new URL(url);
|
|
117
|
+
parsed.username = '';
|
|
118
|
+
parsed.password = '';
|
|
119
|
+
parsed.search = '';
|
|
120
|
+
parsed.hash = '';
|
|
121
|
+
return parsed.toString();
|
|
122
|
+
}
|
|
123
|
+
catch {
|
|
124
|
+
return '<unparseable-url-redacted>';
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=remote.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote.js","sourceRoot":"","sources":["../../src/lib/remote.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/tracing.d.ts
CHANGED
|
@@ -113,7 +113,7 @@ export declare class Tracer {
|
|
|
113
113
|
private actionIndex;
|
|
114
114
|
/** Tracks in-flight screenshot captures so `stop()` can drain them. */
|
|
115
115
|
private pendingCaptures;
|
|
116
|
-
constructor(browser: Browser, conn: BiDiConnection, browserName:
|
|
116
|
+
constructor(browser: Browser, conn: BiDiConnection, browserName: string);
|
|
117
117
|
get isRunning(): boolean;
|
|
118
118
|
start(opts: TraceStartOptions): Promise<void>;
|
|
119
119
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../src/lib/tracing.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../src/lib/tracing.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/tracing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/lib/tracing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACnF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AA6CvD,MAAM,OAAO,MAAM;IAqBP;IApBF,OAAO,CAAU;IACjB,IAAI,CAAiB;IACrB,WAAW,GAAG,CAAC,CAAC;IAChB,YAAY,GAAG,EAAE,CAAC;IAClB,MAAM,GAAG,EAAE,CAAC;IACZ,EAAE,GAAkB,IAAI,CAAC;IACzB,MAAM,GAAsB,EAAE,CAAC;IAC/B,eAAe,GAAG,CAAC,CAAC;IACpB,oBAAoB,GAAG,KAAK,CAAC;IAC7B,OAAO,GAAG,KAAK,CAAC;IAChB,cAAc,GAAG,IAAI,CAAC;IACtB,cAAc,GAAmB,MAAM,CAAC;IACxC,UAAU,CAAU;IACpB,WAAW,GAAG,CAAC,CAAC;IACxB,uEAAuE;IAC/D,eAAe,GAAyB,EAAE,CAAC;IAEnD,YACE,OAAgB,EAChB,IAAoB,EACZ,
|
|
1
|
+
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/lib/tracing.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -21,6 +21,28 @@ export interface WebDriverEndpoint {
|
|
|
21
21
|
hostname: string;
|
|
22
22
|
port: number;
|
|
23
23
|
path?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Basic auth credentials for this endpoint (remote WebDriver only — a
|
|
26
|
+
* local `DriverService` endpoint never sets this). Sent as an
|
|
27
|
+
* `Authorization` header by `HttpClient`, never logged.
|
|
28
|
+
*/
|
|
29
|
+
auth?: {
|
|
30
|
+
username: string;
|
|
31
|
+
password: string;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Unique key stamped on remote endpoints (`parseRemoteEndpoint`) so each
|
|
35
|
+
* remote session gets its own keep-alive agent instead of sharing one by
|
|
36
|
+
* `host:port` — many concurrent sessions legitimately share one grid/hub
|
|
37
|
+
* host. Local endpoints never set this; they keep sharing by `host:port`
|
|
38
|
+
* (every local `DriverService` picks its own free port anyway).
|
|
39
|
+
*/
|
|
40
|
+
poolKey?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Default per-command timeout (remote WebDriver only). Applied by
|
|
43
|
+
* `HttpClient.send()` when the caller doesn't pass its own `timeoutMs`.
|
|
44
|
+
*/
|
|
45
|
+
commandTimeoutMs?: number;
|
|
24
46
|
}
|
|
25
47
|
/**
|
|
26
48
|
* A cookie as serialized by the W3C WebDriver **Classic** cookie endpoints
|
package/dist/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,GAAG;IACtC,KAAK,EAAE,CAAC,CAAC;CACV;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uGAAuG;IACvG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,GAAG;IACtC,KAAK,EAAE,CAAC,CAAC;CACV;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uGAAuG;IACvG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,IAAI,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;CACtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vibiumTrace.d.ts","sourceRoot":"","sources":["../../src/lib/vibiumTrace.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"vibiumTrace.d.ts","sourceRoot":"","sources":["../../src/lib/vibiumTrace.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA+CD,+EAA+E;AAC/E,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4KlF"}
|
package/docs/api-reference.md
CHANGED
|
@@ -14,7 +14,7 @@ Launch browsers, move between pages and frames, handle dialogs, and wait for nav
|
|
|
14
14
|
| Symbol | Kind | Summary | Docs |
|
|
15
15
|
|---|---|---|---|
|
|
16
16
|
| `Browser` | class | — | [browser-api](browser-api.md) |
|
|
17
|
-
| `LaunchOptions` | type | Mutually-exclusive browser and
|
|
17
|
+
| `LaunchOptions` | type | Mutually-exclusive browser, Electron, and remote-WebDriver launch configurations. | [browser-api](browser-api.md) |
|
|
18
18
|
| `LoadState` | type | When to consider a navigation complete. - `'load'` — page `load` event has fired (default) - `'domcontentloaded'` — `DOMContentLoaded` has fired (faster, no waiting for images/fonts) - `'networkidle'` — `load` + no in-flight requests for 500 ms - `'none'` — do not wait; return as soon as the navigation is initiated | [browser-api](browser-api.md) |
|
|
19
19
|
| `Page` | class | — | [browser-api](browser-api.md) |
|
|
20
20
|
| `Frame` | class | — | [browser-api](browser-api.md) |
|
|
@@ -167,5 +167,7 @@ Exports that are public but not yet assigned to a feature group.
|
|
|
167
167
|
| `ElectronMockCall` | type | One recorded invocation of a mocked Electron main-process method. | — |
|
|
168
168
|
| `ElectronRemoteOptions` | type | Extra context ElectronRemote needs beyond the inspector endpoint. | [electron](electron.md) |
|
|
169
169
|
| `PageMatcher` | type | Selects a top-level page by `url` and/or `title` for {@link Browser.waitForPage}. A string matches as a substring; a `RegExp` is tested. When both fields are given, both must match. | [browser-api](browser-api.md) |
|
|
170
|
+
| `RemoteAuth` | type | — | — |
|
|
171
|
+
| `RemoteWebDriverOptions` | type | Options for connecting to any W3C-compatible remote WebDriver endpoint — a self-hosted Selenium Grid, BrowserStack, or another cloud provider. Provider-specific detail (BrowserStack's `bstack:options`, etc.) is forwarded through `capabilities` without schema conversion. | — |
|
|
170
172
|
|
|
171
|
-
Total exports: **
|
|
173
|
+
Total exports: **86**.
|
package/docs/browser-api.md
CHANGED
|
@@ -27,7 +27,7 @@ const browser = await Browser.launch({
|
|
|
27
27
|
|
|
28
28
|
| Option | Type | Default | Description |
|
|
29
29
|
|--------|------|---------|-------------|
|
|
30
|
-
| `browserName` | `'chrome' \| 'chromium' \| 'firefox'` | `'chrome'` |
|
|
30
|
+
| `browserName` | `'chrome' \| 'chromium' \| 'firefox' \| 'safari'`; any non-empty `string` remotely | `'chrome'` | Local browser to launch or provider-facing remote browser name |
|
|
31
31
|
| `enableBiDi` | `boolean` | browsers: `true`; Electron: `false` | Use WebDriver BiDi. Electron requires an explicit opt-in because negotiation resets its initial renderer to `about:blank`. |
|
|
32
32
|
| `storageState` | `string` | — | Path to a session-state JSON file to load on startup |
|
|
33
33
|
| `mobileEmulation` | `MobileEmulation \| DeviceName` | — | Mobile device emulation settings (Chrome/Chromium only) |
|
|
@@ -35,10 +35,11 @@ const browser = await Browser.launch({
|
|
|
35
35
|
| `browserPath` | `string` | — | Custom browser binary to launch (Chrome/Chromium/Firefox) — see [Driver Configuration → Browser Binary Configuration](./driver-configuration.md#browser-binary-configuration) |
|
|
36
36
|
| `electron` | `ElectronLaunchOptions` | — | Launch a packaged Electron application renderer instead of a browser. Mutually exclusive with browser-only options; see [Testing Electron Apps](./electron.md). |
|
|
37
37
|
| `electronService` | `ElectronService` | automatic | Customize the Electron-specific chromedriver service. Valid only with `electron`. |
|
|
38
|
+
| `remote` | `RemoteWebDriverOptions` | — | Connect to a remote W3C WebDriver endpoint instead of launching locally. It supports `browserName`, `enableBiDi`, and `storageState`, but not local service, binary, argument, emulation, or download-directory options. **Not supported by the CLI or MCP server.** See [Remote WebDriver](./remote-webdriver.md). |
|
|
38
39
|
|
|
39
|
-
The TypeScript surface is a discriminated union
|
|
40
|
-
|
|
41
|
-
JSON-driven callers.
|
|
40
|
+
The TypeScript surface is a discriminated union for local browser, Electron,
|
|
41
|
+
and remote targets. Target-specific conflicts are also validated at runtime
|
|
42
|
+
for JavaScript and JSON-driven callers.
|
|
42
43
|
|
|
43
44
|
## Navigation
|
|
44
45
|
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Driver Configuration
|
|
2
2
|
|
|
3
|
+
> This page is **local-only** — it covers resolving a local
|
|
4
|
+
> chromedriver/geckodriver/safaridriver binary. Connecting to a remote
|
|
5
|
+
> Selenium Grid or cloud provider instead of a local driver process is a
|
|
6
|
+
> different, simpler configuration surface — see
|
|
7
|
+
> [Remote WebDriver](./remote-webdriver.md).
|
|
8
|
+
|
|
3
9
|
Craftdriver resolves the WebDriver binary through a chain — first match wins:
|
|
4
10
|
|
|
5
11
|
| Step | Source |
|
package/docs/index.md
CHANGED
|
@@ -60,6 +60,7 @@ await browser.quit();
|
|
|
60
60
|
| Write browser automation | [Getting Started](./getting-started.md) |
|
|
61
61
|
| Solve a common testing workflow | [Recipes](./recipes.md) |
|
|
62
62
|
| Give an AI coding agent a browser | [AI Agent Guide](./agents.md) |
|
|
63
|
+
| Run on a Grid or cloud provider | [Remote WebDriver](./remote-webdriver.md) |
|
|
63
64
|
|
|
64
65
|
## Good Stuff To Read Next
|
|
65
66
|
|
package/docs/keyboard-mouse.md
CHANGED
|
@@ -255,10 +255,11 @@ This is often more convenient than using the global keyboard API.
|
|
|
255
255
|
|
|
256
256
|
---
|
|
257
257
|
|
|
258
|
-
## Touch gestures
|
|
258
|
+
## Touch gestures
|
|
259
259
|
|
|
260
|
-
When running with `mobileEmulation`,
|
|
261
|
-
|
|
260
|
+
When running Chrome/Chromium with `mobileEmulation`, or a remote real-device
|
|
261
|
+
session whose provider supports W3C touch-pointer actions, two convenience
|
|
262
|
+
gestures are exposed under `browser.gesture`:
|
|
262
263
|
|
|
263
264
|
```typescript
|
|
264
265
|
// Swipe from one point to another (px coordinates).
|
|
@@ -277,5 +278,6 @@ await browser.gesture.pinch({
|
|
|
277
278
|
});
|
|
278
279
|
```
|
|
279
280
|
|
|
280
|
-
These
|
|
281
|
-
|
|
281
|
+
These use W3C Pointer Actions and do not require BiDi. Remote support depends
|
|
282
|
+
on the selected device, browser, and provider. Local desktop Safari rejects
|
|
283
|
+
touch gestures because it has no documented touch-pointer automation surface.
|