craftdriver 0.0.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.
Files changed (192) hide show
  1. package/CHANGELOG.md +104 -0
  2. package/README.md +186 -10
  3. package/bin/craftdriver.mjs +26 -0
  4. package/dist/cli/client.d.ts +17 -0
  5. package/dist/cli/client.d.ts.map +1 -0
  6. package/dist/cli/client.js +88 -0
  7. package/dist/cli/client.js.map +1 -0
  8. package/dist/cli/daemon.d.ts +15 -0
  9. package/dist/cli/daemon.d.ts.map +1 -0
  10. package/dist/cli/daemon.js +145 -0
  11. package/dist/cli/daemon.js.map +1 -0
  12. package/dist/cli/defaults.d.ts +10 -0
  13. package/dist/cli/defaults.d.ts.map +1 -0
  14. package/dist/cli/defaults.js +42 -0
  15. package/dist/cli/defaults.js.map +1 -0
  16. package/dist/cli/dispatcher.d.ts +28 -0
  17. package/dist/cli/dispatcher.d.ts.map +1 -0
  18. package/dist/cli/dispatcher.js +319 -0
  19. package/dist/cli/dispatcher.js.map +1 -0
  20. package/dist/cli/index.d.ts +2 -0
  21. package/dist/cli/index.d.ts.map +1 -0
  22. package/dist/cli/index.js +404 -0
  23. package/dist/cli/index.js.map +1 -0
  24. package/dist/cli/init.d.ts +24 -0
  25. package/dist/cli/init.d.ts.map +1 -0
  26. package/dist/cli/init.js +192 -0
  27. package/dist/cli/init.js.map +1 -0
  28. package/dist/cli/mcp/artifacts.d.ts +43 -0
  29. package/dist/cli/mcp/artifacts.d.ts.map +1 -0
  30. package/dist/cli/mcp/artifacts.js +104 -0
  31. package/dist/cli/mcp/artifacts.js.map +1 -0
  32. package/dist/cli/mcp/server.d.ts +34 -0
  33. package/dist/cli/mcp/server.d.ts.map +1 -0
  34. package/dist/cli/mcp/server.js +214 -0
  35. package/dist/cli/mcp/server.js.map +1 -0
  36. package/dist/cli/mcp/tools.d.ts +34 -0
  37. package/dist/cli/mcp/tools.d.ts.map +1 -0
  38. package/dist/cli/mcp/tools.js +236 -0
  39. package/dist/cli/mcp/tools.js.map +1 -0
  40. package/dist/cli/parseArgs.d.ts +37 -0
  41. package/dist/cli/parseArgs.d.ts.map +1 -0
  42. package/dist/cli/parseArgs.js +215 -0
  43. package/dist/cli/parseArgs.js.map +1 -0
  44. package/dist/cli/protocol.d.ts +34 -0
  45. package/dist/cli/protocol.d.ts.map +1 -0
  46. package/dist/cli/protocol.js +2 -0
  47. package/dist/cli/protocol.js.map +1 -0
  48. package/dist/cli/selector.d.ts +29 -0
  49. package/dist/cli/selector.d.ts.map +1 -0
  50. package/dist/cli/selector.js +100 -0
  51. package/dist/cli/selector.js.map +1 -0
  52. package/dist/cli/snapshot.d.ts +48 -0
  53. package/dist/cli/snapshot.d.ts.map +1 -0
  54. package/dist/cli/snapshot.js +179 -0
  55. package/dist/cli/snapshot.js.map +1 -0
  56. package/dist/index.d.ts +14 -1
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +17 -1
  59. package/dist/index.js.map +1 -1
  60. package/dist/lib/a11y.d.ts +81 -0
  61. package/dist/lib/a11y.d.ts.map +1 -0
  62. package/dist/lib/a11y.js +171 -0
  63. package/dist/lib/a11y.js.map +1 -0
  64. package/dist/lib/bidi/connection.d.ts +62 -0
  65. package/dist/lib/bidi/connection.d.ts.map +1 -0
  66. package/dist/lib/bidi/connection.js +227 -0
  67. package/dist/lib/bidi/connection.js.map +1 -0
  68. package/dist/lib/bidi/index.d.ts +101 -0
  69. package/dist/lib/bidi/index.d.ts.map +1 -0
  70. package/dist/lib/bidi/index.js +163 -0
  71. package/dist/lib/bidi/index.js.map +1 -0
  72. package/dist/lib/bidi/logs.d.ts +104 -0
  73. package/dist/lib/bidi/logs.d.ts.map +1 -0
  74. package/dist/lib/bidi/logs.js +273 -0
  75. package/dist/lib/bidi/logs.js.map +1 -0
  76. package/dist/lib/bidi/network.d.ts +165 -0
  77. package/dist/lib/bidi/network.d.ts.map +1 -0
  78. package/dist/lib/bidi/network.js +477 -0
  79. package/dist/lib/bidi/network.js.map +1 -0
  80. package/dist/lib/bidi/storage.d.ts +83 -0
  81. package/dist/lib/bidi/storage.d.ts.map +1 -0
  82. package/dist/lib/bidi/storage.js +299 -0
  83. package/dist/lib/bidi/storage.js.map +1 -0
  84. package/dist/lib/bidi/types.d.ts +323 -0
  85. package/dist/lib/bidi/types.d.ts.map +1 -0
  86. package/dist/lib/bidi/types.js +6 -0
  87. package/dist/lib/bidi/types.js.map +1 -0
  88. package/dist/lib/browser.d.ts +776 -13
  89. package/dist/lib/browser.d.ts.map +1 -1
  90. package/dist/lib/browser.js +1547 -70
  91. package/dist/lib/browser.js.map +1 -1
  92. package/dist/lib/browserContext.d.ts +486 -0
  93. package/dist/lib/browserContext.d.ts.map +1 -0
  94. package/dist/lib/browserContext.js +937 -0
  95. package/dist/lib/browserContext.js.map +1 -0
  96. package/dist/lib/builder.d.ts +3 -0
  97. package/dist/lib/builder.d.ts.map +1 -1
  98. package/dist/lib/builder.js +31 -4
  99. package/dist/lib/builder.js.map +1 -1
  100. package/dist/lib/by.d.ts +18 -2
  101. package/dist/lib/by.d.ts.map +1 -1
  102. package/dist/lib/by.js +20 -2
  103. package/dist/lib/by.js.map +1 -1
  104. package/dist/lib/chrome.d.ts +13 -1
  105. package/dist/lib/chrome.d.ts.map +1 -1
  106. package/dist/lib/chrome.js +13 -17
  107. package/dist/lib/chrome.js.map +1 -1
  108. package/dist/lib/clock.d.ts +115 -0
  109. package/dist/lib/clock.d.ts.map +1 -0
  110. package/dist/lib/clock.js +407 -0
  111. package/dist/lib/clock.js.map +1 -0
  112. package/dist/lib/driver.d.ts +45 -0
  113. package/dist/lib/driver.d.ts.map +1 -1
  114. package/dist/lib/driver.js +129 -1
  115. package/dist/lib/driver.js.map +1 -1
  116. package/dist/lib/driverManager.d.ts +25 -0
  117. package/dist/lib/driverManager.d.ts.map +1 -0
  118. package/dist/lib/driverManager.js +399 -0
  119. package/dist/lib/driverManager.js.map +1 -0
  120. package/dist/lib/elementHandle.d.ts +69 -2
  121. package/dist/lib/elementHandle.d.ts.map +1 -1
  122. package/dist/lib/elementHandle.js +215 -40
  123. package/dist/lib/elementHandle.js.map +1 -1
  124. package/dist/lib/errors.d.ts +71 -0
  125. package/dist/lib/errors.d.ts.map +1 -0
  126. package/dist/lib/errors.js +73 -0
  127. package/dist/lib/errors.js.map +1 -0
  128. package/dist/lib/expect.d.ts +6 -1
  129. package/dist/lib/expect.d.ts.map +1 -1
  130. package/dist/lib/expect.js +55 -37
  131. package/dist/lib/expect.js.map +1 -1
  132. package/dist/lib/firefox.d.ts +18 -0
  133. package/dist/lib/firefox.d.ts.map +1 -0
  134. package/dist/lib/firefox.js +33 -0
  135. package/dist/lib/firefox.js.map +1 -0
  136. package/dist/lib/frame.d.ts +57 -0
  137. package/dist/lib/frame.d.ts.map +1 -0
  138. package/dist/lib/frame.js +277 -0
  139. package/dist/lib/frame.js.map +1 -0
  140. package/dist/lib/keyboard.d.ts +1 -1
  141. package/dist/lib/keyboard.d.ts.map +1 -1
  142. package/dist/lib/keyboard.js +1 -1
  143. package/dist/lib/keyboard.js.map +1 -1
  144. package/dist/lib/locator.d.ts +71 -2
  145. package/dist/lib/locator.d.ts.map +1 -1
  146. package/dist/lib/locator.js +289 -31
  147. package/dist/lib/locator.js.map +1 -1
  148. package/dist/lib/mouse.d.ts +1 -1
  149. package/dist/lib/mouse.d.ts.map +1 -1
  150. package/dist/lib/mouse.js +1 -1
  151. package/dist/lib/mouse.js.map +1 -1
  152. package/dist/lib/page.d.ts +107 -0
  153. package/dist/lib/page.d.ts.map +1 -0
  154. package/dist/lib/page.js +388 -0
  155. package/dist/lib/page.js.map +1 -0
  156. package/dist/lib/tracing.d.ts +128 -0
  157. package/dist/lib/tracing.d.ts.map +1 -0
  158. package/dist/lib/tracing.js +272 -0
  159. package/dist/lib/tracing.js.map +1 -0
  160. package/dist/lib/wait.d.ts.map +1 -1
  161. package/dist/lib/wait.js +14 -1
  162. package/dist/lib/wait.js.map +1 -1
  163. package/dist/lib/webelement.d.ts +2 -0
  164. package/dist/lib/webelement.d.ts.map +1 -1
  165. package/dist/lib/webelement.js +18 -0
  166. package/dist/lib/webelement.js.map +1 -1
  167. package/docs/accessibility.md +177 -0
  168. package/docs/api-reference.md +71 -0
  169. package/docs/assertions.md +182 -0
  170. package/docs/bidi-features.md +462 -0
  171. package/docs/browser-api.md +673 -0
  172. package/docs/browser-context.md +522 -0
  173. package/docs/cli.md +233 -0
  174. package/docs/clock.md +245 -0
  175. package/docs/dialogs.md +143 -0
  176. package/docs/driver-configuration.md +64 -0
  177. package/docs/element-api.md +219 -0
  178. package/docs/emulation.md +155 -0
  179. package/docs/error-codes.md +67 -0
  180. package/docs/getting-started.md +168 -0
  181. package/docs/keyboard-mouse.md +250 -0
  182. package/docs/mcp.md +250 -0
  183. package/docs/mobile-emulation.md +194 -0
  184. package/docs/screenshots.md +146 -0
  185. package/docs/selectors.md +382 -0
  186. package/docs/session-management.md +229 -0
  187. package/docs/tracing.md +282 -0
  188. package/package.json +25 -5
  189. package/skills/craftdriver/SKILL.md +84 -0
  190. package/skills/craftdriver/cheatsheet.md +194 -0
  191. package/skills/craftdriver/cli.md +104 -0
  192. package/skills/craftdriver/patterns.md +139 -0
