webdriverio
- Version 10.2.0
- Published
- 2.32 MB
- 23 dependencies
- MIT license
Install
npm i webdriverioyarn add webdriveriopnpm add webdriverioOverview
Next-gen browser and mobile automation test framework for Node.js
Index
Variables
Functions
Classes
Interfaces
Enums
Type Aliases
- ActionType
- ActiveAppInfo
- AddCommandFn
- AddCommandFunction
- AndroidDetailedContext
- AppiumDetailedCrossPlatformContexts
- BrowserCommandsType
- Button
- ButtonNames
- ClickOptions
- CustomCommandOptions
- CustomLocatorReturnValue
- CustomStrategyFunction
- CustomStrategyReference
- DeviceName
- DragAndDropCoordinate
- DragAndDropOptions
- ElementArray
- ElementCommandsType
- ElementFunction
- FrameQuery
- GetContextsOptions
- Instances
- IosDetailedContext
- KeyActionType
- LongPressOptions
- Matcher
- MobileScrollIntoViewOptions
- MockFilterOptions
- MoveToOptions
- MultiRemoteBrowserCommandsType
- MultiRemoteElementArray
- MultiRemoteElementCommandsType
- MultiRemoteProtocolCommandsType
- NewWindowOptions
- Origin
- PinchAndZoomOptions
- ReactSelectorOptions
- RestoreMap
- Selector
- SupportedScopes
- SwipeOptions
- SwitchContextOptions
- TapOptions
- ThrottleOptions
- ThrottlePreset
- TransformElement
- TransformReturn
- WaitForOptions
- WaitUntilOptions
- WebdriverIOEventMap
- XY
Variables
variable buttonValue
const buttonValue: readonly [0, 1, 2, 'left', 'middle', 'right'];variable DEFAULT_DURATION_MOVES
const DEFAULT_DURATION_MOVES: WeakSet<object>;Moves whose duration came from the default rather than the caller. Tracked out of band so the Classic wire format stays unchanged.
variable deviceDescriptorsSource
const deviceDescriptorsSource: { 'Blackberry PlayBook': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Blackberry PlayBook landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'BlackBerry Z30': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'BlackBerry Z30 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Galaxy Note 3': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Galaxy Note 3 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Galaxy Note II': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Galaxy Note II landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Galaxy S III': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Galaxy S III landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Galaxy S5': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Galaxy S5 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Galaxy S8': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Galaxy S8 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Galaxy S9 +': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Galaxy S9 + landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Galaxy Tab S4': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Galaxy Tab S4 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPad(gen 5)': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPad(gen 5) landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPad(gen 6)': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPad(gen 6) landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPad(gen 7)': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPad(gen 7) landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPad Mini': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPad Mini landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPad Pro 11': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPad Pro 11 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 6': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 6 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 6 Plus': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 6 Plus landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 7': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 7 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 7 Plus': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 7 Plus landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 8': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 8 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 8 Plus': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 8 Plus landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone SE': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone SE landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone X': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone X landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone XR': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone XR landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 11': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 11 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 11 Pro': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 11 Pro landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 11 Pro Max': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 11 Pro Max landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 12': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 12 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 12 Pro': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 12 Pro landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 12 Pro Max': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 12 Pro Max landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 12 Mini': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 12 Mini landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 13': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 13 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 13 Pro': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 13 Pro landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 13 Pro Max': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 13 Pro Max landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 13 Mini': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 13 Mini landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 14': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 14 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 14 Plus': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 14 Plus landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 14 Pro': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 14 Pro landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 14 Pro Max': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 14 Pro Max landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 15': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 15 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 15 Plus': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 15 Plus landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 15 Pro': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 15 Pro landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 15 Pro Max': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'iPhone 15 Pro Max landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Kindle Fire HDX': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Kindle Fire HDX landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'LG Optimus L70': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'LG Optimus L70 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Microsoft Lumia 550': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Microsoft Lumia 550 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Microsoft Lumia 950': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Microsoft Lumia 950 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Nexus 10': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Nexus 10 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Nexus 4': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Nexus 4 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Nexus 5': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Nexus 5 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Nexus 5X': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Nexus 5X landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Nexus 6': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Nexus 6 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Nexus 6P': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Nexus 6P landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Nexus 7': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Nexus 7 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Nokia Lumia 520': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Nokia Lumia 520 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Nokia N9': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Nokia N9 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Pixel 2': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Pixel 2 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Pixel 2 XL': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Pixel 2 XL landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Pixel 3': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Pixel 3 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Pixel 4': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Pixel 4 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Pixel 4a(5G)': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Pixel 4a(5G) landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Pixel 5': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Pixel 5 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Pixel 7': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Pixel 7 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Moto G4': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Moto G4 landscape': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Desktop Chrome HiDPI': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Desktop Edge HiDPI': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Desktop Firefox HiDPI': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Desktop Safari': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Desktop Chrome': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Desktop Edge': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; }; 'Desktop Firefox': { userAgent: string; viewport: { width: number; height: number }; deviceScaleFactor: number; isMobile: boolean; hasTouch: boolean; };};variable Key
const Key: { readonly Ctrl: 'WDIO_CONTROL'; readonly NULL: ''; readonly Cancel: ''; readonly Help: ''; readonly Backspace: ''; readonly Tab: ''; readonly Clear: ''; readonly Return: ''; readonly Enter: ''; readonly Shift: ''; readonly Control: ''; readonly Alt: ''; readonly Pause: ''; readonly Escape: ''; readonly Space: ''; readonly PageUp: ''; readonly PageDown: ''; readonly End: ''; readonly Home: ''; readonly ArrowLeft: ''; readonly ArrowUp: ''; readonly ArrowRight: ''; readonly ArrowDown: ''; readonly Insert: ''; readonly Delete: ''; readonly Semicolon: ''; readonly Equals: ''; readonly Numpad0: ''; readonly Numpad1: ''; readonly Numpad2: ''; readonly Numpad3: ''; readonly Numpad4: ''; readonly Numpad5: ''; readonly Numpad6: ''; readonly Numpad7: ''; readonly Numpad8: ''; readonly Numpad9: ''; readonly Multiply: ''; readonly Add: ''; readonly Separator: ''; readonly Subtract: ''; readonly Decimal: ''; readonly Divide: ''; readonly F1: ''; readonly F2: ''; readonly F3: ''; readonly F4: ''; readonly F5: ''; readonly F6: ''; readonly F7: ''; readonly F8: ''; readonly F9: ''; readonly F10: ''; readonly F11: ''; readonly F12: ''; readonly Command: ''; readonly ZenkakuHankaku: '';};variable PARALLEL_CONTEXT_STORE_KEY
const PARALLEL_CONTEXT_STORE_KEY: string;Key used to expose the parallel context store on the browser instance.
variable SevereServiceError
const SevereServiceError: typeof SevereServiceErrorImport;Functions
function attach
attach: (attachOptions: AttachOptions) => Promise<WebdriverIO.Browser>;function getContextManager
getContextManager: (browser: WebdriverIO.Browser) => ContextManager;function multiRemote
multiRemote: ( params: Capabilities.RequestedMultiRemoteCapabilities, { automationProtocol }?: { automationProtocol?: string }) => Promise<WebdriverIO.MultiRemoteBrowser>;WebdriverIO allows you to run multiple automated sessions in a single test. This is handy when you're testing features that require multiple users (for example, chat or WebRTC applications).
Instead of creating a couple of remote instances where you need to execute common commands like newSession() or url() on each instance, you can simply create a multi-remote instance and control all browsers at the same time.
NOTE: Multi-remote is not meant to execute all your tests in parallel. It is intended to help coordinate multiple browsers and/or mobile devices for special integration tests (e.g. chat applications).
Parameter params
capabilities to choose desired devices.
Parameter automationProtocol
All remote instances, the first result represents the capability defined first in the capability object, the second result the second capability and so on.
See Also
External document and example usage.
function remote
remote: ( params: Capabilities.WebdriverIOConfig, remoteModifier?: ( client: WebDriverTypes.Client, options: Capabilities.WebdriverIOConfig ) => WebDriverTypes.Client) => Promise<WebdriverIO.Browser>;A method to create a new session with WebdriverIO.
NOTE: If you hit "error TS2694: Namespace 'global.WebdriverIO' has no exported member 'Browser'" when using typescript, add "@wdio/globals/types" into tsconfig.json's "types" array will solve it: { "compilerOptions": { "types": ["@wdio/globals/types"] } }
Parameter params
Options to create the session with
Parameter remoteModifier
Modifier function to change the monad object browser object with sessionId
See Also
Typescript setup
function toBidiActions
toBidiActions: <T extends { actions: object[] }>( sequence: T[]) => remote.InputSourceActions[];Converts classic action sources to BiDi input sources: element origins become
{ type: 'element', sharedId }references.
Classes
class KeyAction
class KeyAction extends BaseAction {}constructor
constructor( instance: WebdriverIO.Browser | WebdriverIO.BrowsingContext, params?: BaseActionParams);method down
down: (value: string) => this;Generates a key down action.
Parameter value
key value
method up
up: (value: string) => this;Generates a key up action.
Parameter value
key value
class PointerAction
class PointerAction extends BaseAction {}constructor
constructor( instance: WebdriverIO.Browser | WebdriverIO.BrowsingContext, params?: BaseActionParams);method cancel
cancel: () => this;An action that cancels this pointer's current input.
method down
down: { (button?: Button): PointerAction; (button?: ButtonNames): PointerAction; (params?: PointerActionParams): PointerAction;};Creates an action to press a single key
Parameter params
PointerActionParams
method move
move: { (params: PointerActionMoveParams): PointerAction; (x: number, y: number): PointerAction;};Creates an action for moving the pointer
xandypixels from the specifiedorigin. Theoriginmay be defined as the pointers current position (e.g. "pointer"), the viewport (e.g. "viewport") or the center of a specific element.Parameter params
PointerActionMoveParams
method up
up: { (button?: Button): PointerAction; (button?: ButtonNames): PointerAction; (params?: PointerActionUpParams): PointerAction;};Creates an action to release a single key.
Parameter params
PointerActionUpParams
class StrictSelectorError
class StrictSelectorError extends Error {}Error thrown when
$is used in strict mode (the default as of v10) and the given selector resolves to more than one element.This lives in its own leaf module (no runtime imports beyond the
Selectortype) so that other leaf utilities - notablyimplicitWait.ts- can checkinstanceof StrictSelectorErrorwithout pulling instrictMode.ts'sfindStrictElement, which imports the wholeutils/index.tsbarrel and, transitively through the command barrels andmiddlewares.ts, closes a circular import back ontorefetchElement.ts/implicitWait.tsthemselves.See Also
https://github.com/webdriverio/webdriverio/issues/15666
constructor
constructor(selector: any, matches: number);property matches
matches: number;amount of elements the selector resolved to
property selector
selector: any;selector that was used to query the elements
class WheelAction
class WheelAction extends BaseAction {}constructor
constructor( instance: WebdriverIO.Browser | WebdriverIO.BrowsingContext, params?: BaseActionParams);method scroll
scroll: (params?: Partial<ScrollParams>) => this;Scrolls a page to given coordinates or origin.
Interfaces
interface Action
interface Action {}property actions
actions: (NoneActionEntity | PointerActionEntity | KeyActionEntity)[];property id
id: string;property parameters
parameters?: { pointerType: 'mouse' | 'pen' | 'touch';};property type
type?: 'pointer' | 'key';interface ActionParameter
interface ActionParameter {}property actions
actions: Action[];interface ActionParameters
interface ActionParameters {}property pointerType
pointerType?: KeyActionType;interface AttachOptions
interface AttachOptions extends Omit<WebDriverAttachOptions, 'capabilities'> {}property capabilities
capabilities?: WebDriverAttachOptions['capabilities'];property options
options?: Options.WebdriverIO;property requestedCapabilities
requestedCapabilities?: WebDriverAttachOptions['capabilities'];interface BaseActionParams
interface BaseActionParams {}property id
id?: string;property parameters
parameters?: ActionParameters;interface Browser
interface Browser extends Omit<BrowserBase, 'on' | 'once'>, BidiEventHandler, BidiHandler, ProtocolCommands, BrowserCommandsType {}interface BrowserBase
interface BrowserBase extends InstanceBase, CustomInstanceCommands<WebdriverIO.Browser> {}a browser base that has everything besides commands which are defined for sync and async separately
property capabilities
capabilities: WebdriverIO.Capabilities;capabilities of the browser instance
property isMultiRemote
isMultiRemote: false;interface ChainablePromiseArray
interface ChainablePromiseArray extends AsyncIterators<WebdriverIO.Element> {}property foundWith
foundWith: string;Command name with which this list was found, e.g.
$$,react$$,custom$$,shadow$$. Available immediately, before the query resolves.
property length
length: Promise<number>;Amount of elements fetched. This is a promise until the query resolves, so compare it only after awaiting the list or the property itself.
property parent
parent: | WebdriverIO.Element | WebdriverIO.Browser | WebdriverIO.MultiRemoteBrowser | WebdriverIO.BrowsingContext;Parent of the list if fetched via
$(parent).$$(child). Available immediately, before the query resolves.
property props
props: any[];Extra arguments of the query that fetched this list. Available immediately.
property selector
selector: Selector | undefined;Selector used to fetch this list. It is available immediately, before the query resolves. It can be - undefined if the list was created via
$$([]), raw element references, or elements that do not share one selector - a string iffindElementswas used and a reference was found - or a function if the elements were found via e.g.$$(() => document.body)
method [Symbol.asyncIterator]
[Symbol.asyncIterator]: () => AsyncIterableIterator<WebdriverIO.Element>;method [Symbol.iterator]
[Symbol.iterator]: () => IterableIterator<WebdriverIO.Element>;method at
at: (index: number) => ChainablePromiseElement;The element at an index, as a chainable element, like
[n]. A negative index counts back from the end of the list. The index is converted as withArray.prototype.at, soat(1.5)is element 1.
method catch
catch: <TResult = never>( onrejected?: (reason: unknown) => TResult | PromiseLike<TResult>) => Promise<WebdriverIO.ElementArray | TResult>;method entries
entries: () => AsyncIterableIterator<[number, WebdriverIO.Element]>;Returns an async iterator of key/value pairs for every index in the array.
method finally
finally: ( onfinally?: (() => void) | undefined | null) => Promise<WebdriverIO.ElementArray>;method getElements
getElements: () => Promise<WebdriverIO.ElementArray>;get the
WebdriverIO.Element[]list
method slice
slice: (start?: number, end?: number) => ChainablePromiseArray;A part of the list, as a list. An index past the end of that part does not run the query again, see
$$.
method then
then: <TResult1 = WebdriverIO.ElementArray, TResult2 = never>( onfulfilled?: ( value: WebdriverIO.ElementArray ) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: unknown) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>;Awaiting the list yields the resolved
ElementArray. Until then,lengthis a promise and each index is a chainable element.
index signature
[n: number]: ChainablePromiseElement;allow to access a specific index of the element set
interface ChainablePromiseElement
interface ChainablePromiseElement extends ChainablePromiseBaseElement, AsyncElementProto, Omit< WebdriverIO.Element, keyof ChainablePromiseBaseElement | keyof AsyncElementProto > {}interface CustomInstanceCommands
interface CustomInstanceCommands<T> {}method addCommand
addCommand: { ( name: string, func: (this: WebdriverIO.BrowsingContext, ...args: any[]) => any, options: BrowsingContextCommandOptions ): void; < IsElement extends boolean = false, Instance extends CustomCommands.Instances = WebdriverIO.Browser >( name: string, func: IsElement extends true ? AddCommandFnScoped<Instance | T, IsElement> : AddCommandFn, options?: CustomCommands.CustomCommandOptions<IsElement> ): void;};add command to every browsing context (tab, window, frame)
add command to
browser, or to an element whenoptions.attachToElementis true
method addLocatorStrategy
addLocatorStrategy: ( name: string, func: | ((selector: string, root: HTMLElement) => CustomLocatorReturnValue) | ((selector: string) => CustomLocatorReturnValue)) => void;create custom selector
method overwriteCommand
overwriteCommand: { <Key extends keyof WebdriverIO.BrowsingContext>( name: Key, func: ( this: WebdriverIO.BrowsingContext, originalCommand: BrowsingContextCommand<Key>, ...args: any[] ) => Promise<any>, options: BrowsingContextCommandOptions ): void; < ElementKey extends | '$' | '$$' | 'custom$' | 'custom$$' | 'react$' | 'react$$' | 'execute' | 'saveScreenshot' | 'waitUntil' | 'getHTML' | 'addValue' | 'clearValue' | 'click' | 'doubleClick' | 'dragAndDrop' | 'getAttribute' | 'getCSSProperty' | 'getComputedRole' | 'getComputedLabel' | 'getElement' | 'getLocation' | 'getProperty' | 'getSize' | 'getTagName' | 'getText' | 'getValue' | 'isClickable' | 'isDisplayed' | 'isEnabled' | 'isEqual' | 'isExisting' | 'isFocused' | 'isSelected' | 'isStable' | 'moveTo' | 'nextElement' | 'parentElement' | 'previousElement' | 'scrollIntoView' | 'selectByAttribute' | 'selectByIndex' | 'selectByVisibleText' | 'setFiles' | 'setValue' | 'shadow$$' | 'shadow$' | 'waitForClickable' | 'waitForDisplayed' | 'waitForEnabled' | 'waitForExist' | 'waitForStable' | 'longPress' | 'pinch' | 'tap' | 'zoom', BrowserKey extends | '$' | '$$' | 'custom$' | 'custom$$' | 'react$' | 'react$$' | 'execute' | 'action' | 'actions' | 'keys' | 'scroll' | 'saveScreenshot' | 'savePDF' | 'getCookies' | 'setCookies' | 'deleteCookies' | 'setViewport' | 'addInitScript' | 'mock' | 'mockClearAll' | 'mockRestoreAll' | 'emulate' | 'restore' | 'waitUntil' | 'pause' | 'back' | 'forward' | 'tap' | 'call' | 'debug' | 'downloadFile' | 'getPuppeteer' | 'getWindowSize' | 'installExtension' | 'SESSION_MOCKS' | 'newWindow' | 'browsingContexts' | 'reloadSession' | 'saveRecordingScreen' | 'setTimeout' | 'setWindowSize' | 'switchWindow' | 'switchFrame' | 'throttleCPU' | 'throttleNetwork' | 'uninstallExtension' | 'url' | 'swipe' | 'getContext' | 'getContexts' | 'switchContext' | 'relaunchActiveApp' | 'deepLink' | 'lock' | 'touchId' | 'toggleEnrollTouchId' | 'launchApp' | 'background' | 'getStrings' | 'setClipboard' | 'getClipboard' | 'toggleAirplaneMode' | 'toggleData' | 'toggleWiFi' | 'unlock' | 'isLocked' | 'shake' | 'closeApp' | 'getCurrentActivity' | 'getCurrentPackage' | 'getPerformanceData' | 'getPerformanceDataTypes' | 'getSystemBars' | 'getDisplayDensity' | 'pressKeyCode' | 'longPressKeyCode' | 'sendKeyEvent' | 'startActivity' | 'openNotifications' | 'toggleLocationServices' | 'toggleNetworkSpeed' | 'gsmCall' | 'gsmSignal' | 'gsmVoice' | 'sendSms' | 'fingerPrint' | 'powerCapacity' | 'powerAC' | 'acceptDialog' | 'dismissDialog', IsElement extends boolean = false >( name: IsElement extends true ? ElementKey : BrowserKey, func: IsElement extends true ? OverwriteCommandFnScoped<ElementKey, BrowserKey, IsElement> : OverwriteCommandFn<ElementKey, BrowserKey, IsElement>, options?: CustomCommands.CustomCommandOptions<IsElement> ): void;};overwrite a command of every browsing context (tab, window, frame)
overwrite a
browsercommand, or an element command whenoptions.attachToElementis true
interface CustomScrollIntoViewOptions
interface CustomScrollIntoViewOptions extends ScrollIntoViewOptions, MobileScrollIntoViewOptions {}interface CustomThrottle
interface CustomThrottle {}property downloadThroughput
downloadThroughput: number;property latency
latency: number;property offline
offline: boolean;property uploadThroughput
uploadThroughput: number;interface ElementBase
interface ElementBase extends InstanceBase, ElementReference, CustomInstanceCommands<WebdriverIO.Element> {}export a browser interface that can be used for typing plugins
property capabilities
capabilities: WebdriverIO.Capabilities;capabilities of the browser instance
property elementId
elementId: string;WebDriver element reference
property error
error?: Error;error response if element was not found
property index
index?: number;index of the element if fetched with
$$
property isReactElement
isReactElement?: boolean;true if element is a React component
property isShadowElement
isShadowElement?: boolean;true if element was queried from a shadow root
property locator
locator?: remote.BrowsingContextLocator;locator of the element WebDriver Bidi
property parent
parent: WebdriverIO.Element | WebdriverIO.Browser | WebdriverIO.BrowsingContext;parent of the element if fetched via
$(parent).$(child)
property selector
selector: Selector;selector used to fetch this element, can be - undefined if element was created via
$({ 'element-6066-11e4-a52e-4f735466cecf': 'ELEMENT-1' })- a string iffindElementwas used and a reference was found - or a functin if element was found via e.g.$(() => document.body)
property strict
strict?: boolean;whether the element was queried with strict selector semantics, used to keep the same behavior when the element is re-fetched
interface ElementQueryOptions
interface ElementQueryOptions {}options to modify how a single element is queried via
$
property strict
strict?: boolean;If
truethe query throws aStrictSelectorErrorwhen the selector resolves to more than one element. Defaults to thestrictSelectorsconfig option which itself defaults totrue.
interface ExtendedElementReference
interface ExtendedElementReference {}property 'element-6066-11e4-a52e-4f735466cecf'
'element-6066-11e4-a52e-4f735466cecf': string;property locator
locator: remote.BrowsingContextLocator;interface InitScript
interface InitScript<Payload = undefined> {}interface InputOptions
interface InputOptions {}Additional options outside of the WebDriver spec, exclusively for WebdriverIO, only for runtime, and not sent to Appium
property mask
mask?: boolean;interface MockRequestOptions
interface MockRequestOptions {}property requestWith
requestWith?: RequestWithOptions;interface ParsedCSSValue
interface ParsedCSSValue {}interface PDFPrintOptions
interface PDFPrintOptions {}Options for
browser.savePDF. Lengths are centimeters.Defaults match WebDriver Classic
printPageand WebDriver BiDibrowsingContext.print: portrait, scale1, backgroundfalse, shrink-to-fittrue, page21.59×27.94cm, margins1cm. Omitted fields are left to the browser.
property background
background?: boolean;Print the page background. false
property bottom
bottom?: number;Bottom margin in centimeters. 1
property height
height?: number;Page height in centimeters. 27.94
property left
left?: number;Left margin in centimeters. 1
property orientation
orientation?: string;Page orientation. Accepted values are
portraitandlandscape. The property stays astringso an existing variable of that type can still be passed. Any other value is rejected whensavePDFruns. 'portrait'
property pageRanges
pageRanges?: Array<string | number>;Pages to include. Each entry is a page number or a range such as
'1-3'. []
property right
right?: number;Right margin in centimeters. 1
property scale
scale?: number;Page scale. The print protocols accept
0.1–2. 1
property shrinkToFit
shrinkToFit?: boolean;Shrink the content to fit the page. true
property top
top?: number;Top margin in centimeters. 1
property width
width?: number;Page width in centimeters. 21.59
interface RequestWithOptions
interface RequestWithOptions extends BaseOverwriteOptions<local.NetworkBeforeRequestSentParameters> {}interface RespondWithOptions
interface RespondWithOptions extends BaseOverwriteOptions<local.NetworkResponseCompletedParameters> {}property fetchResponse
fetchResponse?: boolean;property statusCode
statusCode?: Overwrite<number, local.NetworkResponseCompletedParameters>;interface Response
interface Response extends local.NetworkResponseCompletedParameters {}interface SaveScreenshotOptions
interface SaveScreenshotOptions {}property clip
clip?: { x: number; y: number; width: number; height: number;};Clipping a rectangle of the screenshot.
property format
format?: 'png' | 'jpeg' | 'jpg';The format of the screenshot. 'png'
property fullPage
fullPage?: boolean;Whether to take a screenshot of the full page or just the current viewport. false
property quality
quality?: number;The quality of the screenshot in case of JPEG format in range 0-100 percent. 100
Enums
enum MobileScrollDirection
enum MobileScrollDirection { Down = 'down', Up = 'up', Left = 'left', Right = 'right',}Type Aliases
type ActionType
type ActionType = 'key' | 'pointer' | 'wheel';type ActiveAppInfo
type ActiveAppInfo = { pid: number; bundleId: string; name: string; processArguments: { args: string[]; env: Record<string, string>; };};type AddCommandFn
type AddCommandFn = (...args: any[]) => any;type AddCommandFunction
type AddCommandFunction< IsElement extends boolean, T = any, Instance = WebdriverIO.Browser> = IsElement extends true ? AddCommandFnScoped<T | Instance, IsElement> : AddCommandFn;type AndroidDetailedContext
type AndroidDetailedContext = AppiumDetailedContextInterface & { androidWebviewData?: { attached: boolean; empty: boolean; height: number; neverAttached: boolean; screenX: number; screenY: number; visible: boolean; width: number; }; packageName?: string; webviewPageId?: string;};type AppiumDetailedCrossPlatformContexts
type AppiumDetailedCrossPlatformContexts = ( | IosDetailedContext | AndroidDetailedContext)[];type BrowserCommandsType
type BrowserCommandsType = Omit<$BrowserCommands, keyof ChainablePrototype> & ChainablePrototype;type Button
type Button = 0 | 1 | 2;type ButtonNames
type ButtonNames = 'left' | 'middle' | 'right';type ClickOptions
type ClickOptions = LongPressOptions & { button: Button | ButtonNames; skipRelease: boolean;};type CustomCommandOptions
type CustomCommandOptions<IsElement extends boolean> = CustomCommands.CustomCommandOptions<IsElement>;type CustomLocatorReturnValue
type CustomLocatorReturnValue = | HTMLElement | HTMLElement[] | NodeListOf<HTMLElement>;type CustomStrategyFunction
type CustomStrategyFunction = ( ...args: any) => ElementReference | ElementReference[];type CustomStrategyReference
type CustomStrategyReference = { strategy: CustomStrategyFunction; strategyName: string; strategyArguments: any[];};type DeviceName
type DeviceName = keyof typeof deviceDescriptorsSource;type DragAndDropCoordinate
type DragAndDropCoordinate = { x: number; y: number;};type DragAndDropOptions
type DragAndDropOptions = { duration?: number;};type ElementArray
type ElementArray = ElementArrayExport;type ElementCommandsType
type ElementCommandsType = Omit<$ElementCommands, keyof ChainablePrototype> & ChainablePrototype;type ElementFunction
type ElementFunction = | ((elem: HTMLElement) => HTMLElement | undefined) | ((elem: HTMLElement) => (HTMLElement | undefined)[]);type FrameQuery
type FrameQuery = | { selector: string; url?: never; id?: never; } | { url: string | RegExp; selector?: never; id?: never; } | { id: string; selector?: never; url?: never; };How
context.frame()finds a frame: by the selector of its frame element on the page, by its url (exact string or RegExp), or by its browsing context id.
type GetContextsOptions
type GetContextsOptions = { androidWebviewConnectionRetryTime?: number; androidWebviewConnectTimeout?: number; filterByCurrentAndroidApp?: boolean; isAndroidWebviewVisible?: boolean; returnAndroidDescriptionData?: boolean; returnDetailedContexts?: boolean; waitForWebviewMs?: number;};type Instances
type Instances = CustomCommands.Instances;type IosDetailedContext
type IosDetailedContext = AppiumDetailedContextInterface & IosContextBundleId;type KeyActionType
type KeyActionType = 'mouse' | 'pen' | 'touch';type LongPressOptions
type LongPressOptions = { x: number; y: number; duration: number;};type Matcher
type Matcher = { name: string; args: Array<string | object>; class?: string;};type MobileScrollIntoViewOptions
type MobileScrollIntoViewOptions = SwipeOptions & { maxScrolls?: number;};type MockFilterOptions
type MockFilterOptions = { method?: string | ((method: string) => boolean); requestHeaders?: | Record<string, string> | ((headers: Record<string, string>) => boolean); responseHeaders?: | Record<string, string> | ((headers: Record<string, string>) => boolean); postData?: string | ((postData?: string) => boolean); statusCode?: number | ((statusCode: number) => boolean);};type MoveToOptions
type MoveToOptions = { xOffset?: number; yOffset?: number;};type MultiRemoteBrowserCommandsType
type MultiRemoteBrowserCommandsType = { [K in keyof Omit<BrowserCommandsType, MultiRemoteArrayCommandNames>]: ( ...args: Parameters<BrowserCommandsType[K]> ) => Promise<ThenArg<ReturnType<BrowserCommandsType[K]>>[]>;} & MultiRemoteBrowserQueries & { mock( ...args: Parameters<BrowserCommandsType['mock']> ): Promise<WebdriverIO.MultiRemoteMock>; };type MultiRemoteElementArray
type MultiRemoteElementArray = MultiRemoteElementArrayExport;type MultiRemoteElementCommandsType
type MultiRemoteElementCommandsType = { [K in keyof Omit< ElementCommandsType, ElementScopeSingleElementCommandNames | ElementScopeMultiElementCommandNames >]: ( ...args: Parameters<ElementCommandsType[K]> ) => Promise<ThenArg<ReturnType<ElementCommandsType[K]>>[]>;} & MultiRemoteElementQueries;type MultiRemoteProtocolCommandsType
type MultiRemoteProtocolCommandsType = { [K in keyof ProtocolCommands]: ( ...args: Parameters<ProtocolCommands[K]> ) => Promise<ThenArg<ReturnType<ProtocolCommands[K]>>[]>;};type NewWindowOptions
type NewWindowOptions = { type?: 'tab' | 'window'; /** * Top-level browsing context the new tab or window is opened from. * A frame is rejected. BiDi only. In parallel mode, a tab or window is * opened from the window of its test when this is not set. */ referenceContext?: string | WebdriverIO.BrowsingContext;};type Origin
type Origin = 'pointer' | 'viewport';type PinchAndZoomOptions
type PinchAndZoomOptions = { duration: number; scale: number;};type ReactSelectorOptions
type ReactSelectorOptions = { props?: Record<string, unknown>; state?: Record<string, unknown>;};type RestoreMap
type RestoreMap = Map<SupportedScopes, (() => Promise<any>)[]>;type Selector
type Selector = | string | ElementReference | ElementFunction | CustomStrategyReference | HTMLElement;type SupportedScopes
type SupportedScopes = | 'geolocation' | 'userAgent' | 'colorScheme' | 'media' | 'onLine' | 'locale' | 'timezone' | 'touch' | 'orientation' | 'screen' | 'viewportMeta' | 'textLayout' | 'scripting' | 'scrollbar' | 'forcedColors' | 'clock' | 'device';type SwipeOptions
type SwipeOptions = { direction?: `${MobileScrollDirection}`; duration?: number; from?: XY; percent?: number; scrollableElement?: WebdriverIO.Element | ChainablePromiseElement; to?: XY;};type SwitchContextOptions
type SwitchContextOptions = { appIdentifier?: string; title?: string | RegExp; url?: string | RegExp; androidWebviewConnectionRetryTime?: number; androidWebviewConnectTimeout?: number;};type TapOptions
type TapOptions = MobileScrollIntoViewOptions & { x?: number; y?: number;};type ThrottleOptions
type ThrottleOptions = ThrottlePreset | CustomThrottle;type ThrottlePreset
type ThrottlePreset = | 'offline' | 'GPRS' | 'Regular2G' | 'Good2G' | 'Regular3G' | 'Good3G' | 'Regular4G' | 'DSL' | 'WiFi' | 'online';type TransformElement
type TransformElement<T> = T extends WebdriverIO.Element ? HTMLElement : T extends ChainablePromiseElement ? HTMLElement : T extends WebdriverIO.Element[] ? HTMLElement[] : T extends ChainablePromiseArray ? HTMLElement[] : T extends [infer First, ...infer Rest] ? [TransformElement<First>, ...TransformElement<Rest>] : T extends Array<infer U> ? Array<TransformElement<U>> : T;type TransformReturn
type TransformReturn<T> = T extends HTMLElement ? WebdriverIO.Element : T extends HTMLElement[] ? WebdriverIO.Element[] : T extends [infer First, ...infer Rest] ? [TransformReturn<First>, ...TransformReturn<Rest>] : T extends Array<infer U> ? Array<TransformReturn<U>> : T;type WaitForOptions
type WaitForOptions = { timeout?: number; interval?: number; timeoutMsg?: string; reverse?: boolean; withinViewport?: boolean;};type WaitUntilOptions
type WaitUntilOptions = { timeout?: number; timeoutMsg?: string | (() => string); interval?: number;};type WebdriverIOEventMap
type WebdriverIOEventMap = EventMap & { dialog: WebdriverIO.Dialog;};type XY
type XY = { x: number; y: number;};Package Files (11)
- build/commands/browser/addInitScript.d.ts
- build/deviceDescriptorsSource.d.ts
- build/index.d.ts
- build/session/context.d.ts
- build/types.d.ts
- build/utils/actions/base.d.ts
- build/utils/actions/key.d.ts
- build/utils/actions/pointer.d.ts
- build/utils/actions/wheel.d.ts
- build/utils/interception/types.d.ts
- build/utils/strictSelectorError.d.ts
Dependencies (23)
Dev Dependencies (15)
Peer Dependencies (1)
Badge
To add a badge like this oneto your package's README, use the codes available below.
You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/webdriverio.
- Markdown[](https://www.jsdocs.io/package/webdriverio)
- HTML<a href="https://www.jsdocs.io/package/webdriverio"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>
- Updated .
Package analyzed in 5372 ms. - Missing or incorrect documentation? Open an issue for this package.
