@appium/types 1.0.0 → 1.0.1

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 (61) hide show
  1. package/build/lib/capabilities.d.ts +1 -2
  2. package/build/lib/capabilities.d.ts.map +1 -1
  3. package/build/lib/{command.d.ts → command-maps.d.ts} +1 -1
  4. package/build/lib/command-maps.d.ts.map +1 -0
  5. package/build/lib/command-maps.js +4 -0
  6. package/build/lib/command-maps.js.map +1 -0
  7. package/build/lib/commands/appium.d.ts +100 -0
  8. package/build/lib/commands/appium.d.ts.map +1 -0
  9. package/build/lib/{command.js → commands/appium.js} +1 -2
  10. package/build/lib/commands/appium.js.map +1 -0
  11. package/build/lib/commands/basedriver.d.ts +370 -0
  12. package/build/lib/commands/basedriver.d.ts.map +1 -0
  13. package/build/lib/commands/basedriver.js +3 -0
  14. package/build/lib/commands/basedriver.js.map +1 -0
  15. package/build/lib/commands/index.d.ts +7 -0
  16. package/build/lib/commands/index.d.ts.map +1 -0
  17. package/build/lib/commands/index.js +23 -0
  18. package/build/lib/commands/index.js.map +1 -0
  19. package/build/lib/commands/jsonwp.d.ts +37 -0
  20. package/build/lib/commands/jsonwp.d.ts.map +1 -0
  21. package/build/lib/commands/jsonwp.js +3 -0
  22. package/build/lib/commands/jsonwp.js.map +1 -0
  23. package/build/lib/commands/mjsonwp.d.ts +65 -0
  24. package/build/lib/commands/mjsonwp.d.ts.map +1 -0
  25. package/build/lib/commands/mjsonwp.js +3 -0
  26. package/build/lib/commands/mjsonwp.js.map +1 -0
  27. package/build/lib/commands/other-protocols.d.ts +85 -0
  28. package/build/lib/commands/other-protocols.d.ts.map +1 -0
  29. package/build/lib/commands/other-protocols.js +3 -0
  30. package/build/lib/commands/other-protocols.js.map +1 -0
  31. package/build/lib/commands/webdriver.d.ts +418 -0
  32. package/build/lib/commands/webdriver.d.ts.map +1 -0
  33. package/build/lib/commands/webdriver.js +3 -0
  34. package/build/lib/commands/webdriver.js.map +1 -0
  35. package/build/lib/constraints.d.ts +19 -0
  36. package/build/lib/constraints.d.ts.map +1 -1
  37. package/build/lib/constraints.js.map +1 -1
  38. package/build/lib/driver.d.ts +9 -1056
  39. package/build/lib/driver.d.ts.map +1 -1
  40. package/build/lib/index.d.ts +2 -1
  41. package/build/lib/index.d.ts.map +1 -1
  42. package/build/lib/index.js +2 -1
  43. package/build/lib/index.js.map +1 -1
  44. package/build/lib/plugin.d.ts +1 -1
  45. package/build/lib/plugin.d.ts.map +1 -1
  46. package/lib/capabilities.ts +1 -2
  47. package/lib/commands/appium.ts +115 -0
  48. package/lib/commands/basedriver.ts +476 -0
  49. package/lib/commands/index.ts +6 -0
  50. package/lib/commands/jsonwp.ts +41 -0
  51. package/lib/commands/mjsonwp.ts +71 -0
  52. package/lib/commands/other-protocols.ts +113 -0
  53. package/lib/commands/webdriver.ts +475 -0
  54. package/lib/constraints.ts +18 -1
  55. package/lib/driver.ts +25 -1279
  56. package/lib/index.ts +2 -1
  57. package/lib/plugin.ts +1 -1
  58. package/package.json +4 -4
  59. package/build/lib/command.d.ts.map +0 -1
  60. package/build/lib/command.js.map +0 -1
  61. /package/lib/{command.ts → command-maps.ts} +0 -0
@@ -1,13 +1,14 @@
1
1
  import type { EventEmitter } from 'node:events';
2
2
  import type { Merge } from 'type-fest';
3
- import type { ActionSequence } from './action';
4
- import type { Capabilities, DriverCaps, W3CCapabilities, W3CDriverCaps } from './capabilities';
5
- import type { BidiModuleMap, BiDiResultData, ExecuteMethodMap, MethodMap } from './command';
3
+ import type { Capabilities, DriverCaps, W3CCapabilities } from './capabilities';
4
+ import type { BidiModuleMap, BiDiResultData, ExecuteMethodMap, MethodMap } from './command-maps';
5
+ import type { DefaultCreateSessionResult, DefaultDeleteSessionResult, DriverData, EventHistory, IImplementedCommands, IWDClassicCommands, IAppiumCommands, IJSONWPCommands, IMJSONWPCommands, IOtherProtocolCommands } from './commands';
6
+ import type { Constraints } from './constraints';
6
7
  import type { ServerArgs } from './config';
7
8
  import type { HTTPHeaders, HTTPMethod } from './http';
8
9
  import type { AppiumLogger } from './logger';
9
10
  import type { AppiumServer, UpdateServerCallback } from './server';
10
- import type { Class, Element, StringRecord } from './util';
11
+ import type { Class, StringRecord } from './util';
11
12
  import type internal from 'node:stream';