@@ -1,13 +1,16 @@
1
1
  import { until } from './wait.js';
2
+ import { CraftdriverError, ErrorCode } from './errors.js';
2
3
  function matchValue(actual, expected) {
3
4
  if (expected instanceof RegExp) {
4
5
  return expected.test(actual);
5
6
  }
6
7
  return actual === expected;
7
8
  }
8
- export function expectSelector(driver, by) {
9
- function fail(message, callerFn) {
10
- const error = new Error(message);
9
+ export function expectSelector(driver, by, getDefaultTimeout = () => 5000, contextSwitcher) {
10
+ function fail(message, callerFn, detail) {
11
+ const error = new CraftdriverError(ErrorCode.EXPECT_MISMATCH, message, {
12
+ detail: { selector: `${by.using}=${by.value}`, using: by.using, value: by.value, ...(detail ?? {}) },
13
+ });
11
14
  // Remove internal expect.ts frames from stack trace so test file line shows first
12
15
  if (callerFn && Error.captureStackTrace) {
13
16
  Error.captureStackTrace(error, callerFn);
@@ -15,7 +18,7 @@ export function expectSelector(driver, by) {
15
18
  throw error;
16
19
  }
17
20
  const toHaveText = async function toHaveText(expected, opts) {
18
- const timeout = opts?.timeout ?? 5000;
21
+ const timeout = opts?.timeout ?? getDefaultTimeout();
19
22
  const deadline = Date.now() + timeout;
20
23
  let last = '';
21
24
  while (Date.now() < deadline) {
@@ -36,7 +39,7 @@ export function expectSelector(driver, by) {
36
39
  fail(`Expected element ${by.using}(${by.value}) to have text ${exp} but got "${last}"`, toHaveText);
37
40
  };
38
41
  const toContainText = async function toContainText(expected, opts) {
39
- const timeout = opts?.timeout ?? 5000;
42
+ const timeout = opts?.timeout ?? getDefaultTimeout();
40
43
  const deadline = Date.now() + timeout;
41
44
  let last = '';
42
45
  while (Date.now() < deadline) {
@@ -57,7 +60,7 @@ export function expectSelector(driver, by) {
57
60
  fail(`Expected element ${by.using}(${by.value}) to contain text ${exp} but got "${last}"`, toContainText);
58
61
  };
59
62
  const toHaveValue = async function toHaveValue(expected, opts) {
60
- const timeout = opts?.timeout ?? 5000;
63
+ const timeout = opts?.timeout ?? getDefaultTimeout();
61
64
  const deadline = Date.now() + timeout;
62
65
  let last = '';
63
66
  while (Date.now() < deadline) {
@@ -78,7 +81,7 @@ export function expectSelector(driver, by) {
78
81
  fail(`Expected element ${by.using}(${by.value}) to have value ${exp} but got "${last}"`, toHaveValue);
79
82
  };
80
83
  const toHaveAttribute = async function toHaveAttribute(name, value, opts) {
81
- const timeout = opts?.timeout ?? 5000;
84
+ const timeout = opts?.timeout ?? getDefaultTimeout();
82
85
  const deadline = Date.now() + timeout;
83
86
  let last = null;
84
87
  while (Date.now() < deadline) {
@@ -108,7 +111,7 @@ export function expectSelector(driver, by) {
108
111
  fail(`Expected element ${by.using}(${by.value}) to have attribute "${name}" = ${exp} but got "${last}"`, toHaveAttribute);
109
112
  };
110
113
  const toHaveClass = async function toHaveClass(className, opts) {
111
- const timeout = opts?.timeout ?? 5000;
114
+ const timeout = opts?.timeout ?? getDefaultTimeout();
112
115
  const deadline = Date.now() + timeout;
113
116
  let last = '';
114
117
  while (Date.now() < deadline) {
@@ -129,7 +132,7 @@ export function expectSelector(driver, by) {
129
132
  fail(`Expected element ${by.using}(${by.value}) to have class "${className}" but got "${last}"`, toHaveClass);
130
133
  };
131
134
  const toBeVisible = async function toBeVisible(opts) {
132
- const timeout = opts?.timeout ?? 5000;
135
+ const timeout = opts?.timeout ?? getDefaultTimeout();
133
136
  try {
134
137
  await driver.wait(until.elementIsVisible(by), { timeout });
135
138
  }
@@ -138,7 +141,7 @@ export function expectSelector(driver, by) {
138
141
  }
139
142
  };
140
143
  const toBeNotVisible = async function toBeNotVisible(opts) {
141
- const timeout = opts?.timeout ?? 5000;
144
+ const timeout = opts?.timeout ?? getDefaultTimeout();
142
145
  try {
143
146
  await driver.wait(until.elementIsNotVisible(by), { timeout });
144
147
  }
@@ -147,7 +150,7 @@ export function expectSelector(driver, by) {
147
150
  }
148
151
  };
149
152
  const toBeEnabled = async function toBeEnabled(opts) {
150
- const timeout = opts?.timeout ?? 5000;
153
+ const timeout = opts?.timeout ?? getDefaultTimeout();
151
154
  const deadline = Date.now() + timeout;
152
155
  while (Date.now() < deadline) {
153
156
  try {
@@ -164,7 +167,7 @@ export function expectSelector(driver, by) {
164
167
  fail(`Expected element ${by.using}(${by.value}) to be enabled within ${timeout}ms`, toBeEnabled);
165
168
  };
166
169
  const toBeDisabled = async function toBeDisabled(opts) {
167
- const timeout = opts?.timeout ?? 5000;
170
+ const timeout = opts?.timeout ?? getDefaultTimeout();
168
171
  const deadline = Date.now() + timeout;
169
172
  while (Date.now() < deadline) {
170
173
  try {
@@ -181,7 +184,7 @@ export function expectSelector(driver, by) {
181
184
  fail(`Expected element ${by.using}(${by.value}) to be disabled within ${timeout}ms`, toBeDisabled);
182
185
  };
183
186
  const toBeChecked = async function toBeChecked(opts) {
184
- const timeout = opts?.timeout ?? 5000;
187
+ const timeout = opts?.timeout ?? getDefaultTimeout();
185
188
  const deadline = Date.now() + timeout;
186
189
  while (Date.now() < deadline) {
187
190
  try {
@@ -198,7 +201,7 @@ export function expectSelector(driver, by) {
198
201
  fail(`Expected element ${by.using}(${by.value}) to be checked within ${timeout}ms`, toBeChecked);
199
202
  };
200
203
  const toBeNotChecked = async function toBeNotChecked(opts) {
201
- const timeout = opts?.timeout ?? 5000;
204
+ const timeout = opts?.timeout ?? getDefaultTimeout();
202
205
  const deadline = Date.now() + timeout;
203
206
  while (Date.now() < deadline) {
204
207
  try {
@@ -215,7 +218,7 @@ export function expectSelector(driver, by) {
215
218
  fail(`Expected element ${by.using}(${by.value}) to not be checked within ${timeout}ms`, toBeNotChecked);
216
219
  };
217
220
  const notToHaveText = async function notToHaveText(expected, opts) {
218
- const timeout = opts?.timeout ?? 5000;
221
+ const timeout = opts?.timeout ?? getDefaultTimeout();
219
222
  const deadline = Date.now() + timeout;
220
223
  while (Date.now() < deadline) {
221
224
  try {
@@ -234,7 +237,7 @@ export function expectSelector(driver, by) {
234
237
  fail(`Expected element ${by.using}(${by.value}) to NOT have text ${exp}`, notToHaveText);
235
238
  };
236
239
  const notToContainText = async function notToContainText(expected, opts) {
237
- const timeout = opts?.timeout ?? 5000;
240
+ const timeout = opts?.timeout ?? getDefaultTimeout();
238
241
  const deadline = Date.now() + timeout;
239
242
  while (Date.now() < deadline) {
240
243
  try {
@@ -253,7 +256,7 @@ export function expectSelector(driver, by) {
253
256
  fail(`Expected element ${by.using}(${by.value}) to NOT contain text ${exp}`, notToContainText);
254
257
  };
255
258
  const notToHaveValue = async function notToHaveValue(expected, opts) {
256
- const timeout = opts?.timeout ?? 5000;
259
+ const timeout = opts?.timeout ?? getDefaultTimeout();
257
260
  const deadline = Date.now() + timeout;
258
261
  while (Date.now() < deadline) {
259
262
  try {
@@ -272,7 +275,7 @@ export function expectSelector(driver, by) {
272
275
  fail(`Expected element ${by.using}(${by.value}) to NOT have value ${exp}`, notToHaveValue);
273
276
  };
274
277
  const notToHaveAttribute = async function notToHaveAttribute(name, value, opts) {
275
- const timeout = opts?.timeout ?? 5000;
278
+ const timeout = opts?.timeout ?? getDefaultTimeout();
276
279
  const deadline = Date.now() + timeout;
277
280
  while (Date.now() < deadline) {
278
281
  try {
@@ -300,7 +303,7 @@ export function expectSelector(driver, by) {
300
303
  fail(`Expected element ${by.using}(${by.value}) to NOT have attribute "${name}" = ${exp}`, notToHaveAttribute);
301
304
  };
302
305
  const notToHaveClass = async function notToHaveClass(className, opts) {
303
- const timeout = opts?.timeout ?? 5000;
306
+ const timeout = opts?.timeout ?? getDefaultTimeout();
304
307
  const deadline = Date.now() + timeout;
305
308
  while (Date.now() < deadline) {
306
309
  try {
@@ -318,26 +321,41 @@ export function expectSelector(driver, by) {
318
321
  }
319
322
  fail(`Expected element ${by.using}(${by.value}) to NOT have class "${className}"`, notToHaveClass);
320
323
  };
324
+ // Wrap all methods with context switching if a switcher is provided
325
+ function wrapCtx(fn) {
326
+ if (!contextSwitcher)
327
+ return fn;
328
+ const sw = contextSwitcher;
329
+ return (async (...args) => {
330
+ await sw.in();
331
+ try {
332
+ return await fn(...args);
333
+ }
334
+ finally {
335
+ await sw.out();
336
+ }
337
+ });
338
+ }
321
339
  return {
322
- toHaveText,
323
- toContainText,
324
- toHaveValue,
325
- toHaveAttribute,
326
- toHaveClass,
327
- toBeVisible,
328
- toBeEnabled,
329
- toBeDisabled,
330
- toBeChecked,
340
+ toHaveText: wrapCtx(toHaveText),
341
+ toContainText: wrapCtx(toContainText),
342
+ toHaveValue: wrapCtx(toHaveValue),
343
+ toHaveAttribute: wrapCtx(toHaveAttribute),
344
+ toHaveClass: wrapCtx(toHaveClass),
345
+ toBeVisible: wrapCtx(toBeVisible),
346
+ toBeEnabled: wrapCtx(toBeEnabled),
347
+ toBeDisabled: wrapCtx(toBeDisabled),
348
+ toBeChecked: wrapCtx(toBeChecked),
331
349
  not: {
332
- toBeVisible: toBeNotVisible,
333
- toBeEnabled: toBeDisabled, // not enabled = disabled
334
- toBeDisabled: toBeEnabled, // not disabled = enabled
335
- toBeChecked: toBeNotChecked,
336
- toHaveText: notToHaveText,
337
- toContainText: notToContainText,
338
- toHaveValue: notToHaveValue,
339
- toHaveAttribute: notToHaveAttribute,
340
- toHaveClass: notToHaveClass,
350
+ toBeVisible: wrapCtx(toBeNotVisible),
351
+ toBeEnabled: wrapCtx(toBeDisabled), // not enabled = disabled
352
+ toBeDisabled: wrapCtx(toBeEnabled), // not disabled = enabled
353
+ toBeChecked: wrapCtx(toBeNotChecked),
354
+ toHaveText: wrapCtx(notToHaveText),
355
+ toContainText: wrapCtx(notToContainText),
356
+ toHaveValue: wrapCtx(notToHaveValue),
357
+ toHaveAttribute: wrapCtx(notToHaveAttribute),
358
+ toHaveClass: wrapCtx(notToHaveClass),
341
359
  },
342
360
  };
343
361
  }
@@ -1 +1 @@
1
- {"version":3,"file":"expect.js","sourceRoot":"","sources":["../../src/lib/expect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expect.js","sourceRoot":"","sources":["../../src/lib/expect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { DriverService, type DriverServiceOptions } from './service.js';
2
+ export type FirefoxServiceOptions = Omit<DriverServiceOptions, 'command'> & {
3
+ /**
4
+ * Absolute path to a `geckodriver` binary.
5
+ * When omitted, craftdriver resolves the driver automatically:
6
+ * 1. CRAFTDRIVER_DRIVER_PATH / GECKODRIVER_PATH / GECKODRIVER_FILEPATH / SE_GECKODRIVER env vars
7
+ * 2. node_modules/.bin/geckodriver (if geckodriver npm package is installed)
8
+ * 3. geckodriver on PATH
9
+ * 4. Download latest geckodriver from GitHub releases
10
+ */
11
+ binaryPath?: string;
12
+ };
13
+ export declare class FirefoxService extends DriverService {
14
+ private readonly binaryPath;
15
+ constructor(options?: FirefoxServiceOptions);
16
+ start(): Promise<void>;
17
+ }
18
+ //# sourceMappingURL=firefox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firefox.d.ts","sourceRoot":"","sources":["../../src/lib/firefox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGxE,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,GAAG;IAC1E;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,qBAAa,cAAe,SAAQ,aAAa;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;gBAEpC,OAAO,GAAE,qBAA0B;IA0BzC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B"}
@@ -0,0 +1,33 @@
1
+ import { DriverService } from './service.js';
2
+ import { resolveFirefoxDriver } from './driverManager.js';
3
+ export class FirefoxService extends DriverService {
4
+ binaryPath;
5
+ constructor(options = {}) {
6
+ const { binaryPath, ...rest } = options;
7
+ // Default the BiDi WebSocket port to 0 (ephemeral) so multiple Firefox
8
+ // sessions don't fight over geckodriver's hard-coded default of 9222.
9
+ // A leftover Firefox process holding 9222 otherwise causes the next
10
+ // session's BiDi connect to land on the stale server and return 404.
11
+ const userArgs = rest.args ?? [];
12
+ const hasWsPort = userArgs.some((a) => a === '--websocket-port' || a.startsWith('--websocket-port='));
13
+ const args = hasWsPort ? userArgs : ['--websocket-port=0', ...userArgs];
14
+ // Pass a placeholder command; the real path is resolved asynchronously in start().
15
+ super({
16
+ command: binaryPath ?? 'geckodriver',
17
+ pathBase: '',
18
+ readinessPath: '/status',
19
+ // geckodriver can take a moment to spin up Marionette + start listening.
20
+ readinessTimeoutMs: rest.readinessTimeoutMs ?? 15000,
21
+ ...rest,
22
+ args,
23
+ });
24
+ this.binaryPath = binaryPath;
25
+ }
26
+ async start() {
27
+ if (this.proc)
28
+ return;
29
+ this.opts.command = await resolveFirefoxDriver({ binaryPath: this.binaryPath });
30
+ await super.start();
31
+ }
32
+ }
33
+ //# sourceMappingURL=firefox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firefox.js","sourceRoot":"","sources":["../../src/lib/firefox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA6B,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAc1D,MAAM,OAAO,cAAe,SAAQ,aAAa;IAC9B,UAAU,CAAqB;IAEhD,YAAY,UAAiC,EAAE;QAC7C,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAExC,uEAAuE;QACvE,sEAAsE;QACtE,oEAAoE;QACpE,qEAAqE;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,kBAAkB,IAAI,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,CACrE,CAAC;QACF,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,oBAAoB,EAAE,GAAG,QAAQ,CAAC,CAAC;QAExE,mFAAmF;QACnF,KAAK,CAAC;YACJ,OAAO,EAAE,UAAU,IAAI,aAAa;YACpC,QAAQ,EAAE,EAAE;YACZ,aAAa,EAAE,SAAS;YACxB,yEAAyE;YACzE,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,KAAK;YACpD,GAAG,IAAI;YACP,IAAI;SACL,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,oBAAoB,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAChF,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACF"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Frame — represents a nested browsing context (iframe).
3
+ *
4
+ * Obtain via `browser.frame(selector)` or `browser.frames()`.
5
+ * All element methods (click, fill, find, locator, expect, evaluate, waitForLoadState)
6
+ * are automatically scoped to the iframe's browsing context.
7
+ *
8
+ * BiDi path: actions target the child browsing context directly via context id.
9
+ * Classic fallback: switchToFrame → action → switchToFrame(null).
10
+ */
11
+ import { By } from './by.js';
12
+ import { Driver } from './driver.js';
13
+ import { ElementHandle } from './elementHandle.js';
14
+ import { Locator } from './locator.js';
15
+ import type { ExpectApi } from './expect.js';
16
+ import type { BiDiConnection } from './bidi/connection.js';
17
+ type LoadState = 'load' | 'domcontentloaded';
18
+ export declare class Frame {
19
+ private frameElementId;
20
+ private driver;
21
+ private getDefaultTimeout;
22
+ private contextSwitcher;
23
+ /**
24
+ * BiDi context id of the iframe (only set in BiDi mode).
25
+ * Used for evaluate / waitForLoadState.
26
+ */
27
+ private bidiContextId?;
28
+ private conn?;
29
+ constructor(driver: Driver, frameElementId: string, getDefaultTimeout: () => number, opts?: {
30
+ bidiContextId?: string;
31
+ conn?: BiDiConnection;
32
+ });
33
+ find(selector: string | By): ElementHandle;
34
+ locator(selector: string | By): Locator;
35
+ expect(selector: string | By): ExpectApi;
36
+ findAll(selector: string | By): Promise<ElementHandle[]>;
37
+ click(selector: string | By, opts?: {
38
+ timeout?: number;
39
+ }): Promise<void>;
40
+ fill(selector: string | By, text: string, opts?: {
41
+ timeout?: number;
42
+ }): Promise<void>;
43
+ getValue(selector: string | By, opts?: {
44
+ timeout?: number;
45
+ }): Promise<string>;
46
+ getAttribute(selector: string | By, name: string, opts?: {
47
+ timeout?: number;
48
+ }): Promise<string | null>;
49
+ evaluate<T = unknown>(fn: ((...args: unknown[]) => T) | string, ...args: unknown[]): Promise<T>;
50
+ waitForLoadState(state?: LoadState, opts?: {
51
+ timeout?: number;
52
+ }): Promise<void>;
53
+ url(): Promise<string>;
54
+ title(): Promise<string>;
55
+ }
56
+ export {};
57
+ //# sourceMappingURL=frame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/lib/frame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,aAAa,EAAwB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,KAAK,SAAS,GAAG,MAAM,GAAG,kBAAkB,CAAC;AAS7C,qBAAa,KAAK;IAcd,OAAO,CAAC,cAAc;IAbxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,iBAAiB,CAAe;IACxC,OAAO,CAAC,eAAe,CAAkB;IAEzC;;;OAGG;IACH,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,IAAI,CAAC,CAAiB;gBAG5B,MAAM,EAAE,MAAM,EACN,cAAc,EAAE,MAAM,EAC9B,iBAAiB,EAAE,MAAM,MAAM,EAC/B,IAAI,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,cAAc,CAAA;KAAE;IAmB1D,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,GAAG,aAAa;IAM1C,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,GAAG,OAAO;IAMvC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,GAAG,SAAS;IAKlC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAYxD,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAaxE,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAerF,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAc7E,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAetG,QAAQ,CAAC,CAAC,GAAG,OAAO,EACxB,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,MAAM,EACxC,GAAG,IAAI,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC,CAAC,CAAC;IA+CP,gBAAgB,CACpB,KAAK,GAAE,SAAkB,EACzB,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1B,OAAO,CAAC,IAAI,CAAC;IA8CV,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;IAItB,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;CAG/B"}