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,57 +1,315 @@
1
1
  import { By } from './by.js';
2
- import { until } from './wait.js';
2
+ import { ElementHandle } from './elementHandle.js';
3
+ import { expectSelector } from './expect.js';
4
+ import { A11y } from './a11y.js';
5
+ import { CraftdriverError, ErrorCode } from './errors.js';
3
6
  export class Locator {
4
7
  driver;
5
8
  by;
6
- constructor(driver, by) {
9
+ getDefaultTimeout;
10
+ _index = null; // null=first, -1=last, >=0 = nth(index)
11
+ _filterText = null;
12
+ _filterHas = null;
13
+ _parent = null;
14
+ _contextSwitcher;
15
+ constructor(driver, by, getDefaultTimeout = () => 5000) {
7
16
  this.driver = driver;
8
17
  this.by = by;
18
+ this.getDefaultTimeout = getDefaultTimeout;
9
19
  }
20
+ /** Bind this locator to a browsing context (iframe/tab) for frame-scoped element resolution. */
21
+ withContext(switcher) {
22
+ this._contextSwitcher = switcher;
23
+ return this;
24
+ }
25
+ async _withContext(fn) {
26
+ if (this._contextSwitcher) {
27
+ await this._contextSwitcher.in();
28
+ try {
29
+ return await fn();
30
+ }
31
+ finally {
32
+ await this._contextSwitcher.out();
33
+ }
34
+ }
35
+ return fn();
36
+ }
37
+ /** Return a new child Locator whose search is scoped within this locator's first match. */
10
38
  locator(selector) {
11
- const next = typeof selector === 'string' ? By.css(selector) : selector;
12
- return new Locator(this.driver, next);
39
+ const childBy = typeof selector === 'string' ? By.css(selector) : selector;
40
+ const child = new Locator(this.driver, childBy, this.getDefaultTimeout);
41
+ child._parent = this;
42
+ return child;
43
+ }
44
+ /** Return a new Locator targeting the element at position `index` (0-based). */
45
+ nth(index) {
46
+ const l = this._clone();
47
+ l._index = index;
48
+ return l;
49
+ }
50
+ /** Return a new Locator targeting the first match. */
51
+ first() {
52
+ return this.nth(0);
53
+ }
54
+ /** Return a new Locator targeting the last match. */
55
+ last() {
56
+ const l = this._clone();
57
+ l._index = -1;
58
+ return l;
59
+ }
60
+ /** Return a new Locator that narrows matches by text or child-locator presence. */
61
+ filter(opts) {
62
+ const l = this._clone();
63
+ if (opts.hasText !== undefined)
64
+ l._filterText = opts.hasText;
65
+ if (opts.has !== undefined)
66
+ l._filterHas = opts.has;
67
+ return l;
68
+ }
69
+ _clone() {
70
+ const l = new Locator(this.driver, this.by, this.getDefaultTimeout);
71
+ l._index = this._index;
72
+ l._filterText = this._filterText;
73
+ l._filterHas = this._filterHas;
74
+ l._parent = this._parent;
75
+ l._contextSwitcher = this._contextSwitcher;
76
+ return l;
77
+ }
78
+ /** Resolve all raw WebElements for this.by, scoped to the parent if set. */
79
+ async _findRaw() {
80
+ if (this._parent) {
81
+ const parentEls = await this._parent._findFinal();
82
+ if (parentEls.length === 0)
83
+ return [];
84
+ return parentEls[0].findElements(this.by);
85
+ }
86
+ return this.driver.findElements(this.by);
13
87
  }
14
- async click(options = {}) {
15
- const el = await this.driver.wait(until.elementIsVisible(this.by), {
16
- timeout: options.timeout ?? 5000,
88
+ /** Apply text / has filters to the raw result set. */
89
+ async _findFiltered() {
90
+ let elements = await this._findRaw();
91
+ if (this._filterText !== null) {
92
+ const pattern = this._filterText;
93
+ const texts = await Promise.all(elements.map((el) => el.getText()));
94
+ elements = elements.filter((_, i) => {
95
+ const t = texts[i];
96
+ return pattern instanceof RegExp ? pattern.test(t) : t.includes(String(pattern));
97
+ });
98
+ }
99
+ if (this._filterHas !== null) {
100
+ const hasBy = this._filterHas.by;
101
+ const kept = [];
102
+ for (const el of elements) {
103
+ const children = await el.findElements(hasBy);
104
+ if (children.length > 0)
105
+ kept.push(el);
106
+ }
107
+ elements = kept;
108
+ }
109
+ return elements;
110
+ }
111
+ /** Apply index on top of the filtered result set. */
112
+ async _findFinal() {
113
+ const els = await this._findFiltered();
114
+ const idx = this._index;
115
+ if (idx === -1)
116
+ return els.length > 0 ? [els[els.length - 1]] : [];
117
+ if (idx !== null)
118
+ return els.length > idx ? [els[idx]] : [];
119
+ return els;
120
+ }
121
+ /** Poll until a visible element is available in the final result set. */
122
+ async _waitForVisible(timeout) {
123
+ const deadline = Date.now() + timeout;
124
+ let lastError;
125
+ let everMatched = false;
126
+ while (Date.now() < deadline) {
127
+ try {
128
+ const els = await this._findFinal();
129
+ if (els.length > 0)
130
+ everMatched = true;
131
+ for (const el of els) {
132
+ if (await el.isDisplayed())
133
+ return el;
134
+ }
135
+ }
136
+ catch (e) {
137
+ lastError = e;
138
+ }
139
+ await new Promise((r) => setTimeout(r, 100));
140
+ }
141
+ const selector = `${this.by.using}=${this.by.value}`;
142
+ if (everMatched) {
143
+ throw new CraftdriverError(ErrorCode.TIMEOUT_WAITING_VISIBLE, `Timed out after ${timeout}ms waiting for locator "${selector}" to become visible (element exists but is not displayed)`, {
144
+ detail: { selector, timeout, using: this.by.using, value: this.by.value },
145
+ cause: lastError,
146
+ hint: 'The element matched but never became visible — wait for the containing view (modal, accordion, etc.) to open first.',
147
+ });
148
+ }
149
+ throw new CraftdriverError(ErrorCode.NO_MATCH, `No element matched locator "${selector}" within ${timeout}ms`, {
150
+ detail: { selector, timeout, using: this.by.using, value: this.by.value },
151
+ cause: lastError,
152
+ hint: 'Selector matched zero elements. Verify the selector against the page; consider By.role / By.testId / By.labelText for resilience.',
17
153
  });
18
- await el.click();
19
154
  }
20
- async fill(text, options = {}) {
21
- const el = await this.driver.wait(until.elementIsVisible(this.by), {
22
- timeout: options.timeout ?? 5000,
155
+ /** Poll until any element is present in the final result set (need not be visible). */
156
+ async _waitForAny(timeout) {
157
+ const deadline = Date.now() + timeout;
158
+ let lastError;
159
+ while (Date.now() < deadline) {
160
+ try {
161
+ const els = await this._findFinal();
162
+ if (els.length > 0)
163
+ return els[0];
164
+ }
165
+ catch (e) {
166
+ lastError = e;
167
+ }
168
+ await new Promise((r) => setTimeout(r, 100));
169
+ }
170
+ const selector = `${this.by.using}=${this.by.value}`;
171
+ throw new CraftdriverError(ErrorCode.NO_MATCH, `No element matched locator "${selector}" within ${timeout}ms`, {
172
+ detail: { selector, timeout, using: this.by.using, value: this.by.value },
173
+ cause: lastError,
174
+ hint: 'Selector matched zero elements. Verify the selector against the page; consider By.role / By.testId / By.labelText for resilience.',
23
175
  });
24
- await el.click();
25
- await el.sendKeys(text);
26
176
  }
27
- async textContent(options = {}) {
28
- const el = await this.driver.wait(until.elementExists(this.by), {
29
- timeout: options.timeout ?? 5000,
177
+ async _resolve(options) {
178
+ const timeout = options?.timeout ?? this.getDefaultTimeout();
179
+ return this._waitForVisible(timeout);
180
+ }
181
+ async _resolveExisting(options) {
182
+ const timeout = options?.timeout ?? this.getDefaultTimeout();
183
+ return this._waitForAny(timeout);
184
+ }
185
+ /**
186
+ * Resolve to a visible element WITHOUT applying context switching (used inside _withContext blocks).
187
+ * The caller is responsible for switching context before calling this.
188
+ */
189
+ async _waitForVisibleOrSimple(options) {
190
+ return this._resolve(options);
191
+ }
192
+ /**
193
+ * Resolve to an existing element WITHOUT applying context switching (used inside _withContext blocks).
194
+ * The caller is responsible for switching context before calling this.
195
+ */
196
+ async _waitForAnyOrSimple(options) {
197
+ return this._resolveExisting(options);
198
+ }
199
+ async click(options) {
200
+ return this._withContext(async () => {
201
+ const el = await this._waitForVisibleOrSimple(options);
202
+ await el.click();
203
+ });
204
+ }
205
+ async fill(text, options) {
206
+ return this._withContext(async () => {
207
+ const el = await this._waitForVisibleOrSimple(options);
208
+ await el.click();
209
+ await el.clear();
210
+ await el.sendKeys(text);
30
211
  });
31
- return (await el.getText()) ?? '';
32
212
  }
33
- async isVisible(options = {}) {
213
+ async text(options) {
214
+ return this._withContext(async () => {
215
+ const el = await this._waitForAnyOrSimple(options);
216
+ return (await el.getText()) ?? '';
217
+ });
218
+ }
219
+ /** Alias for text(). */
220
+ async textContent(options) {
221
+ return this.text(options);
222
+ }
223
+ async isVisible(options) {
34
224
  try {
35
- const el = await this.driver.wait(until.elementExists(this.by), {
36
- timeout: options.timeout ?? 5000,
225
+ return await this._withContext(async () => {
226
+ const timeout = options?.timeout ?? Math.min(this.getDefaultTimeout(), 1000);
227
+ const el = await this._waitForAnyOrSimple({ timeout });
228
+ return el.isDisplayed();
37
229
  });
38
- return await el.isDisplayed();
39
230
  }
40
231
  catch {
41
232
  return false;
42
233
  }
43
234
  }
235
+ /**
236
+ * Returns the number of currently matching elements in the DOM (no auto-wait).
237
+ * Use `waitFor` if you need to wait for a specific count.
238
+ */
239
+ async count() {
240
+ return this._withContext(async () => {
241
+ const els = await this._findFinal();
242
+ return els.length;
243
+ });
244
+ }
245
+ /**
246
+ * Returns snapshot `ElementHandle`s for all currently matching elements.
247
+ * Each handle is bound to the element resolved at call time.
248
+ */
249
+ async all() {
250
+ return this._withContext(async () => {
251
+ const els = await this._findFinal();
252
+ return els.map((we) => ElementHandle.fromWebElement(this.driver, we, this.getDefaultTimeout));
253
+ });
254
+ }
44
255
  waitFor(options) {
45
- const { state, timeout } = options;
46
- if (state === 'attached')
47
- return this.driver.wait(until.elementExists(this.by), { timeout });
48
- if (state === 'detached')
49
- return this.driver.wait(until.elementNotExists(this.by), { timeout });
50
- if (state === 'visible')
51
- return this.driver.wait(until.elementIsVisible(this.by), { timeout });
52
- if (state === 'hidden')
53
- return this.driver.wait(until.elementIsNotVisible(this.by), { timeout });
54
- return Promise.reject(new Error(`Unknown state: ${state}`));
256
+ return this._withContext(async () => {
257
+ const { state } = options;
258
+ const timeout = options.timeout ?? this.getDefaultTimeout();
259
+ if (state === 'visible')
260
+ return this._waitForVisible(timeout);
261
+ if (state === 'attached')
262
+ return this._waitForAny(timeout);
263
+ if (state === 'detached' || state === 'hidden') {
264
+ return this._waitForNegativeState(state, timeout);
265
+ }
266
+ throw new CraftdriverError(ErrorCode.INVALID_ARGUMENT, `Unknown waitFor state: "${state}". Expected one of: attached, detached, visible, hidden.`, { detail: { state } });
267
+ });
268
+ }
269
+ /** Poll until the element is detached from DOM (`detached`) or no longer visible (`hidden`). */
270
+ async _waitForNegativeState(state, timeout) {
271
+ const deadline = Date.now() + timeout;
272
+ while (Date.now() < deadline) {
273
+ const els = await this._findFinal();
274
+ if (state === 'detached') {
275
+ if (els.length === 0)
276
+ return;
277
+ }
278
+ else {
279
+ // 'hidden': pass when nothing matches or no match is displayed.
280
+ let anyVisible = false;
281
+ for (const el of els) {
282
+ if (await el.isDisplayed()) {
283
+ anyVisible = true;
284
+ break;
285
+ }
286
+ }
287
+ if (!anyVisible)
288
+ return;
289
+ }
290
+ await new Promise((r) => setTimeout(r, 100));
291
+ }
292
+ const selector = `${this.by.using}=${this.by.value}`;
293
+ throw new CraftdriverError(ErrorCode.TIMEOUT_WAITING_STATE, `Timed out after ${timeout}ms waiting for locator "${selector}" to become ${state}`, { detail: { selector, state, timeout } });
294
+ }
295
+ /** Returns an assertion API scoped to this locator's selector. */
296
+ expect() {
297
+ return expectSelector(this.driver, this.by, this.getDefaultTimeout, this._contextSwitcher);
298
+ }
299
+ _a11y;
300
+ /**
301
+ * Accessibility audit scoped to the resolved element. Re-resolves the
302
+ * locator on every audit/check call.
303
+ */
304
+ get a11y() {
305
+ if (!this._a11y) {
306
+ this._a11y = new A11y({
307
+ driver: this.driver,
308
+ resolveTarget: () => this._resolve(),
309
+ withContext: (fn) => this._withContext(fn),
310
+ });
311
+ }
312
+ return this._a11y;
55
313
  }
56
314
  }
57
315
  //# sourceMappingURL=locator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"locator.js","sourceRoot":"","sources":["../../src/lib/locator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"locator.js","sourceRoot":"","sources":["../../src/lib/locator.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export type Point = {
7
7
  y: number;
8
8
  };
9
9
  export type Target = string | By | Point;
10
- export declare class MouseController {
10
+ export declare class Mouse {
11
11
  private driver;
12
12
  constructor(driver: Driver);
13
13
  private resolveElement;
@@ -1 +1 @@
1
- {"version":3,"file":"mouse.d.ts","sourceRoot":"","sources":["../../src/lib/mouse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGhC,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AACtD,MAAM,MAAM,KAAK,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7C,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,EAAE,GAAG,KAAK,CAAC;AAQzC,qBAAa,eAAe;IACd,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;YAEpB,cAAc;IAOtB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtE,IAAI,CAAC,MAAM,GAAE,WAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,EAAE,CAAC,MAAM,GAAE,WAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,KAAK,CACT,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,OAAO,GAAG,CAAC,CAAA;KAAE,GAC3F,OAAO,CAAC,IAAI,CAAC;IAeV,QAAQ,CACZ,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,OAAO,GAAG,CAAC,CAAA;KAAE,GACtE,OAAO,CAAC,IAAI,CAAC;IAQV,WAAW,CACf,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,OAAO,GAAG,CAAC,CAAA;KAAE,GACrE,OAAO,CAAC,IAAI,CAAC;IA0BV,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAiB5E"}
1
+ {"version":3,"file":"mouse.d.ts","sourceRoot":"","sources":["../../src/lib/mouse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGhC,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AACtD,MAAM,MAAM,KAAK,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7C,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,EAAE,GAAG,KAAK,CAAC;AAQzC,qBAAa,KAAK;IACJ,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;YAEpB,cAAc;IAOtB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtE,IAAI,CAAC,MAAM,GAAE,WAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,EAAE,CAAC,MAAM,GAAE,WAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,KAAK,CACT,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,OAAO,GAAG,CAAC,CAAA;KAAE,GAC3F,OAAO,CAAC,IAAI,CAAC;IAeV,QAAQ,CACZ,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,OAAO,GAAG,CAAC,CAAA;KAAE,GACtE,OAAO,CAAC,IAAI,CAAC;IAQV,WAAW,CACf,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,OAAO,GAAG,CAAC,CAAA;KAAE,GACrE,OAAO,CAAC,IAAI,CAAC;IA0BV,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAiB5E"}
package/dist/lib/mouse.js CHANGED
@@ -8,7 +8,7 @@ function toButtonCode(btn) {
8
8
  return 2;
9
9
  return 0;
10
10
  }
11
- export class MouseController {
11
+ export class Mouse {
12
12
  driver;
13
13
  constructor(driver) {
14
14
  this.driver = driver;
@@ -1 +1 @@
1
- {"version":3,"file":"mouse.js","sourceRoot":"","sources":["../../src/lib/mouse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mouse.js","sourceRoot":"","sources":["../../src/lib/mouse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Page — a top-level browsing context (a tab or a popup window).
3
+ *
4
+ * Maps 1-to-1 onto a WebDriver BiDi top-level `browsingContext`. Obtain via
5
+ * `browser.openPage()`, `browser.pages()`, or `browser.waitForPage()`.
6
+ * All element methods are automatically scoped to this page.
7
+ *
8
+ * BiDi path: actions target the page's browsing-context id directly.
9
+ * Classic fallback: switchToWindow → action (window switch is permanent until switched back).
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
+ import type { BrowserContext } from './browserContext.js';
18
+ type LoadState = 'load' | 'domcontentloaded' | 'networkidle' | 'none';
19
+ export declare class Page {
20
+ private driver;
21
+ private getDefaultTimeout;
22
+ /**
23
+ * BiDi browsing-context id (in BiDi mode) **or** window handle (Classic mode).
24
+ */
25
+ private contextId;
26
+ private conn?;
27
+ /** Owning user context. Set when the page was created via a BrowserContext. */
28
+ private _owner?;
29
+ constructor(driver: Driver, contextId: string, getDefaultTimeout: () => number, conn?: BiDiConnection, owner?: BrowserContext);
30
+ /**
31
+ * The {@link BrowserContext} this page belongs to.
32
+ *
33
+ * Always defined in BiDi mode — pages created via `browser.openPage()`,
34
+ * `browser.waitForPage()`, `browser.pages()`, and `browser.activePage()`
35
+ * report `browser.defaultContext`; pages created via a non-default
36
+ * context report that context. Only `undefined` for pages obtained from
37
+ * the Classic-mode fallbacks where user contexts don't exist.
38
+ */
39
+ context(): BrowserContext | undefined;
40
+ /** Switch the Classic driver to this window for element operations. */
41
+ private _activate;
42
+ /** Switch back to the previous window after a Classic action. */
43
+ private _restoreTo;
44
+ private _withWindow;
45
+ url(): Promise<string>;
46
+ title(): Promise<string>;
47
+ navigateTo(url: string): Promise<void>;
48
+ /**
49
+ * Resolve `url` against the owning context's `baseURL`, if any.
50
+ * Absolute URLs are returned as-is.
51
+ */
52
+ private _resolveUrl;
53
+ /**
54
+ * Navigate back one step in this page's session history.
55
+ * BiDi: `browsingContext.traverseHistory({ delta: -1 })`.
56
+ * Classic fallback: `POST /session/{id}/back` (per-window switch).
57
+ */
58
+ goBack(): Promise<void>;
59
+ /**
60
+ * Navigate forward one step in this page's session history.
61
+ * BiDi: `browsingContext.traverseHistory({ delta: +1 })`.
62
+ * Classic fallback: `POST /session/{id}/forward`.
63
+ */
64
+ goForward(): Promise<void>;
65
+ /**
66
+ * Reload this page.
67
+ * BiDi: `browsingContext.reload` waiting for `complete`.
68
+ * Classic fallback: `POST /session/{id}/refresh`.
69
+ */
70
+ reload(): Promise<void>;
71
+ waitForLoadState(state?: Exclude<LoadState, 'none' | 'networkidle'>, opts?: {
72
+ timeout?: number;
73
+ }): Promise<void>;
74
+ evaluate<T = unknown>(fn: ((...args: unknown[]) => T) | string, ...args: unknown[]): Promise<T>;
75
+ /**
76
+ * Return the full HTML serialization of the page (`document.documentElement.outerHTML`).
77
+ */
78
+ content(): Promise<string>;
79
+ /**
80
+ * Replace the page contents with the given HTML and wait until the
81
+ * specified load state is reached.
82
+ *
83
+ * Implementation: navigates to a `data:text/html` URL so the new
84
+ * document goes through a real navigation (load events fire correctly).
85
+ *
86
+ * @param html The HTML document to load.
87
+ * @param opts.waitUntil Load state to wait for. Defaults to `'load'`.
88
+ */
89
+ setContent(html: string, opts?: {
90
+ waitUntil?: Exclude<LoadState, 'networkidle'>;
91
+ }): Promise<void>;
92
+ private _makeContextSwitcher;
93
+ find(selector: string | By): ElementHandle;
94
+ locator(selector: string | By): Locator;
95
+ expect(selector: string | By): ExpectApi;
96
+ findAll(selector: string | By): Promise<ElementHandle[]>;
97
+ click(selector: string | By, opts?: {
98
+ timeout?: number;
99
+ }): Promise<void>;
100
+ fill(selector: string | By, text: string, opts?: {
101
+ timeout?: number;
102
+ }): Promise<void>;
103
+ /** Return the BiDi browsing-context id (or Classic window handle) for this page. */
104
+ id(): string;
105
+ }
106
+ export {};
107
+ //# sourceMappingURL=page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../src/lib/page.ts"],"names":[],"mappings":"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"}