12
13
  /**
13
14
  * Interface implemented by the `DeviceSettings` class in `@appium/base-driver`
@@ -16,367 +17,6 @@ export interface IDeviceSettings<T extends StringRecord> {
16
17
  update(newSettings: T): Promise<void>;
17
18
  getSettings(): T;
18
19
  }
19
- export interface ITimeoutCommands {
20
- /**
21
- * Set the various timeouts associated with a session
22
- * @see {@link https://w3c.github.io/webdriver/#set-timeouts}
23
- *
24
- * @param type - used only for the old (JSONWP) command, the type of the timeout
25
- * @param ms - used only for the old (JSONWP) command, the ms for the timeout
26
- * @param script - the number in ms for the script timeout, used for the W3C command
27
- * @param pageLoad - the number in ms for the pageLoad timeout, used for the W3C command
28
- * @param implicit - the number in ms for the implicit wait timeout, used for the W3C command
29
- */
30
- timeouts(type?: string, ms?: number | string, script?: number, pageLoad?: number, implicit?: number | string): Promise<void>;
31
- /**
32
- * Set the new command timeout
33
- *
34
- * @param ms - the timeout in ms
35
- */
36
- setNewCommandTimeout(ms: number): void;
37
- /**
38
- * A helper method (not a command) used to set the implicit wait value
39
- *
40
- * @param ms - the implicit wait in ms
41
- */
42
- setImplicitWait(ms: number): void;
43
- /**
44
- * Periodically retry an async function up until the currently set implicit wait timeout
45
- *
46
- * @param condition - the behaviour to retry until it returns truthy
47
- *
48
- * @returns The return value of the condition
49
- */
50
- implicitWaitForCondition(condition: (...args: any[]) => Promise<any>): Promise<unknown>;
51
- /**
52
- * Get the current timeouts
53
- * @see {@link https://w3c.github.io/webdriver/#get-timeouts}
54
- *
55
- * @returns A map of timeout names to ms values
56
- */
57
- getTimeouts(): Promise<Record<string, number>>;
58
- /**
59
- * Set the implicit wait value that was sent in via the W3C protocol
60
- *
61
- * @param ms - the timeout in ms
62
- */
63
- implicitWaitW3C(ms: number): Promise<void>;
64
- /**
65
- * Set the page load timeout value that was sent in via the W3C protocol
66
- *
67
- * @param ms - the timeout in ms
68
- */
69
- pageLoadTimeoutW3C(ms: number): Promise<void>;
70
- /**
71
- * Set the script timeout value that was sent in via the W3C protocol
72
- *
73
- * @param ms - the timeout in ms
74
- */
75
- scriptTimeoutW3C(ms: number): Promise<void>;
76
- /**
77
- * Set Appium's new command timeout
78
- *
79
- * @param ms - the timeout in ms
80
- */
81
- newCommandTimeout(ms: number): Promise<void>;
82
- /**
83
- * Get a timeout value from a number or a string
84
- *
85
- * @param ms - the timeout value as a number or a string
86
- *
87
- * @returns The timeout as a number in ms
88
- */
89
- parseTimeoutArgument(ms: number | string): number;
90
- }
91
- export interface IEventCommands {
92
- /**
93
- * Add a custom-named event to the Appium event log
94
- *
95
- * @param vendor - the name of the vendor or tool the event belongs to, to namespace the event
96
- * @param event - the name of the event itself
97
- */
98
- logCustomEvent(vendor: string, event: string): Promise<void>;
99
- /**
100
- * Get a list of events that have occurred in the current session
101
- *
102
- * @param type - filter the returned events by including one or more types
103
- *
104
- * @returns The event history for the session
105
- */
106
- getLogEvents(type?: string | string[]): Promise<EventHistory | Record<string, number>>;
107
- }
108
- export interface IExecuteCommands {
109
- /**
110
- * Call an `Execute Method` by its name with the given arguments. This method will check that the
111
- * driver has registered the method matching the name, and send it the arguments.
112
- *
113
- * @param script - the name of the Execute Method
114
- * @param args - a singleton array containing an arguments object
115
- *
116
- * @returns The result of calling the Execute Method
117
- */
118
- executeMethod<TArgs extends readonly any[] | readonly [StringRecord<unknown>] = unknown[], TReturn = unknown>(script: string, args: TArgs): Promise<TReturn>;
119
- }
120
- /**
121
- * Data returned by `AppiumDriver.getAppiumSessions`
122
- *
123
- * @typeParam C - The driver's constraints
124
- */
125
- export interface TimestampedMultiSessionData<C extends Constraints = Constraints> {
126
- id: string;
127
- created: number;
128
- capabilities: DriverCaps<C>;
129
- }
130
- /**
131
- * Data returned by {@linkcode ISessionHandler.getSession}.
132
- *
133
- * @typeParam C - The driver's constraints
134
- * @typeParam T - Any extra data the driver stuffs in here
135
- * @privateRemarks The content of this object looks implementation-specific and in practice is not well-defined. It's _possible_ to fully type this in the future.
136
- */
137
- export type SingularSessionData<C extends Constraints = Constraints, T extends StringRecord = StringRecord> = DriverCaps<C> & {
138
- events?: EventHistory;
139
- error?: string;
140
- } & T;
141
- /**
142
- * Data returned by {@linkcode ISessionCommands.getAppiumSessionCapabilities}.
143
- *
144
- * @typeParam C - The driver's constraints
145
- * @typeParam T - Any extra data the driver stuffs in here
146
- */
147
- export type SessionCapabilities<C extends Constraints = Constraints, T extends StringRecord = StringRecord> = {
148
- capabilities: DriverCaps<C>;
149
- } & T;
150
- export interface IFindCommands {
151
- /**
152
- * Find a UI element given a locator strategy and a selector, erroring if it can't be found
153
- * @see {@link https://w3c.github.io/webdriver/#find-element}
154
- *
155
- * @param strategy - the locator strategy
156
- * @param selector - the selector to combine with the strategy to find the specific element
157
- *
158
- * @returns The element object encoding the element id which can be used in element-related
159
- * commands
160
- */
161
- findElement(strategy: string, selector: string): Promise<Element>;
162
- /**
163
- * Find a a list of all UI elements matching a given a locator strategy and a selector
164
- * @see {@link https://w3c.github.io/webdriver/#find-elements}
165
- *
166
- * @param strategy - the locator strategy
167
- * @param selector - the selector to combine with the strategy to find the specific elements
168
- *
169
- * @returns A possibly-empty list of element objects
170
- */
171
- findElements(strategy: string, selector: string): Promise<Element[]>;
172
- /**
173
- * Find a UI element given a locator strategy and a selector, erroring if it can't be found. Only
174
- * look for elements among the set of descendants of a given element
175
- * @see {@link https://w3c.github.io/webdriver/#find-element-from-element}
176
- *
177
- * @param strategy - the locator strategy
178
- * @param selector - the selector to combine with the strategy to find the specific element
179
- * @param elementId - the id of the element to use as the search basis
180
- *
181
- * @returns The element object encoding the element id which can be used in element-related
182
- * commands
183
- */
184
- findElementFromElement(strategy: string, selector: string, elementId: string): Promise<Element>;
185
- /**
186
- * Find a a list of all UI elements matching a given a locator strategy and a selector. Only
187
- * look for elements among the set of descendants of a given element
188
- * @see {@link https://w3c.github.io/webdriver/#find-elements-from-element}
189
- *
190
- * @param strategy - the locator strategy
191
- * @param selector - the selector to combine with the strategy to find the specific elements
192
- * @param elementId - the id of the element to use as the search basis
193
- *
194
- * @returns A possibly-empty list of element objects
195
- */
196
- findElementsFromElement(strategy: string, selector: string, elementId: string): Promise<Element[]>;
197
- /**
198
- * Find an element from a shadow root
199
- * @see {@link https://w3c.github.io/webdriver/#find-element-from-shadow-root}
200
- * @param strategy - the locator strategy
201
- * @param selector - the selector to combine with the strategy to find the specific elements
202
- * @param shadowId - the id of the element to use as the search basis
203
- *
204
- * @returns The element inside the shadow root matching the selector
205
- */
206
- findElementFromShadowRoot?(strategy: string, selector: string, shadowId: string): Promise<Element>;
207
- /**
208
- * Find elements from a shadow root
209
- * @see {@link https://w3c.github.io/webdriver/#find-element-from-shadow-root}
210
- * @param strategy - the locator strategy
211
- * @param selector - the selector to combine with the strategy to find the specific elements
212
- * @param shadowId - the id of the element to use as the search basis
213
- *
214
- * @returns A possibly empty list of elements inside the shadow root matching the selector
215
- */
216
- findElementsFromShadowRoot?(strategy: string, selector: string, shadowId: string): Promise<Element[]>;
217
- /**
218
- * A helper method that returns one or more UI elements based on the search criteria
219
- *
220
- * @param strategy - the locator strategy
221
- * @param selector - the selector
222
- * @param mult - whether or not we want to find multiple elements
223
- * @param context - the element to use as the search context basis if desiredCapabilities
224
- *
225
- * @returns A single element or list of elements
226
- */
227
- findElOrEls(strategy: string, selector: string, mult: true, context?: any): Promise<Element[]>;
228
- findElOrEls(strategy: string, selector: string, mult: false, context?: any): Promise<Element>;
229
- /**
230
- * This is a wrapper for {@linkcode findElOrEls} that validates locator strategies
231
- * and implements the `appium:printPageSourceOnFindFailure` capability
232
- *
233
- * @param strategy - the locator strategy
234
- * @param selector - the selector
235
- * @param mult - whether or not we want to find multiple elements
236
- * @param context - the element to use as the search context basis if desiredCapabilities
237
- *
238
- * @returns A single element or list of elements
239
- */
240
- findElOrElsWithProcessing(strategy: string, selector: string, mult: true, context?: any): Promise<Element[]>;
241
- findElOrElsWithProcessing(strategy: string, selector: string, mult: false, context?: any): Promise<Element>;
242
- /**
243
- * Get the current page/app source as HTML/XML
244
- * @see {@link https://w3c.github.io/webdriver/#get-page-source}
245
- *
246
- * @returns The UI hierarchy in a platform-appropriate format (e.g., HTML for a web page)
247
- */
248
- getPageSource(): Promise<string>;
249
- }
250
- export interface ILogCommands {
251
- /**
252
- * Definition of the available log types
253
- */
254
- supportedLogTypes: Readonly<LogDefRecord>;
255
- /**
256
- * Get available log types as a list of strings
257
- */
258
- getLogTypes(): Promise<string[]>;
259
- /**
260
- * Get the log for a given log type.
261
- *
262
- * @param logType - Name/key of log type as defined in {@linkcode ILogCommands.supportedLogTypes}.
263
- */
264
- getLog(logType: string): Promise<any>;
265
- }
266
- export interface IBidiCommands {
267
- bidiSubscribe(events: string[], contexts: string[]): Promise<void>;
268
- bidiUnsubscribe(events: string[], contexts: string[]): Promise<void>;
269
- bidiStatus(): Promise<DriverStatus>;
270
- }
271
- /**
272
- * A record of {@linkcode LogDef} objects, keyed by the log type name.
273
- * Used in {@linkcode ILogCommands.supportedLogTypes}
274
- */
275
- export type LogDefRecord = Record<string, LogDef>;
276
- /**
277
- * A definition of a log type
278
- */
279
- export interface LogDef {
280
- /**
281
- * Description of the log type.
282
- *
283
- * The only place this is used is in error messages if the client provides an invalid log type
284
- * via {@linkcode ILogCommands.getLog}.
285
- */
286
- description: string;
287
- /**
288
- * Returns all the log data for the given type
289
- *
290
- * This implementation *should* drain, truncate or otherwise reset the log buffer.
291
- */
292
- getter: (driver: any) => Promise<unknown> | unknown;
293
- }
294
- export interface ISettingsCommands<T extends object = object> {
295
- /**
296
- * Update the session's settings dictionary with a new settings object
297
- *
298
- * @param settings - A key-value map of setting names to values. Settings not named in the map
299
- * will not have their value adjusted.
300
- */
301
- updateSettings: (settings: T) => Promise<void>;
302
- /**
303
- * Get the current settings for the session
304
- *
305
- * @returns The settings object
306
- */
307
- getSettings(): Promise<T>;
308
- }
309
- /**
310
- * @see {@linkcode ISessionHandler}
311
- */
312
- export type DefaultCreateSessionResult<C extends Constraints> = [
313
- sessionId: string,
314
- capabilities: DriverCaps<C>
315
- ];
316
- /**
317
- * @see {@linkcode ISessionHandler}
318
- */
319
- export type DefaultDeleteSessionResult = void;
320
- /**
321
- * An interface which creates and deletes sessions.
322
- */
323
- export interface ISessionHandler<C extends Constraints = Constraints, CreateResult = DefaultCreateSessionResult<C>, DeleteResult = DefaultDeleteSessionResult, SessionData extends StringRecord = StringRecord> {
324
- /**
325
- * Start a new automation session
326
- * @see {@link https://w3c.github.io/webdriver/#new-session}
327
- *
328
- * @privateRemarks
329
- * The shape of this method is strange because it used to support both JSONWP and W3C
330
- * capabilities. This will likely change in the future to simplify.
331
- *
332
- * @param w3cCaps1 - the new session capabilities
333
- * @param w3cCaps2 - another place the new session capabilities could be sent (typically left undefined)
334
- * @param w3cCaps3 - another place the new session capabilities could be sent (typically left undefined)
335
- * @param driverData - a list of DriverData objects representing other sessions running for this
336
- * driver on the same Appium server. This information can be used to help ensure no conflict of
337
- * resources
338
- *
339
- * @returns The capabilities object representing the created session
340
- */
341
- createSession(w3cCaps1: W3CDriverCaps<C>, w3cCaps2?: W3CDriverCaps<C>, w3cCaps3?: W3CDriverCaps<C>, driverData?: DriverData[]): Promise<CreateResult>;
342
- /**
343
- * Stop an automation session
344
- * @see {@link https://w3c.github.io/webdriver/#delete-session}
345
- *
346
- * @param sessionId - the id of the session that is to be deleted
347
- * @param driverData - the driver data for other currently-running sessions
348
- */
349
- deleteSession(sessionId?: string, driverData?: DriverData[]): Promise<DeleteResult | void>;
350
- /**
351
- * Get the data for the current session
352
- *
353
- * @returns A session data object
354
- */
355
- getSession(): Promise<SingularSessionData<C, SessionData>>;
356
- }
357
- /**
358
- * Custom session data for a driver.
359
- */
360
- export type DriverData = Record<string, unknown>;
361
- export interface Constraint {
362
- readonly presence?: boolean | Readonly<{
363
- allowEmpty: boolean;
364
- }>;
365
- readonly isString?: boolean;
366
- readonly isNumber?: boolean;
367
- readonly isBoolean?: boolean;
368
- readonly isObject?: boolean;
369
- readonly isArray?: boolean;
370
- readonly deprecated?: boolean;
371
- readonly inclusion?: Readonly<[string, ...string[]]>;
372
- readonly inclusionCaseInsensitive?: Readonly<[string, ...string[]]>;
373
- }
374
- /**
375
- * A collection of constraints describing the allowed capabilities for a driver.
376
- */
377
- export type Constraints = {
378
- readonly [name: string]: Constraint;
379
- };
380
20
  export interface DriverHelpers {
381
21
  configureApp: (app: string, supportedAppExtensions?: string | string[] | ConfigureAppOptions) => Promise<string>;
382
22
  isPackageOrBundle: (app: string) => boolean;
@@ -385,64 +25,7 @@ export interface DriverHelpers {
385
25
  generateDriverLogPrefix: (obj: object, sessionId?: string) => string;
386
26
  }
387
27
  export type SettingsUpdateListener<T extends Record<string, unknown> = Record<string, unknown>> = (prop: keyof T, newValue: unknown, curValue: unknown) => Promise<void>;
388
- export interface Rect {
389
- x: number;
390
- y: number;
391
- width: number;
392
- height: number;
393
- }
394
- export type NewWindowType = 'tab' | 'window';
395
- export interface NewWindow {
396
- handle: string;
397
- type: NewWindowType;
398
- }
399
- export interface Cookie {
400
- name: string;
401
- value: string;
402
- path?: string;
403
- domain?: string;
404
- secure?: boolean;
405
- httpOnly?: boolean;
406
- expiry?: number;
407
- sameSite?: 'Lax' | 'Strict';
408
- }
409
- export type Size = Pick<Rect, 'width' | 'height'>;
410
- export type Position = Pick<Rect, 'x' | 'y'>;
411
- export interface Location {
412
- latitude: number;
413
- longitude: number;
414
- altitude?: number;
415
- }
416
- export interface Rotation {
417
- x: number;
418
- y: number;
419
- z: number;
420
- }
421
- export interface Credential {
422
- credentialId: string;
423
- isResidentCredential: boolean;
424
- rpId: string;
425
- privateKey: string;
426
- userHandle?: string;
427
- signCount: number;
428
- largeBlob?: string;
429
- }
430
- export type Orientation = 'LANDSCAPE' | 'PORTRAIT';
431
- export interface EventHistory {
432
- commands: EventHistoryCommand[];
433
- [key: string]: any;
434
- }
435
- export interface EventHistoryCommand {
436
- cmd: string;
437
- startTime: number;
438
- endTime: number;
439
- }
440
28
  export type Protocol = 'MJSONWP' | 'W3C';
441
- export interface DriverStatus {
442
- ready: boolean;
443
- message: string;
444
- [key: string]: any;
445
- }
446
29
  /**
447
30
  * Methods and properties which both `AppiumDriver` and `BaseDriver` inherit.
448
31
  *
@@ -530,7 +113,7 @@ export interface Core<C extends Constraints, Settings extends StringRecord = Str
530
113
  * `CArgs` would be the shape of `cliArgs`.
531
114
  * `Settings` is the shape of the raw device settings object (see {@linkcode IDeviceSettings})
532
115
  */
533
- export interface Driver<C extends Constraints = Constraints, CArgs extends StringRecord = StringRecord, Settings extends StringRecord = StringRecord, CreateResult = DefaultCreateSessionResult<C>, DeleteResult = DefaultDeleteSessionResult, SessionData extends StringRecord = StringRecord> extends ILogCommands, IFindCommands, ISettingsCommands<Settings>, ITimeoutCommands, IEventCommands, IExecuteCommands, ISessionHandler<C, CreateResult, DeleteResult, SessionData>, Core<C, Settings> {
116
+ export interface Driver<C extends Constraints = Constraints, CArgs extends StringRecord = StringRecord, Settings extends StringRecord = StringRecord, CreateResult = DefaultCreateSessionResult<C>, DeleteResult = DefaultDeleteSessionResult, SessionData extends StringRecord = StringRecord> extends IImplementedCommands<C, Settings, CreateResult, DeleteResult, SessionData>, Core<C, Settings> {
534
117
  /**
535
118
  * The set of command line arguments set for this driver
536
119
  */
@@ -600,640 +183,10 @@ export interface Driver<C extends Constraints = Constraints, CArgs extends Strin
600
183
  assignServer?(server: AppiumServer, host: string, port: number, path: string): void;
601
184
  }
602
185
  /**
603
- * External drivers must subclass `BaseDriver`, and can implement any of these methods.
604
- * None of these are implemented within Appium itself.
186
+ * External drivers must subclass `BaseDriver`, and can implement any methods from this interface.
187
+ * None of these methods are implemented within Appium itself.
605
188
  */
606
- export interface ExternalDriver<C extends Constraints = Constraints, Ctx = string, CArgs extends StringRecord = StringRecord, Settings extends StringRecord = StringRecord, CreateResult = DefaultCreateSessionResult<C>, DeleteResult = DefaultDeleteSessionResult, SessionData extends StringRecord = StringRecord> extends Driver<C, CArgs, Settings, CreateResult, DeleteResult, SessionData> {
607
- /**
608
- * Navigate to a given url
609
- * @see {@link https://w3c.github.io/webdriver/#navigate-to}
610
- *
611
- * @param url - the url
612
- */
613
- setUrl?(url: string): Promise<void>;
614
- /**
615
- * Get the current url
616
- * @see {@link https://w3c.github.io/webdriver/#get-current-url}
617
- *
618
- * @returns The url
619
- */
620
- getUrl?(): Promise<string>;
621
- /**
622
- * Navigate back in the page history
623
- * @see {@link https://w3c.github.io/webdriver/#back}
624
- */
625
- back?(): Promise<void>;
626
- /**
627
- * Navigate forward in the page history
628
- * @see {@link https://w3c.github.io/webdriver/#forward}
629
- */
630
- forward?(): Promise<void>;
631
- /**
632
- * Refresh the page
633
- * @see {@link https://w3c.github.io/webdriver/#refresh}
634
- */
635
- refresh?(): Promise<void>;
636
- /**
637
- * Get the current page title
638
- * @see {@link https://w3c.github.io/webdriver/#get-title}
639
- *
640
- * @returns The title
641
- *
642
- * @example
643
- * ```js
644
- * await driver.getTitle()
645
- * ```
646
- * ```py
647
- * driver.title
648
- * ```
649
- * ```java
650
- * driver.getTitle();
651
- * ```
652
- */
653
- title?(): Promise<string>;
654
- /**
655
- * Get the handle (id) associated with the current browser window
656
- * @see {@link https://w3c.github.io/webdriver/#get-window-handle}
657
- *
658
- * @returns The handle string
659
- */
660
- getWindowHandle?(): Promise<string>;
661
- /**
662
- * Close the current browsing context (window)
663
- * @see {@link https://w3c.github.io/webdriver/#close-window}
664
- *
665
- * @returns An array of window handles representing currently-open windows
666
- */
667
- closeWindow?(): Promise<string[]>;
668
- /**
669
- * Switch to a specified window
670
- * @see {@link https://w3c.github.io/webdriver/#switch-to-window}
671
- *
672
- * @param handle - the window handle of the window to make active
673
- */
674
- setWindow?(handle: string): Promise<void>;
675
- /**
676
- * Get a set of handles representing open browser windows
677
- * @see {@link https://w3c.github.io/webdriver/#get-window-handles}
678
- *
679
- * @returns An array of window handles representing currently-open windows
680
- */
681
- getWindowHandles?(): Promise<string[]>;
682
- /**
683
- * Create a new browser window
684
- * @see {@link https://w3c.github.io/webdriver/#new-window}
685
- *
686
- * @param type - a hint to the driver whether to create a "tab" or "window"
687
- *
688
- * @returns An object containing the handle of the newly created window and its type
689
- */
690
- createNewWindow?(type?: NewWindowType): Promise<NewWindow>;
691
- /**
692
- * Switch the current browsing context to a frame
693
- * @see {@link https://w3c.github.io/webdriver/#switch-to-frame}
694
- *
695
- * @param id - the frame id, index, or `null` (indicating the top-level context)
696
- */
697
- setFrame?(id: null | number | string): Promise<void>;
698
- /**
699
- * Set the current browsing context to the parent of the current context
700
- * @see {@link https://w3c.github.io/webdriver/#switch-to-parent-frame}
701
- */
702
- switchToParentFrame?(): Promise<void>;
703
- /**
704
- * Get the size and position of the current window
705
- * @see {@link https://w3c.github.io/webdriver/#get-window-rect}
706
- *
707
- * @returns A `Rect` JSON object with x, y, width, and height properties
708
- */
709
- getWindowRect?(): Promise<Rect>;
710
- /**
711
- * Set the current window's size and position
712
- * @see {@link https://w3c.github.io/webdriver/#set-window-rect}
713
- *
714
- * @param x - the screen coordinate for the new left edge of the window
715
- * @param y - the screen coordinate for the new top edge of the window
716
- * @param width - the width in pixels to resize the window to
717
- * @param height - the height in pixels to resize the window to
718
- *
719
- * @returns The actual `Rect` of the window after running the command
720
- */
721
- setWindowRect?(x: number, y: number, width: number, height: number): Promise<Rect>;
722
- /**
723
- * Run the window-manager specific 'maximize' operation on the current window
724
- * @see {@link https://w3c.github.io/webdriver/#maximize-window}
725
- *
726
- * @returns The actual `Rect` of the window after running the command
727
- */
728
- maximizeWindow?(): Promise<Rect>;
729
- /**
730
- * Run the window-manager specific 'minimize' operation on the current window
731
- * @see {@link https://w3c.github.io/webdriver/#minimize-window}
732
- *
733
- * @returns The actual `Rect` of the window after running the command
734
- */
735
- minimizeWindow?(): Promise<Rect>;
736
- /**
737
- * Put the current window into full screen mode
738
- * @see {@link https://w3c.github.io/webdriver/#fullscreen-window}
739
- *
740
- * @returns The actual `Rect` of the window after running the command
741
- */
742
- fullScreenWindow?(): Promise<Rect>;
743
- /**
744
- * Get the active element
745
- * @see {@link https://w3c.github.io/webdriver/#get-active-element}
746
- *
747
- * @returns The JSON object encapsulating the active element reference
748
- */
749
- active?(): Promise<Element>;
750
- /**
751
- * Get the shadow root of an element
752
- * @see {@link https://w3c.github.io/webdriver/#get-element-shadow-root}
753
- *
754
- * @param elementId - the id of the element to retrieve the shadow root for
755
- *
756
- * @returns The shadow root for an element, as an element
757
- */
758
- elementShadowRoot?(elementId: string): Promise<Element>;
759
- /**
760
- * Determine if the reference element is selected or not
761
- * @see {@link https://w3c.github.io/webdriver/#is-element-selected}
762
- *
763
- * @param elementId - the id of the element
764
- *
765
- * @returns True if the element is selected, False otherwise
766
- */
767
- elementSelected?(elementId: string): Promise<boolean>;
768
- /**
769
- * Retrieve the value of an element's attribute
770
- * @see {@link https://w3c.github.io/webdriver/#get-element-attribute}
771
- *
772
- * @param name - the attribute name
773
- * @param elementId - the id of the element
774
- *
775
- * @returns The attribute value
776
- */
777
- getAttribute?(name: string, elementId: string): Promise<string | null>;
778
- /**
779
- * Retrieve the value of a named property of an element's JS object
780
- * @see {@link https://w3c.github.io/webdriver/#get-element-property}
781
- *
782
- * @param name - the object property name
783
- * @param elementId - the id of the element
784
- *
785
- * @returns The property value
786
- */
787
- getProperty?(name: string, elementId: string): Promise<string | null>;
788
- /**
789
- * Retrieve the value of a CSS property of an element
790
- * @see {@link https://w3c.github.io/webdriver/#get-element-css-value}
791
- *
792
- * @param name - the CSS property name
793
- * @param elementId - the id of the element
794
- *
795
- * @returns The property value
796
- */
797
- getCssProperty?(name: string, elementId: string): Promise<string>;
798
- /**
799
- * Get the text of an element as rendered
800
- * @see {@link https://w3c.github.io/webdriver/#get-element-text}
801
- *
802
- * @param elementId - the id of the element
803
- *
804
- * @returns The text rendered for the element
805
- */
806
- getText?(elementId: string): Promise<string>;
807
- /**
808
- * Get the tag name of an element
809
- * @see {@link https://w3c.github.io/webdriver/#get-element-tag-name}
810
- *
811
- * @param elementId - the id of the element
812
- *
813
- * @returns The tag name
814
- */
815
- getName?(elementId: string): Promise<string>;
816
- /**
817
- * Get the dimensions and position of an element
818
- * @see {@link https://w3c.github.io/webdriver/#get-element-rect}
819
- *
820
- * @param elementId - the id of the element
821
- *
822
- * @returns The Rect object containing x, y, width, and height properties
823
- */
824
- getElementRect?(elementId: string): Promise<Rect>;
825
- /**
826
- * Determine whether an element is enabled
827
- * @see {@link https://w3c.github.io/webdriver/#is-element-enabled}
828
- *
829
- * @param elementId - the id of the element
830
- *
831
- * @returns True if the element is enabled, False otherwise
832
- */
833
- elementEnabled?(elementId: string): Promise<boolean>;
834
- /**
835
- * Get the WAI-ARIA role of an element
836
- * @see {@link https://w3c.github.io/webdriver/#get-computed-role}
837
- *
838
- * @param elementId - the id of the element
839
- *
840
- * @returns The role
841
- */
842
- getComputedRole?(elementId: string): Promise<string | null>;
843
- /**
844
- * Get the accessible name/label of an element
845
- * @see {@link https://w3c.github.io/webdriver/#get-computed-label}
846
- *
847
- * @param elementId - the id of the element
848
- *
849
- * @returns The accessible name
850
- */
851
- getComputedLabel?(elementId: string): Promise<string | null>;
852
- /**
853
- * Determine whether an element is displayed
854
- * @see {@link https://w3c.github.io/webdriver/#element-displayedness}
855
- *
856
- * @param elementId - the id of the element
857
- *
858
- * @returns True if any part of the element is rendered within the viewport, False otherwise
859
- */
860
- elementDisplayed?(elementId: string): Promise<boolean>;
861
- /**
862
- * Click/tap an element
863
- * @see {@link https://w3c.github.io/webdriver/#element-click}
864
- *
865
- * @param elementId - the id of the element
866
- */
867
- click?(elementId: string): Promise<void>;
868
- /**
869
- * Clear the text/value of an editable element
870
- * @see {@link https://w3c.github.io/webdriver/#element-clear}
871
- *
872
- * @param elementId - the id of the element
873
- */
874
- clear?(elementId: string): Promise<void>;
875
- /**
876
- * Send keystrokes to an element (or otherwise set its value)
877
- * @see {@link https://w3c.github.io/webdriver/#element-send-keys}
878
- *
879
- * @param text - the text to send to the element
880
- * @param elementId - the id of the element
881
- */
882
- setValue?(text: string, elementId: string): Promise<void>;
883
- /**
884
- * Execute JavaScript (or some other kind of script) in the browser/app context
885
- * @see {@link https://w3c.github.io/webdriver/#execute-script}
886
- *
887
- * @param script - the string to be evaluated as the script, which will be made the body of an
888
- * anonymous function in the case of JS
889
- * @param args - the list of arguments to be applied to the script as a function
890
- *
891
- * @returns The return value of the script execution
892
- */
893
- execute?(script: string, args: unknown[]): Promise<unknown>;
894
- /**
895
- * Execute JavaScript (or some other kind of script) in the browser/app context, asynchronously
896
- * @see {@link https://w3c.github.io/webdriver/#execute-async-script}
897
- *
898
- * @param script - the string to be evaluated as the script, which will be made the body of an
899
- * anonymous function in the case of JS
900
- * @param args - the list of arguments to be applied to the script as a function
901
- *
902
- * @returns The promise resolution of the return value of the script execution (or an error
903
- * object if the promise is rejected)
904
- */
905
- executeAsync?(script: string, args: unknown[]): Promise<unknown>;
906
- /**
907
- * Get all cookies known to the browsing context
908
- * @see {@link https://w3c.github.io/webdriver/#get-all-cookies}
909
- *
910
- * @returns A list of serialized cookies
911
- */
912
- getCookies?(): Promise<Cookie[]>;
913
- /**
914
- * Get a cookie by name
915
- * @see {@link https://w3c.github.io/webdriver/#get-named-cookie}
916
- *
917
- * @param name - the name of the cookie
918
- *
919
- * @returns A serialized cookie
920
- */
921
- getCookie?(name: string): Promise<Cookie>;
922
- /**
923
- * Add a cookie to the browsing context
924
- * @see {@link https://w3c.github.io/webdriver/#add-cookie}
925
- *
926
- * @param cookie - the cookie data including properties like name, value, path, domain,
927
- * secure, httpOnly, expiry, and samesite
928
- */
929
- setCookie?(cookie: Cookie): Promise<void>;
930
- /**
931
- * Delete a named cookie
932
- * @see {@link https://w3c.github.io/webdriver/#delete-cookie}
933
- *
934
- * @param name - the name of the cookie to delete
935
- */
936
- deleteCookie?(name: string): Promise<void>;
937
- /**
938
- * Delete all cookies
939
- * @see {@link https://w3c.github.io/webdriver/#delete-all-cookies}
940
- */
941
- deleteCookies?(): Promise<void>;
942
- /**
943
- * Perform touch or keyboard actions
944
- * @see {@link https://w3c.github.io/webdriver/#perform-actions}
945
- *
946
- * @param actions - the action sequence
947
- */
948
- performActions?(actions: ActionSequence[]): Promise<void>;
949
- /**
950
- * Release all keys or buttons that are currently pressed
951
- * @see {@link https://w3c.github.io/webdriver/#release-actions}
952
- */
953
- releaseActions?(): Promise<void>;
954
- /**
955
- * Dismiss a simple dialog/alert
956
- * @see {@link https://w3c.github.io/webdriver/#dismiss-alert}
957
- */
958
- postDismissAlert?(): Promise<void>;
959
- /**
960
- * Accept a simple dialog/alert
961
- * @see {@link https://w3c.github.io/webdriver/#accept-alert}
962
- */
963
- postAcceptAlert?(): Promise<void>;
964
- /**
965
- * Get the text of the displayed alert
966
- * @see {@link https://w3c.github.io/webdriver/#get-alert-text}
967
- *
968
- * @returns The text of the alert
969
- */
970
- getAlertText?(): Promise<string | null>;
971
- /**
972
- * Set the text field of an alert prompt
973
- * @see {@link https://w3c.github.io/webdriver/#send-alert-text}
974
- *
975
- * @param text - the text to send to the prompt
976
- */
977
- setAlertText?(text: string): Promise<void>;
978
- /**
979
- * Get a screenshot of the current document as rendered
980
- * @see {@link https://w3c.github.io/webdriver/#take-screenshot}
981
- *
982
- * @returns A base64-encoded string representing the PNG image data
983
- */
984
- getScreenshot?(): Promise<string>;
985
- /**
986
- * Get an image of a single element as rendered on screen
987
- * @see {@link https://w3c.github.io/webdriver/#take-element-screenshot}
988
- *
989
- * @param elementId - the id of the element
990
- *
991
- * @returns A base64-encoded string representing the PNG image data for the element rect
992
- */
993
- getElementScreenshot?(elementId: string): Promise<string>;
994
- /**
995
- * Get the current time on the device under timeouts
996
- *
997
- * @param format - the date/time format you would like the response into
998
- *
999
- * @returns The formatted time
1000
- */
1001
- getDeviceTime?(format?: string): Promise<string>;
1002
- /**
1003
- * Install an app on a device
1004
- *
1005
- * @param appPath - the absolute path to a local app or a URL of a downloadable app bundle
1006
- * @param options - driver-specific install options
1007
- */
1008
- installApp?(appPath: string, options?: unknown): Promise<void>;
1009
- /**
1010
- * Launch an app
1011
- *
1012
- * @param appId - the package or bundle ID of the application
1013
- * @param options - driver-specific launch options
1014
- */
1015
- activateApp?(appId: string, options?: unknown): Promise<void>;
1016
- /**
1017
- * Remove / uninstall an app
1018
- *
1019
- * @param appId - the package or bundle ID of the application
1020
- * @param options - driver-specific launch options
1021
- *
1022
- * @returns `true` if successful
1023
- */
1024
- removeApp?(appId: string, options?: unknown): Promise<boolean>;
1025
- /**
1026
- * Quit / terminate / stop a running application
1027
- *
1028
- * @param appId - the package or bundle ID of the application
1029
- * @param options - driver-specific launch options
1030
- */
1031
- terminateApp?(appId: string, options?: unknown): Promise<boolean>;
1032
- /**
1033
- * Determine whether an app is installed
1034
- *
1035
- * @param appId - the package or bundle ID of the application
1036
- */
1037
- isAppInstalled?(appId: string): Promise<boolean>;
1038
- /**
1039
- * Get the running state of an app
1040
- *
1041
- * @param appId - the package or bundle ID of the application
1042
- *
1043
- * @returns A number representing the state. `0` means not installed, `1` means not running, `2`
1044
- * means running in background but suspended, `3` means running in the background, and `4` means
1045
- * running in the foreground
1046
- */
1047
- queryAppState?(appId: string): Promise<0 | 1 | 2 | 3 | 4>;
1048
- /**
1049
- * Attempt to hide a virtual keyboard
1050
- *
1051
- * @param strategy - the driver-specific name of a hiding strategy to follow
1052
- * @param key - the text of a key to use to hide the keyboard
1053
- * @param keyCode - a key code to trigger to hide the keyboard
1054
- * @param keyName - the name of a key to use to hide the keyboard
1055
- *
1056
- * @returns Whether the keyboard was successfully hidden. May never return `false` on some platforms
1057
- */
1058
- hideKeyboard?(strategy?: string, key?: string, keyCode?: string, keyName?: string): Promise<boolean>;
1059
- /**
1060
- * Determine whether the keyboard is shown
1061
- *
1062
- * @returns Whether the keyboard is shown
1063
- */
1064
- isKeyboardShown?(): Promise<boolean>;
1065
- /**
1066
- * Push data to a file at a remote path on the device
1067
- *
1068
- * @param path - the remote path on the device to create the file at
1069
- * @param data - the base64-encoded data which will be decoded and written to `path`
1070
- */
1071
- pushFile?(path: string, data: string): Promise<void>;
1072
- /**
1073
- * Retrieve the data from a file on the device at a given path
1074
- *
1075
- * @param path - the remote path on the device to pull file data from
1076
- *
1077
- * @returns The base64-encoded file data
1078
- */
1079
- pullFile?(path: string): Promise<string>;
1080
- /**
1081
- * Retrieve the data from a folder on the device at a given path
1082
- *
1083
- * @param path - the remote path of a directory on the device
1084
- *
1085
- * @returns The base64-encoded zip file of the directory contents
1086
- */
1087
- pullFolder?(path: string): Promise<string>;
1088
- /**
1089
- * Get the device orientation
1090
- *
1091
- * @returns The orientation string
1092
- */
1093
- getOrientation?(): Promise<string>;
1094
- /**
1095
- * Set the device orientation
1096
- *
1097
- * @param orientation - the orientation string
1098
- */
1099
- setOrientation?(orientation: string): Promise<void>;
1100
- /**
1101
- * Get the virtual or real geographical location of a device
1102
- *
1103
- * @returns The location
1104
- */
1105
- getGeoLocation?(): Promise<Location>;
1106
- /**
1107
- * Set the virtual geographical location of a device
1108
- *
1109
- * @param location - the location including latitude and longitude
1110
- * @returns The complete location
1111
- */
1112
- setGeoLocation?(location: Partial<Location>): Promise<Location>;
1113
- /**
1114
- * Get the currently active context
1115
- * @see {@link https://github.com/SeleniumHQ/mobile-spec/blob/master/spec-draft.md#webviews-and-other-contexts}
1116
- *
1117
- * @returns The context name
1118
- */
1119
- getCurrentContext?(): Promise<Ctx | null>;
1120
- /**
1121
- * Switch to a context by name
1122
- * @see {@link https://github.com/SeleniumHQ/mobile-spec/blob/master/spec-draft.md#webviews-and-other-contexts}
1123
- *
1124
- * @param name - the context name
1125
- */
1126
- setContext?(name: string, ...args: any[]): Promise<void>;
1127
- /**
1128
- * Get the list of available contexts
1129
- * @see {@link https://github.com/SeleniumHQ/mobile-spec/blob/master/spec-draft.md#webviews-and-other-contexts}
1130
- *
1131
- * @returns The list of context names
1132
- */
1133
- getContexts?(): Promise<Ctx[]>;
1134
- /**
1135
- * Get the network connection state of a device
1136
- * @see {@link https://github.com/SeleniumHQ/mobile-spec/blob/master/spec-draft.md#device-modes}
1137
- *
1138
- * @returns A number which is a bitmask representing categories like Data, Wifi, and Airplane
1139
- * mode status
1140
- */
1141
- getNetworkConnection?(): Promise<number>;
1142
- /**
1143
- * Set the network connection of the device
1144
- * @see {@link https://github.com/SeleniumHQ/mobile-spec/blob/master/spec-draft.md#device-modes}
1145
- *
1146
- * @param type - the bitmask representing network state
1147
- * @returns A number which is a bitmask representing categories like Data, Wifi, and Airplane
1148
- * mode status
1149
- */
1150
- setNetworkConnection?(type: number): Promise<number>;
1151
- /**
1152
- * Get the current rotation state of the device
1153
- * @see {@link https://github.com/SeleniumHQ/mobile-spec/blob/master/spec-draft.md#device-rotation}
1154
- *
1155
- * @returns The Rotation object consisting of x, y, and z rotation values (0 <= n <= 360)
1156
- */
1157
- getRotation?(): Promise<Rotation>;
1158
- /**
1159
- * Set the device rotation state
1160
- * @see {@link https://github.com/SeleniumHQ/mobile-spec/blob/master/spec-draft.md#device-rotation}
1161
- *
1162
- * @param x - the degree to which the device is rotated around the x axis (0 <= x <= 360)
1163
- * @param y - the degree to which the device is rotated around the y axis (0 <= y <= 360)
1164
- * @param z - the degree to which the device is rotated around the z axis (0 <= z <= 360)
1165
- */
1166
- setRotation?(x: number, y: number, z: number): Promise<void>;
1167
- /**
1168
- * Execute a devtools command
1169
- *
1170
- * @param cmd - the command
1171
- * @param params - any command-specific command parameters
1172
- *
1173
- * @returns The result of the command execution
1174
- */
1175
- executeCdp?(cmd: string, params: unknown): Promise<unknown>;
1176
- /**
1177
- * Add a virtual authenticator to a browser
1178
- * @see {@link https://www.w3.org/TR/webauthn-2/#sctn-automation-add-virtual-authenticator}
1179
- *
1180
- * @param protocol - the protocol
1181
- * @param transport - a valid AuthenticatorTransport value
1182
- * @param hasResidentKey - whether there is a resident key
1183
- * @param hasUserVerification - whether the authenticator has user verification
1184
- * @param isUserConsenting - whether it is a user consenting authenticator
1185
- * @param isUserVerified - whether the user is verified
1186
- *
1187
- * @returns The authenticator ID
1188
- */
1189
- addVirtualAuthenticator?(protocol: 'ctap/u2f' | 'ctap2' | 'ctap2_1', transport: string, hasResidentKey?: boolean, hasUserVerification?: boolean, isUserConsenting?: boolean, isUserVerified?: boolean): Promise<string>;
1190
- /**
1191
- * Remove a virtual authenticator
1192
- * @see {@link https://www.w3.org/TR/webauthn-2/#sctn-automation-remove-virtual-authenticator}
1193
- *
1194
- * @param authenticatorId - the ID returned in the call to add the authenticator
1195
- */
1196
- removeVirtualAuthenticator?(authenticatorId: string): Promise<void>;
1197
- /**
1198
- * Inject a public key credential source into a virtual authenticator
1199
- * @see {@link https://www.w3.org/TR/webauthn-2/#sctn-automation-add-credential}
1200
- *
1201
- * @param credentialId - the base64 encoded credential ID
1202
- * @param isResidentCredential - if true, a client-side credential, otherwise a server-side
1203
- * credential
1204
- * @param rpId - the relying party ID the credential is scoped to
1205
- * @param privateKey - the base64 encoded private key package
1206
- * @param userHandle - the base64 encoded user handle
1207
- * @param signCount - the initial value for a signature counter
1208
- */
1209
- addAuthCredential?(credentialId: string, isResidentCredential: boolean, rpId: string, privateKey: string, userHandle: string, signCount: number, authenticatorId: string): Promise<void>;
1210
- /**
1211
- * Get the list of public key credential sources
1212
- * @see {@link https://www.w3.org/TR/webauthn-2/#sctn-automation-get-credentials}
1213
- *
1214
- * @returns The list of Credentials
1215
- */
1216
- getAuthCredential?(): Promise<Credential[]>;
1217
- /**
1218
- * Remove all auth credentials
1219
- * @see {@link https://www.w3.org/TR/webauthn-2/#sctn-automation-remove-all-credentials}
1220
- */
1221
- removeAllAuthCredentials?(): Promise<void>;
1222
- /**
1223
- * Remove a specific auth credential
1224
- *
1225
- * @param credentialId - the credential ID
1226
- * @param authenticatorId - the authenticator ID
1227
- */
1228
- removeAuthCredential?(credentialId: string, authenticatorId: string): Promise<void>;
1229
- /**
1230
- * Set the isUserVerified property of an authenticator
1231
- * @see {@link https://www.w3.org/TR/webauthn-2/#sctn-automation-set-user-verified}
1232
- *
1233
- * @param isUserVerified - the value of the isUserVerified property
1234
- * @param authenticatorId - the authenticator id
1235
- */
1236
- setUserAuthVerified?(isUserVerified: boolean, authenticatorId: string): Promise<void>;
189
+ export interface ExternalDriver<C extends Constraints = Constraints, Ctx = string, CArgs extends StringRecord = StringRecord, Settings extends StringRecord = StringRecord, CreateResult = DefaultCreateSessionResult<C>, DeleteResult = DefaultDeleteSessionResult, SessionData extends StringRecord = StringRecord> extends Driver<C, CArgs, Settings, CreateResult, DeleteResult, SessionData>, IWDClassicCommands, IAppiumCommands, IJSONWPCommands, IMJSONWPCommands<Ctx>, IOtherProtocolCommands {
1237
190
  /**
1238
191
  * Proxy a command to a connected WebDriver server
1239
192
  *