Skip to content

Class: XCUITestDriver

appium-xcuitest-driver.XCUITestDriver

Implements

Hierarchy

XCUITestDriver

Table of contents

Constructors

Properties

Mobile Web Only

Simulator Only

Simulatory Only

Real Device Only

Simulator Only

*

Native Only

Accessors

Methods

Constructors

constructor

new XCUITestDriver(opts?, shouldValidateCaps?)

Parameters

Name Type Default value
opts XCUITestDriverOpts undefined
shouldValidateCaps boolean true

Overrides

BaseDriver.constructor

Defined in

lib/driver.js:264

Properties

COMMAND_MAP

COMMAND_MAP: any = commands.executeExtensions.COMMAND_MAP

Defined in

lib/driver.js:1901


_audioRecorder

_audioRecorder: null | AudioRecorder

Defined in

lib/driver.js:254


_conditionInducerService

_conditionInducerService: any

Defined in

lib/driver.js:236


_currentUrl

_currentUrl: any

Defined in

lib/driver.js:327

lib/driver.js:536


_deleteCookie

_deleteCookie: (cookie: any) => Promise<any> = commands.webExtensions._deleteCookie

Type declaration

▸ (cookie): Promise<any>

Parameters
Name Type
cookie any
Returns

Promise<any>

Defined in

lib/driver.js:2146


_eventHistory

_eventHistory: EventHistory

Inherited from

BaseDriver._eventHistory

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:69


_isSafariIphone

_isSafariIphone: undefined | boolean

Defined in

lib/driver.js:239


_isSafariNotched

_isSafariNotched: undefined | boolean

Defined in

lib/driver.js:242


_log

_log: AppiumLogger

Inherited from

BaseDriver._log

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:75


_perfRecorders

_perfRecorders: PerfRecorder[]

Defined in

lib/driver.js:227


_recentScreenRecorder

_recentScreenRecorder: null | ScreenRecorder = commands.recordScreenExtensions._recentScreenRecorder

Defined in

lib/driver.js:2103


_syslogWebsocketListener

_syslogWebsocketListener: null | (logRecord: { message: string }) => void

Defined in

lib/driver.js:224


_trafficCapture

_trafficCapture: null | TrafficCapture

Defined in

lib/driver.js:257


_waitingAtoms

_waitingAtoms: WaitingAtoms

Defined in

lib/driver.js:245


activateApp

activateApp: (bundleId: string, opts: any, ...args: any[]) => Promise<any> = commands.appManagementExtensions.activateApp

Type declaration

▸ (bundleId, opts?, ...args): Promise<any>

Parameters
Name Type
bundleId string
opts any
...args any[]
Returns

Promise<any>

Defined in

lib/driver.js:1794


activateRecentWebview

activateRecentWebview: () => Promise<void> = commands.contextExtensions.activateRecentWebview

Type declaration

▸ (): Promise<void>

Returns

Promise<void>

Defined in

lib/driver.js:1852


active

active: () => Promise<any> = commands.generalExtensions.active

Type declaration

▸ (): Promise<any>

Returns

Promise<any>

Defined in

lib/driver.js:1933


allowInsecure

allowInsecure: string[]

Inherited from

BaseDriver.allowInsecure

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:53


applyMoveToOffset

applyMoveToOffset: (firstCoordinates: any, secondCoordinates: any) => any = commands.gestureExtensions.applyMoveToOffset

Type declaration

▸ (firstCoordinates, secondCoordinates): any

Parameters
Name Type
firstCoordinates any
secondCoordinates any
Returns

any

Defined in

lib/driver.js:1989


asyncPromise

asyncPromise: undefined | AsyncPromise

Defined in

lib/driver.js:218


asyncScriptTimeout

asyncScriptTimeout: (ms: number) => Promise<void> = commands.timeoutExtensions.asyncScriptTimeout

Type declaration

▸ (ms): Promise<void>

Alias for scriptTimeoutW3C.

Deprecated

Use scriptTimeoutW3C instead

Parameters
Name Type Description
ms number the timeout
Returns

Promise<void>

Defined in

lib/driver.js:2129


asyncWaitMs

asyncWaitMs: undefined | number

Defined in

lib/driver.js:221


asynclibWaitMs

asynclibWaitMs: undefined | number

Defined in

lib/driver.js:332


back

back: () => Promise<void> = commands.navigationExtensions.back

Type declaration

▸ (): Promise<void>

Returns

Promise<void>

Defined in

lib/driver.js:2045


background

background: (seconds?: number | { timeout: null | number }) => Promise<any> = commands.generalExtensions.background

Type declaration

▸ (seconds?): Promise<any>

Close app (simulate device home button). It is possible to restore the app after the timeout or keep it minimized based on the parameter value.

Parameters
Name Type Description
seconds? number | { timeout: null | number } any positive number of seconds: come back after X seconds - any negative number of seconds or zero: never come back - undefined/null: never come back - {timeout: 5000}: come back after 5 seconds - {timeout: null}, {timeout: -2}: never come back
Returns

Promise<any>

Defined in

lib/driver.js:1934


basePath

basePath: string

basePath is used for several purposes, for example in setting up proxying to other drivers, since we need to know what the base path of any incoming request might look like. We set it to the default initially but it is automatically updated during any actual program execution by the routeConfiguringFunction, which is necessarily run as the entrypoint for any Appium server

Inherited from

BaseDriver.basePath

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:49


cacheWebElement

cacheWebElement: (el: any) => any = commands.webExtensions.cacheWebElement

Type declaration

▸ (el): any

Parameters
Name Type
el any
Returns

any

Defined in

lib/driver.js:2147


cacheWebElements

cacheWebElements: (response: any) => any = commands.webExtensions.cacheWebElements

Type declaration

▸ (response): any

Parameters
Name Type
response any
Returns

any

Defined in

lib/driver.js:2148


cachedWdaStatus

cachedWdaStatus: any

Defined in

lib/driver.js:324

lib/driver.js:805

lib/driver.js:833


caps

caps: DriverCaps<{ absoluteWebLocations: { isBoolean: true = true } ; additionalWebviewBundleIds: {} = {}; agentPath: { isString: true = true } ; allowProvisioningDeviceRegistration: { isBoolean: true = true } ; app: { isString: true = true } ; appInstallStrategy: { inclusionCaseInsensitive: readonly ["serial", "parallel", "ios-deploy"] ; isString: true = true } ; appPushTimeout: { isNumber: true = true } ; autoAcceptAlerts: { isBoolean: true = true } ; autoDismissAlerts: { isBoolean: true = true } ; bootstrapPath: { isString: true = true } ; browserName: { isString: true = true } ; bundleId: { isString: true = true } ; calendarAccessAuthorized: { isBoolean: true = true } ; calendarFormat: { isString: true = true } ; clearSystemFiles: { isBoolean: true = true } ; commandTimeouts: {} = {}; connectHardwareKeyboard: { isBoolean: true = true } ; customSSLCert: { isString: true = true } ; derivedDataPath: { isString: true = true } ; deviceName: { isString: true = true } ; disableAutomaticScreenshots: { isBoolean: true = true } ; enableAsyncExecuteFromHttps: { isBoolean: true = true } ; enablePerformanceLogging: { isBoolean: true = true } ; enforceAppInstall: { isBoolean: true = true } ; enforceFreshSimulatorCreation: { isBoolean: true = true } ; forceAppLaunch: { isBoolean: true = true } ; forceTurnOnSoftwareKeyboardSimulator: { isBoolean: true = true } ; fullContextList: { isBoolean: true = true } ; ignoreAboutBlankUrl: { isBoolean: true = true } ; includeDeviceCapsToSessionInfo: { isBoolean: true = true } ; includeSafariInWebviews: { isBoolean: true = true } ; iosInstallPause: { isNumber: true = true } ; iosSimulatorLogsPredicate: { isString: true = true } ; isHeadless: { isBoolean: true = true } ; keepKeyChains: { isBoolean: true = true } ; keychainPassword: { isString: true = true } ; keychainPath: { isString: true = true } ; keychainsExcludePatterns: { isString: true = true } ; launchWithIDB: { isBoolean: true = true } ; localizableStringsDir: { isString: true = true } ; maxTypingFrequency: { isNumber: true = true } ; mjpegScreenshotUrl: { isString: true = true } ; mjpegServerPort: { isNumber: true = true } ; nativeTyping: { isBoolean: true = true } ; nativeWebTap: { isBoolean: true = true } ; nativeWebTapStrict: { isBoolean: true = true } ; otherApps: { isString: true = true } ; permissions: { isString: true = true } ; platformName: { inclusionCaseInsensitive: readonly ["iOS", "tvOS"] ; isString: true = true; presence: true = true } ; prebuildWDA: { isBoolean: true = true } ; processArguments: {} = {}; reduceMotion: { isBoolean: true = true } ; reduceTransparency: { isBoolean: true = true } ; remoteDebugProxy: { isString: true = true } ; resetLocationService: { isBoolean: true = true } ; resetOnSessionStartOnly: { isBoolean: true = true } ; resultBundlePath: { isString: true = true } ; resultBundleVersion: { isNumber: true = true } ; safariAllowPopups: { isBoolean: true = true } ; safariGarbageCollect: { isBoolean: true = true } ; safariGlobalPreferences: { isObject: true = true } ; safariIgnoreFraudWarning: { isBoolean: true = true } ; safariIgnoreWebHostnames: { isString: true = true } ; safariInitialUrl: { isString: true = true } ; safariLogAllCommunication: { isBoolean: true = true } ; safariLogAllCommunicationHexDump: { isBoolean: true = true } ; safariOpenLinksInBackground: { isBoolean: true = true } ; safariShowFullResponse: { isBoolean: true = true } ; safariSocketChunkSize: { isNumber: true = true } ; safariWebInspectorMaxFrameLength: { isNumber: true = true } ; scaleFactor: { isString: true = true } ; screenshotQuality: { isNumber: true = true } ; shouldTerminateApp: { isBoolean: true = true } ; shouldUseSingletonTestManager: { isBoolean: true = true } ; showIOSLog: { isBoolean: true = true } ; showSafariConsoleLog: { isBoolean: true = true } ; showSafariNetworkLog: { isBoolean: true = true } ; showXcodeLog: { isBoolean: true = true } ; shutdownOtherSimulators: { isBoolean: true = true } ; simpleIsVisibleCheck: { isBoolean: true = true } ; simulatorDevicesSetPath: { isString: true = true } ; simulatorPasteboardAutomaticSync: { isString: true = true } ; simulatorStartupTimeout: { isNumber: true = true } ; simulatorTracePointer: { isBoolean: true = true } ; simulatorWindowCenter: { isString: true = true } ; skipLogCapture: { isBoolean: true = true } ; udid: { isString: true = true } ; updatedWDABundleId: { isString: true = true } ; useJSONSource: { isBoolean: true = true } ; useNativeCachingStrategy: { isBoolean: true = true } ; useNewWDA: { isBoolean: true = true } ; usePrebuiltWDA: { isBoolean: true = true } ; useSimpleBuildTest: { isBoolean: true = true } ; useXctestrunFile: { isBoolean: true = true } ; waitForIdleTimeout: { isNumber: true = true } ; waitForQuiescence: { isBoolean: true = true } ; wdaBaseUrl: { isString: true = true } ; wdaConnectionTimeout: { isNumber: true = true } ; wdaEventloopIdleDelay: { isNumber: true = true } ; wdaLaunchTimeout: { isNumber: true = true } ; wdaLocalPort: { isNumber: true = true } ; wdaStartupRetries: { isNumber: true = true } ; wdaStartupRetryInterval: { isNumber: true = true } ; webDriverAgentUrl: { isString: true = true } ; webkitResponseTimeout: { isNumber: true = true } ; webviewConnectRetries: { isNumber: true = true } ; webviewConnectTimeout: { isNumber: true = true } ; xcodeConfigFile: { isString: true = true } ; xcodeOrgId: { isString: true = true } ; xcodeSigningId: { isString: true = true } }>

The processed capabilities used to start the session represented by the current driver instance

Inherited from

BaseDriver.caps

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/driver.d.ts:5


checkForAlert

checkForAlert: () => Promise<boolean> = commands.webExtensions.checkForAlert

Type declaration

▸ (): Promise<boolean>

Returns

Promise<boolean>

Defined in

lib/driver.js:2164


clear

clear: (el: any) => Promise<void> = commands.elementExtensions.clear

Type declaration

▸ (el): Promise<void>

Parameters
Name Type
el any
Returns

Promise<void>

Defined in

lib/driver.js:1893


cliArgs

cliArgs: StringRecord<any> & ServerArgs

The set of command line arguments set for this driver

Inherited from

BaseDriver.cliArgs

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/driver.d.ts:4


click

click: (el: any) => Promise<any> = commands.gestureExtensions.click

Type declaration

▸ (el): Promise<any>

Parameters
Name Type
el any
Returns

Promise<any>

Defined in

lib/driver.js:1968


clickCoords

clickCoords: (coords: any) => Promise<void> = commands.webExtensions.clickCoords

Type declaration

▸ (coords): Promise<void>

Parameters
Name Type
coords any
Returns

Promise<void>

Defined in

lib/driver.js:2168


clickWebCoords

clickWebCoords: () => Promise<void> = commands.webExtensions.clickWebCoords

Type declaration

▸ (): Promise<void>

Returns

Promise<void>

Defined in

lib/driver.js:2156


closeApp

closeApp: () => Promise<void> = commands.generalExtensions.closeApp

Type declaration

▸ (): Promise<void>

Stop the session without stopping the session

Returns

Promise<void>

Defined in

lib/driver.js:1945


closeWindow

closeWindow: () => Promise<any> = commands.navigationExtensions.closeWindow

Type declaration

▸ (): Promise<any>

Returns

Promise<any>

Defined in

lib/driver.js:2047


commandsQueueGuard

Protected commandsQueueGuard: AsyncLock

Inherited from

BaseDriver.commandsQueueGuard

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:88


connectToRemoteDebugger

connectToRemoteDebugger: () => Promise<void> = commands.contextExtensions.connectToRemoteDebugger

Type declaration

▸ (): Promise<void>

Returns

Promise<void>

Defined in

lib/driver.js:1853


contexts

contexts: string[]

Defined in

lib/driver.js:194


convertElementsForAtoms

convertElementsForAtoms: (args?: readonly any[]) => any = commands.webExtensions.convertElementsForAtoms

Type declaration

▸ (args?): any

Parameters
Name Type Default value
args? readonly any[] []
Returns

any

Defined in

lib/driver.js:2152


curContext

curContext: null | string

Defined in

lib/driver.js:197


curCoords

curCoords: null | Position

Defined in

lib/driver.js:207


curWebCoords

curWebCoords: null | Position

Defined in

lib/driver.js:202


curWebFrames

curWebFrames: string[]

Defined in

lib/driver.js:210


curWindowHandle

curWindowHandle: undefined | null | string

Defined in

lib/driver.js:186


denyInsecure

denyInsecure: string[]

Inherited from

BaseDriver.denyInsecure

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:55


desiredCapConstraints

desiredCapConstraints: Object

The constraints object used to validate capabilities

Type declaration

Name Type
absoluteWebLocations { isBoolean: true = true }
absoluteWebLocations.isBoolean true
additionalWebviewBundleIds {}
agentPath { isString: true = true }
agentPath.isString true
allowProvisioningDeviceRegistration { isBoolean: true = true }
allowProvisioningDeviceRegistration.isBoolean true
app { isString: true = true }
app.isString true
appInstallStrategy { inclusionCaseInsensitive: readonly ["serial", "parallel", "ios-deploy"] ; isString: true = true }
appInstallStrategy.inclusionCaseInsensitive readonly ["serial", "parallel", "ios-deploy"]
appInstallStrategy.isString true
appPushTimeout { isNumber: true = true }
appPushTimeout.isNumber true
autoAcceptAlerts { isBoolean: true = true }
autoAcceptAlerts.isBoolean true
autoDismissAlerts { isBoolean: true = true }
autoDismissAlerts.isBoolean true
bootstrapPath { isString: true = true }
bootstrapPath.isString true
browserName { isString: true = true }
browserName.isString true
bundleId { isString: true = true }
bundleId.isString true
calendarAccessAuthorized { isBoolean: true = true }
calendarAccessAuthorized.isBoolean true
calendarFormat { isString: true = true }
calendarFormat.isString true
clearSystemFiles { isBoolean: true = true }
clearSystemFiles.isBoolean true
commandTimeouts {}
connectHardwareKeyboard { isBoolean: true = true }
connectHardwareKeyboard.isBoolean true
customSSLCert { isString: true = true }
customSSLCert.isString true
derivedDataPath { isString: true = true }
derivedDataPath.isString true
deviceName { isString: true = true }
deviceName.isString true
disableAutomaticScreenshots { isBoolean: true = true }
disableAutomaticScreenshots.isBoolean true
enableAsyncExecuteFromHttps { isBoolean: true = true }
enableAsyncExecuteFromHttps.isBoolean true
enablePerformanceLogging { isBoolean: true = true }
enablePerformanceLogging.isBoolean true
enforceAppInstall { isBoolean: true = true }
enforceAppInstall.isBoolean true
enforceFreshSimulatorCreation { isBoolean: true = true }
enforceFreshSimulatorCreation.isBoolean true
forceAppLaunch { isBoolean: true = true }
forceAppLaunch.isBoolean true
forceTurnOnSoftwareKeyboardSimulator { isBoolean: true = true }
forceTurnOnSoftwareKeyboardSimulator.isBoolean true
fullContextList { isBoolean: true = true }
fullContextList.isBoolean true
ignoreAboutBlankUrl { isBoolean: true = true }
ignoreAboutBlankUrl.isBoolean true
includeDeviceCapsToSessionInfo { isBoolean: true = true }
includeDeviceCapsToSessionInfo.isBoolean true
includeSafariInWebviews { isBoolean: true = true }
includeSafariInWebviews.isBoolean true
iosInstallPause { isNumber: true = true }
iosInstallPause.isNumber true
iosSimulatorLogsPredicate { isString: true = true }
iosSimulatorLogsPredicate.isString true
isHeadless { isBoolean: true = true }
isHeadless.isBoolean true
keepKeyChains { isBoolean: true = true }
keepKeyChains.isBoolean true
keychainPassword { isString: true = true }
keychainPassword.isString true
keychainPath { isString: true = true }
keychainPath.isString true
keychainsExcludePatterns { isString: true = true }
keychainsExcludePatterns.isString true
launchWithIDB { isBoolean: true = true }
launchWithIDB.isBoolean true
localizableStringsDir { isString: true = true }
localizableStringsDir.isString true
maxTypingFrequency { isNumber: true = true }
maxTypingFrequency.isNumber true
mjpegScreenshotUrl { isString: true = true }
mjpegScreenshotUrl.isString true
mjpegServerPort { isNumber: true = true }
mjpegServerPort.isNumber true
nativeTyping { isBoolean: true = true }
nativeTyping.isBoolean true
nativeWebTap { isBoolean: true = true }
nativeWebTap.isBoolean true
nativeWebTapStrict { isBoolean: true = true }
nativeWebTapStrict.isBoolean true
otherApps { isString: true = true }
otherApps.isString true
permissions { isString: true = true }
permissions.isString true
platformName { inclusionCaseInsensitive: readonly ["iOS", "tvOS"] ; isString: true = true; presence: true = true }
platformName.inclusionCaseInsensitive readonly ["iOS", "tvOS"]
platformName.isString true
platformName.presence true
prebuildWDA { isBoolean: true = true }
prebuildWDA.isBoolean true
processArguments {}
reduceMotion { isBoolean: true = true }
reduceMotion.isBoolean true
reduceTransparency { isBoolean: true = true }
reduceTransparency.isBoolean true
remoteDebugProxy { isString: true = true }
remoteDebugProxy.isString true
resetLocationService { isBoolean: true = true }
resetLocationService.isBoolean true
resetOnSessionStartOnly { isBoolean: true = true }
resetOnSessionStartOnly.isBoolean true
resultBundlePath { isString: true = true }
resultBundlePath.isString true
resultBundleVersion { isNumber: true = true }
resultBundleVersion.isNumber true
safariAllowPopups { isBoolean: true = true }
safariAllowPopups.isBoolean true
safariGarbageCollect { isBoolean: true = true }
safariGarbageCollect.isBoolean true
safariGlobalPreferences { isObject: true = true }
safariGlobalPreferences.isObject true
safariIgnoreFraudWarning { isBoolean: true = true }
safariIgnoreFraudWarning.isBoolean true
safariIgnoreWebHostnames { isString: true = true }
safariIgnoreWebHostnames.isString true
safariInitialUrl { isString: true = true }
safariInitialUrl.isString true
safariLogAllCommunication { isBoolean: true = true }
safariLogAllCommunication.isBoolean true
safariLogAllCommunicationHexDump { isBoolean: true = true }
safariLogAllCommunicationHexDump.isBoolean true
safariOpenLinksInBackground { isBoolean: true = true }
safariOpenLinksInBackground.isBoolean true
safariShowFullResponse { isBoolean: true = true }
safariShowFullResponse.isBoolean true
safariSocketChunkSize { isNumber: true = true }
safariSocketChunkSize.isNumber true
safariWebInspectorMaxFrameLength { isNumber: true = true }
safariWebInspectorMaxFrameLength.isNumber true
scaleFactor { isString: true = true }
scaleFactor.isString true
screenshotQuality { isNumber: true = true }
screenshotQuality.isNumber true
shouldTerminateApp { isBoolean: true = true }
shouldTerminateApp.isBoolean true
shouldUseSingletonTestManager { isBoolean: true = true }
shouldUseSingletonTestManager.isBoolean true
showIOSLog { isBoolean: true = true }
showIOSLog.isBoolean true
showSafariConsoleLog { isBoolean: true = true }
showSafariConsoleLog.isBoolean true
showSafariNetworkLog { isBoolean: true = true }
showSafariNetworkLog.isBoolean true
showXcodeLog { isBoolean: true = true }
showXcodeLog.isBoolean true
shutdownOtherSimulators { isBoolean: true = true }
shutdownOtherSimulators.isBoolean true
simpleIsVisibleCheck { isBoolean: true = true }
simpleIsVisibleCheck.isBoolean true
simulatorDevicesSetPath { isString: true = true }
simulatorDevicesSetPath.isString true
simulatorPasteboardAutomaticSync { isString: true = true }
simulatorPasteboardAutomaticSync.isString true
simulatorStartupTimeout { isNumber: true = true }
simulatorStartupTimeout.isNumber true
simulatorTracePointer { isBoolean: true = true }
simulatorTracePointer.isBoolean true
simulatorWindowCenter { isString: true = true }
simulatorWindowCenter.isString true
skipLogCapture { isBoolean: true = true }
skipLogCapture.isBoolean true
udid { isString: true = true }
udid.isString true
updatedWDABundleId { isString: true = true }
updatedWDABundleId.isString true
useJSONSource { isBoolean: true = true }
useJSONSource.isBoolean true
useNativeCachingStrategy { isBoolean: true = true }
useNativeCachingStrategy.isBoolean true
useNewWDA { isBoolean: true = true }
useNewWDA.isBoolean true
usePrebuiltWDA { isBoolean: true = true }
usePrebuiltWDA.isBoolean true
useSimpleBuildTest { isBoolean: true = true }
useSimpleBuildTest.isBoolean true
useXctestrunFile { isBoolean: true = true }
useXctestrunFile.isBoolean true
waitForIdleTimeout { isNumber: true = true }
waitForIdleTimeout.isNumber true
waitForQuiescence { isBoolean: true = true }
waitForQuiescence.isBoolean true
wdaBaseUrl { isString: true = true }
wdaBaseUrl.isString true
wdaConnectionTimeout { isNumber: true = true }
wdaConnectionTimeout.isNumber true
wdaEventloopIdleDelay { isNumber: true = true }
wdaEventloopIdleDelay.isNumber true
wdaLaunchTimeout { isNumber: true = true }
wdaLaunchTimeout.isNumber true
wdaLocalPort { isNumber: true = true }
wdaLocalPort.isNumber true
wdaStartupRetries { isNumber: true = true }
wdaStartupRetries.isNumber true
wdaStartupRetryInterval { isNumber: true = true }
wdaStartupRetryInterval.isNumber true
webDriverAgentUrl { isString: true = true }
webDriverAgentUrl.isString true
webkitResponseTimeout { isNumber: true = true }
webkitResponseTimeout.isNumber true
webviewConnectRetries { isNumber: true = true }
webviewConnectRetries.isNumber true
webviewConnectTimeout { isNumber: true = true }
webviewConnectTimeout.isNumber true
xcodeConfigFile { isString: true = true }
xcodeConfigFile.isString true
xcodeOrgId { isString: true = true }
xcodeOrgId.isString true
xcodeSigningId { isString: true = true }
xcodeSigningId.isString true

Inherited from

BaseDriver.desiredCapConstraints

Defined in

lib/driver.js:286


deviceCaps

deviceCaps: undefined | { pixelRatio: any = scale; statBarHeight: any = statusBarSize.height; viewportRect: { height: number ; left: number = 0; top: number = statusBarHeight; width: number } }

Defined in

lib/driver.js:1730


disableConditionInducer

disableConditionInducer: () => Promise<boolean> = commands.conditionExtensions.disableConditionInducer

Type declaration

▸ (): Promise<boolean>

Disable condition inducer this call upon driver deletion

Returns

Promise<boolean>

true if disable the condition succeeded

Defined in

lib/driver.js:1840


doNativeFind

doNativeFind: (strategy: any, selector: any, mult: any, context: any) => Promise<undefined | Element<string>[]> = commands.findExtensions.doNativeFind

Type declaration

▸ (strategy, selector, mult, context): Promise<undefined | Element<string>[]>

Parameters
Name Type
strategy any
selector any
mult any
context any
Returns

Promise<undefined | Element<string>[]>

Defined in

lib/driver.js:1926


driverInfo

driverInfo: undefined | { built: number ; version: string }

Defined in

lib/driver.js:356


elementDisplayed

elementDisplayed: (el: any) => Promise<any> = commands.elementExtensions.elementDisplayed

Type declaration

▸ (el): Promise<any>

Parameters
Name Type
el any
Returns

Promise<any>

Defined in

lib/driver.js:1877


elementEnabled

elementEnabled: (el: any) => Promise<any> = commands.elementExtensions.elementEnabled

Type declaration

▸ (el): Promise<any>

Parameters
Name Type
el any
Returns

Promise<any>

Defined in

lib/driver.js:1878


elementSelected

elementSelected: (el: any) => Promise<any> = commands.elementExtensions.elementSelected

Type declaration

▸ (el): Promise<any>

Parameters
Name Type
el any
Returns

Promise<any>

Defined in

lib/driver.js:1879


enableConditionInducer

enableConditionInducer: (conditionID: string, profileID: string) => Promise<boolean> = commands.conditionExtensions.enableConditionInducer

Type declaration

▸ (conditionID, profileID): Promise<boolean>

Enable a "condition inducer". You can create a condition on a connected device to test your app under adverse conditions, such as poor network connectivity or thermal constraints. When you start a device condition, the operating system on the device behaves as if its environment has changed. The device condition remains active until you stop the device condition or disconnect the device. For example, you can start a device condition, run your app, monitor your app’s energy usage, and then stop the condition.

(Note: the socket needs to remain connected during operation) (Note: Device conditions are available only for real devices running iOS 13.0 and later.)

Throws

If you try to start another Condition and the previous Condition has not stopped

Since

4.9.0

See

https://help.apple.com/xcode/mac/current/#/dev308429d42

Parameters
Name Type Description
conditionID string Determine which condition IDs are available with the listConditionInducers command
profileID string Determine which profile IDs are available with the listConditionInducers command
Returns

Promise<boolean>

true if enabling the condition succeeded

Defined in

lib/driver.js:1839


eventEmitter

eventEmitter: EventEmitter

Inherited from

BaseDriver.eventEmitter

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:71


execute

execute: (script: string, args?: TArgs) => Promise<TReturn> = commands.executeExtensions.execute

Type declaration

▸ <TArgs, TReturn>(script, args?): Promise<TReturn>

Type parameters
Name Type
TArgs extends ExecuteMethodArgs = unknown[]
TReturn unknown
Parameters
Name Type Description
script string Either a script to run, or in the case of an Execute Method, the name of the script to execute.
args? TArgs
Returns

Promise<TReturn>

Defined in

lib/driver.js:1903


executeAtom

executeAtom: (atom: string, args: unknown[], alwaysDefaultFrame: boolean) => Promise<any> = commands.webExtensions.executeAtom

Type declaration

▸ (atom, args, alwaysDefaultFrame?): Promise<any>

Parameters
Name Type Default value
atom string undefined
args unknown[] undefined
alwaysDefaultFrame boolean false
Returns

Promise<any>

Defined in

lib/driver.js:2149


executeAtomAsync

executeAtomAsync: (atom: any, args: any, responseUrl: any) => Promise<any> = commands.webExtensions.executeAtomAsync

Type declaration

▸ (atom, args, responseUrl): Promise<any>

Parameters
Name Type
atom any
args any
responseUrl any
Returns

Promise<any>

Defined in

lib/driver.js:2150


executeMobile

executeMobile: any = commands.executeExtensions.executeMobile

Defined in

lib/driver.js:1905


extractLogs

extractLogs: (logType: string, logsContainer?: Partial<Record<string, { getLogs: () => Promise<any> }>>) => Promise<any> = commands.logExtensions.extractLogs

Type declaration

▸ (logType, logsContainer?): Promise<any>

Parameters
Name Type
logType string
logsContainer? Partial<Record<string, { getLogs: () => Promise<any> }>>
Returns

Promise<any>

Defined in

lib/driver.js:2035


findElOrEls

findElOrEls: (strategy: any, selector: any, mult: any, context: any) => Promise<any> = commands.findExtensions.findElOrEls

Type declaration

▸ (strategy, selector, mult, context): Promise<any>

Parameters
Name Type
strategy any
selector any
mult any
context any
Returns

Promise<any>

Overrides

BaseDriver.findElOrEls

Defined in

lib/driver.js:1924


findNativeElementOrElements

findNativeElementOrElements: (strategy: any, selector: any, mult: any, context: any) => Promise<any> = commands.findExtensions.findNativeElementOrElements

Type declaration

▸ (strategy, selector, mult, context): Promise<any>

Parameters
Name Type
strategy any
selector any
mult any
context any
Returns

Promise<any>

Defined in

lib/driver.js:1925


findWebElementOrElements

findWebElementOrElements: (strategy: any, selector: any, many: any, ctx: any) => Promise<any> = commands.webExtensions.findWebElementOrElements

Type declaration

▸ (strategy, selector, many, ctx): Promise<any>

Parameters
Name Type
strategy any
selector any
many any
ctx any
Returns

Promise<any>

Defined in

lib/driver.js:2155


forward

forward: () => Promise<void> = commands.navigationExtensions.forward

Type declaration

▸ (): Promise<void>

Returns

Promise<void>

Defined in

lib/driver.js:2046


getAlertButtons

getAlertButtons: () => Promise<any> = commands.alertExtensions.getAlertButtons

Type declaration

▸ (): Promise<any>

Returns

Promise<any>

Defined in

lib/driver.js:1778


getAlertText

getAlertText: () => Promise<any> = commands.alertExtensions.getAlertText

Type declaration

▸ (): Promise<any>

Returns

Promise<any>

Defined in

lib/driver.js:1774


getAtomsElement

getAtomsElement: <S>(elOrId: S | Element<S>) => AtomsElement<S> = commands.webExtensions.getAtomsElement

Type declaration

▸ <S>(elOrId): AtomsElement<S>

Type parameters
Name Type
S extends string
Parameters
Name Type
elOrId S | Element<S>
Returns

AtomsElement<S>

Defined in

lib/driver.js:2151


getAttribute

getAttribute: (attribute: any, el: any) => Promise<any> = commands.elementExtensions.getAttribute

Type declaration

▸ (attribute, el): Promise<any>

Parameters
Name Type
attribute any
el any
Returns

Promise<any>

Defined in

lib/driver.js:1882


getClipboard

getClipboard: (contentType?: string) => Promise<string> = commands.clipboardExtensions.getClipboard

Type declaration

▸ (contentType?): Promise<string>

Gets the content of the primary clipboard on the device under test.

Parameters
Name Type Description
contentType? string The type of the content to get. Only plaintext, 'image and 'url' are supported.
Returns

Promise<string>

The actual clipboard content encoded into base64 string. An empty string is returned if the clipboard contains no data.

Defined in

lib/driver.js:1832


getContentSize

getContentSize: (el: any) => Promise<string> = commands.elementExtensions.getContentSize

Type declaration

▸ (el): Promise<string>

Parameters
Name Type
el any
Returns

Promise<string>

Defined in

lib/driver.js:1894


getContexts

getContexts: () => Promise<string[] | FullContext[]> = commands.contextExtensions.getContexts

Type declaration

▸ (): Promise<string[] | FullContext[]>

Returns

Promise<string[] | FullContext[]>

Defined in

lib/driver.js:1846


getContextsAndViews

getContextsAndViews: (useUrl: boolean) => Promise<[ViewContext<"NATIVE_APP">]> = commands.contextExtensions.getContextsAndViews

Type declaration

▸ (useUrl?): Promise<[ViewContext<"NATIVE_APP">]>

Parameters
Name Type Default value
useUrl boolean true
Returns

Promise<[ViewContext<"NATIVE_APP">]>

Defined in

lib/driver.js:1854


getCoordinates

getCoordinates: (gesture: any) => Promise<{ areOffsets: boolean = false; x: number = 0; y: number = 0 }> = commands.gestureExtensions.getCoordinates

Type declaration

▸ (gesture): Promise<{ areOffsets: boolean = false; x: number = 0; y: number = 0 }>

Parameters
Name Type
gesture any
Returns

Promise<{ areOffsets: boolean = false; x: number = 0; y: number = 0 }>

Defined in

lib/driver.js:1988


getCurrentContext

getCurrentContext: () => Promise<string> = commands.contextExtensions.getCurrentContext

Type declaration

▸ (): Promise<string>

Returns

Promise<string>

Defined in

lib/driver.js:1847


getCurrentUrl

getCurrentUrl: () => any = commands.contextExtensions.getCurrentUrl

Type declaration

▸ (): any

Returns

any

Defined in

lib/driver.js:1859


getDevicePixelRatio

getDevicePixelRatio: () => Promise<any> = commands.generalExtensions.getDevicePixelRatio

Type declaration

▸ (): Promise<any>

memoized in constructor

Returns

Promise<any>

Defined in

lib/driver.js:1950


getDeviceTime

getDeviceTime: (format?: string) => Promise<string> = commands.generalExtensions.getDeviceTime

Type declaration

▸ (format?): Promise<string>

Retrieves the current device's timestamp.

Parameters
Name Type Default value Description
format? string MOMENT_FORMAT_ISO8601 The set of format specifiers. Read https://momentjs.com/docs/ to get the full list of supported datetime format specifiers. The default format is YYYY-MM-DDTHH:mm:ssZ, which complies to ISO-8601
Returns

Promise<string>

Formatted datetime string or the raw command output if formatting fails

Defined in

lib/driver.js:1938


getElementId

getElementId: (element: any) => any = commands.webExtensions.getElementId

Type declaration

▸ (element): any

Parameters
Name Type
element any
Returns

any

Defined in

lib/driver.js:2153


getElementRect

getElementRect: (el: any) => Promise<Rect> = commands.elementExtensions.getElementRect

Type declaration

▸ (el): Promise<Rect>

Parameters
Name Type
el any
Returns

Promise<Rect>

Defined in

lib/driver.js:1885


getElementScreenshot

getElementScreenshot: (el: any) => Promise<any> = commands.screenshotExtensions.getElementScreenshot

Type declaration

▸ (el): Promise<any>

Parameters
Name Type
el any
Returns

Promise<any>

Defined in

lib/driver.js:2111


getExtraNativeWebTapOffset

getExtraNativeWebTapOffset: (isIphone: any, bannerVisibility: any) => Promise<number> = commands.webExtensions.getExtraNativeWebTapOffset

Type declaration

▸ (isIphone, bannerVisibility): Promise<number>

Parameters
Name Type
isIphone any
bannerVisibility any
Returns

Promise<number>

Defined in

lib/driver.js:2161


getExtraTranslateWebCoordsOffset

getExtraTranslateWebCoordsOffset: (wvPos: any, realDims: any) => Promise<void> = commands.webExtensions.getExtraTranslateWebCoordsOffset

Type declaration

▸ (wvPos, realDims): Promise<void>

Parameters
Name Type
wvPos any
realDims any
Returns

Promise<void>

Defined in

lib/driver.js:2160


getFirstVisibleChild

getFirstVisibleChild: (mult: any, context: any) => Promise<undefined | Element<string>[]> = commands.findExtensions.getFirstVisibleChild

Type declaration

▸ (mult, context): Promise<undefined | Element<string>[]>

Parameters
Name Type
mult any
context any
Returns

Promise<undefined | Element<string>[]>

Defined in

lib/driver.js:1927


getGeoLocation

getGeoLocation: () => Promise<{ altitude: number ; latitude: number ; longitude: number }> = commands.locationExtensions.getGeoLocation

Type declaration

▸ (): Promise<{ altitude: number ; latitude: number ; longitude: number }>

Returns location of the device under test. The device under test must allow the location services for WDA as 'Always' to get the location data correctly.

The 'latitude', 'longitude' and 'altitude' could be zero even if the Location Services are set to 'Always', because the device needs some time to update the location data.

Throws

If the device under test returns an error message. i.e.: tvOS returns unsupported error

Returns

Promise<{ altitude: number ; latitude: number ; longitude: number }>

Defined in

lib/driver.js:2020


getLocation

getLocation: (elementId: string | Element<string>) => Promise<Position> = commands.elementExtensions.getLocation

Type declaration

▸ (elementId): Promise<Position>

Get the position of an element on screen

Deprecated

Use getElementRect instead

Parameters
Name Type Description
elementId string | Element<string> the element ID
Returns

Promise<Position>

The position of the element

Defined in

lib/driver.js:1886


getLocationInView

getLocationInView: (elementId: string | Element<string>) => Promise<Position> = commands.elementExtensions.getLocationInView

Type declaration

▸ (elementId): Promise<Position>

Alias for getLocation

Deprecated

Use getElementRect instead

Parameters
Name Type Description
elementId string | Element<string> the element ID
Returns

Promise<Position>

The position of the element

Defined in

lib/driver.js:1887


getName

getName: (el: any) => Promise<any> = commands.elementExtensions.getName

Type declaration

▸ (el): Promise<any>

Parameters
Name Type
el any
Returns

Promise<any>

Defined in

lib/driver.js:1880


getNativeAttribute

getNativeAttribute: (attribute: any, el: any) => Promise<null | string> = commands.elementExtensions.getNativeAttribute

Type declaration

▸ (attribute, el): Promise<null | string>

Parameters
Name Type
attribute any
el any
Returns

Promise<null | string>

Defined in

lib/driver.js:1881


getNativePageSource

getNativePageSource: () => Promise<any> = commands.sourceExtensions.getNativePageSource

Type declaration

▸ (): Promise<any>

Returns

Promise<any>

Defined in

lib/driver.js:2118


getNativeRect

getNativeRect: (el: any) => Promise<Rect> = commands.elementExtensions.getNativeRect

Type declaration

▸ (el): Promise<Rect>

Parameters
Name Type
el any
Returns

Promise<Rect>

Defined in

lib/driver.js:1895


getNewRemoteDebugger

getNewRemoteDebugger: () => Promise<any> = commands.contextExtensions.getNewRemoteDebugger

Type declaration

▸ (): Promise<any>

Returns

Promise<any>

Defined in

lib/driver.js:1860


getPageSource

getPageSource: () => Promise<any> = commands.sourceExtensions.getPageSource

Type declaration

▸ (): Promise<any>

Returns

Promise<any>

Overrides

BaseDriver.getPageSource

Defined in

lib/driver.js:2117


getProperty

getProperty: (property: any, el: any) => Promise<any> = commands.elementExtensions.getProperty

Type declaration

▸ (property, el): Promise<any>

Parameters
Name Type
property any
el any
Returns

Promise<any>

Defined in

lib/driver.js:1883


getRecentWebviewContextId

getRecentWebviewContextId: (titleRegExp: RegExp, urlRegExp: RegExp) => Promise<undefined | string> = commands.contextExtensions.getRecentWebviewContextId

Type declaration

▸ (titleRegExp, urlRegExp): Promise<undefined | string>

Parameters
Name Type
titleRegExp RegExp
urlRegExp RegExp
Returns

Promise<undefined | string>

Defined in

lib/driver.js:1861


getSafariDeviceSize

getSafariDeviceSize: () => Promise<{ height: number = normHeight; width: number = normWidth }> = commands.webExtensions.getSafariDeviceSize

Type declaration

▸ (): Promise<{ height: number = normHeight; width: number = normWidth }>

Returns

Promise<{ height: number = normHeight; width: number = normWidth }>

Defined in

lib/driver.js:2158


getSafariIsIphone

getSafariIsIphone: () => Promise<boolean> = commands.webExtensions.getSafariIsIphone

Type declaration

▸ (): Promise<boolean>

Returns

Promise<boolean>

Defined in

lib/driver.js:2157


getSafariIsNotched

getSafariIsNotched: () => Promise<boolean> = commands.webExtensions.getSafariIsNotched

Type declaration

▸ (): Promise<boolean>

Returns

Promise<boolean>

Defined in

lib/driver.js:2159


getScreenInfo

getScreenInfo: () => Promise<any> = commands.generalExtensions.getScreenInfo

Type declaration

▸ (): Promise<any>

memoized in constructor

Returns

Promise<any>

Defined in

lib/driver.js:1948


getScreenshot

getScreenshot: () => Promise<any> = commands.screenshotExtensions.getScreenshot

Type declaration

▸ (): Promise<any>

Returns

Promise<any>

Defined in

lib/driver.js:2110


getSize

getSize: (el: string | Element<string>) => Promise<Size> = commands.elementExtensions.getSize

Type declaration

▸ (el): Promise<Size>

Get the size of an element

Parameters
Name Type Description
el string | Element<string> the element ID
Returns

Promise<Size>

The position of the element

Defined in

lib/driver.js:1888


getStatusBarHeight

getStatusBarHeight: () => Promise<any> = commands.generalExtensions.getStatusBarHeight

Type declaration

▸ (): Promise<any>

Returns

Promise<any>

Defined in

lib/driver.js:1949


getStrings

getStrings: (language: string, stringFile: null | string) => Promise<{}> = commands.appStringsExtensions.getStrings

Type declaration

▸ (language, stringFile?): Promise<{}>

Return the language-specific strings for an app

Parameters
Name Type Default value Description
language string undefined the language to retrieve strings for
stringFile null | string null the path to the localized strings file if not in the default location
Returns

Promise<{}>

A record of localized keys to localized text

Defined in

lib/driver.js:1941


getText

getText: (el: any) => Promise<any> = commands.elementExtensions.getText

Type declaration

▸ (el): Promise<any>

Parameters
Name Type
el any
Returns

Promise<any>

Defined in

lib/driver.js:1884


getViewportRect

getViewportRect: () => Promise<{ height: number ; left: number = 0; top: number = statusBarHeight; width: number }> = commands.generalExtensions.getViewportRect

Type declaration

▸ (): Promise<{ height: number ; left: number = 0; top: number = statusBarHeight; width: number }>

Returns

Promise<{ height: number ; left: number = 0; top: number = statusBarHeight; width: number }>

Defined in

lib/driver.js:1947


getViewportScreenshot

getViewportScreenshot: () => Promise<any> = commands.screenshotExtensions.getViewportScreenshot

Type declaration

▸ (): Promise<any>

Returns

Promise<any>

Defined in

lib/driver.js:2112


getWindowHandle

getWindowHandle: () => Promise<string> = commands.contextExtensions.getWindowHandle

Type declaration

▸ (): Promise<string>

Returns

Promise<string>

Defined in

lib/driver.js:1848


getWindowHandles

getWindowHandles: () => Promise<string[]> = commands.contextExtensions.getWindowHandles

Type declaration

▸ (): Promise<string[]>

Returns

Promise<string[]>

Defined in

lib/driver.js:1849


getWindowRect

getWindowRect: () => Promise<{ height: any ; width: any ; x: number = 0; y: number = 0 }> = commands.generalExtensions.getWindowRect

Type declaration

▸ (): Promise<{ height: any ; width: any ; x: number = 0; y: number = 0 }>

For W3C

Returns

Promise<{ height: any ; width: any ; x: number = 0; y: number = 0 }>

Defined in

lib/driver.js:1940


getWindowSize

getWindowSize: (windowHandle: string) => Promise<any> = commands.generalExtensions.getWindowSize

Type declaration

▸ (windowHandle?): Promise<any>

Get the window size

Deprecated

Use getWindowRect instead.

Parameters
Name Type Default value
windowHandle string 'current'
Returns

Promise<any>

Defined in

lib/driver.js:1937


getWindowSizeNative

getWindowSizeNative: () => Promise<any> = commands.generalExtensions.getWindowSizeNative

Type declaration

▸ (): Promise<any>

Returns

Promise<any>

Defined in

lib/driver.js:1954


getWindowSizeWeb

getWindowSizeWeb: () => Promise<any> = commands.generalExtensions.getWindowSizeWeb

Type declaration

▸ (): Promise<any>

Returns

Promise<any>

Defined in

lib/driver.js:1953


hasElementId

hasElementId: (element: any) => element is Element<string> = commands.webExtensions.hasElementId

Type declaration

▸ (element): element is Element<string>

Parameters
Name Type
element any
Returns

element is Element<string>

Defined in

lib/driver.js:2154


helpers

helpers: DriverHelpers

Inherited from

BaseDriver.helpers

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:39


hideKeyboard

hideKeyboard: (strategy: any, ...possibleKeys: any[]) => Promise<void> = commands.keyboardExtensions.hideKeyboard

Type declaration

▸ (strategy, ...possibleKeys): Promise<void>

Deprecated

Parameters
Name Type
strategy any
...possibleKeys any[]
Returns

Promise<void>

Defined in

lib/driver.js:2006


implicitWaitMs

implicitWaitMs: number

Inherited from

BaseDriver.implicitWaitMs

Defined in

lib/driver.js:331


initialOpts

initialOpts: DriverOpts<{ absoluteWebLocations: { isBoolean: true = true } ; additionalWebviewBundleIds: {} = {}; agentPath: { isString: true = true } ; allowProvisioningDeviceRegistration: { isBoolean: true = true } ; app: { isString: true = true } ; appInstallStrategy: { inclusionCaseInsensitive: readonly ["serial", "parallel", "ios-deploy"] ; isString: true = true } ; appPushTimeout: { isNumber: true = true } ; autoAcceptAlerts: { isBoolean: true = true } ; autoDismissAlerts: { isBoolean: true = true } ; bootstrapPath: { isString: true = true } ; browserName: { isString: true = true } ; bundleId: { isString: true = true } ; calendarAccessAuthorized: { isBoolean: true = true } ; calendarFormat: { isString: true = true } ; clearSystemFiles: { isBoolean: true = true } ; commandTimeouts: {} = {}; connectHardwareKeyboard: { isBoolean: true = true } ; customSSLCert: { isString: true = true } ; derivedDataPath: { isString: true = true } ; deviceName: { isString: true = true } ; disableAutomaticScreenshots: { isBoolean: true = true } ; enableAsyncExecuteFromHttps: { isBoolean: true = true } ; enablePerformanceLogging: { isBoolean: true = true } ; enforceAppInstall: { isBoolean: true = true } ; enforceFreshSimulatorCreation: { isBoolean: true = true } ; forceAppLaunch: { isBoolean: true = true } ; forceTurnOnSoftwareKeyboardSimulator: { isBoolean: true = true } ; fullContextList: { isBoolean: true = true } ; ignoreAboutBlankUrl: { isBoolean: true = true } ; includeDeviceCapsToSessionInfo: { isBoolean: true = true } ; includeSafariInWebviews: { isBoolean: true = true } ; iosInstallPause: { isNumber: true = true } ; iosSimulatorLogsPredicate: { isString: true = true } ; isHeadless: { isBoolean: true = true } ; keepKeyChains: { isBoolean: true = true } ; keychainPassword: { isString: true = true } ; keychainPath: { isString: true = true } ; keychainsExcludePatterns: { isString: true = true } ; launchWithIDB: { isBoolean: true = true } ; localizableStringsDir: { isString: true = true } ; maxTypingFrequency: { isNumber: true = true } ; mjpegScreenshotUrl: { isString: true = true } ; mjpegServerPort: { isNumber: true = true } ; nativeTyping: { isBoolean: true = true } ; nativeWebTap: { isBoolean: true = true } ; nativeWebTapStrict: { isBoolean: true = true } ; otherApps: { isString: true = true } ; permissions: { isString: true = true } ; platformName: { inclusionCaseInsensitive: readonly ["iOS", "tvOS"] ; isString: true = true; presence: true = true } ; prebuildWDA: { isBoolean: true = true } ; processArguments: {} = {}; reduceMotion: { isBoolean: true = true } ; reduceTransparency: { isBoolean: true = true } ; remoteDebugProxy: { isString: true = true } ; resetLocationService: { isBoolean: true = true } ; resetOnSessionStartOnly: { isBoolean: true = true } ; resultBundlePath: { isString: true = true } ; resultBundleVersion: { isNumber: true = true } ; safariAllowPopups: { isBoolean: true = true } ; safariGarbageCollect: { isBoolean: true = true } ; safariGlobalPreferences: { isObject: true = true } ; safariIgnoreFraudWarning: { isBoolean: true = true } ; safariIgnoreWebHostnames: { isString: true = true } ; safariInitialUrl: { isString: true = true } ; safariLogAllCommunication: { isBoolean: true = true } ; safariLogAllCommunicationHexDump: { isBoolean: true = true } ; safariOpenLinksInBackground: { isBoolean: true = true } ; safariShowFullResponse: { isBoolean: true = true } ; safariSocketChunkSize: { isNumber: true = true } ; safariWebInspectorMaxFrameLength: { isNumber: true = true } ; scaleFactor: { isString: true = true } ; screenshotQuality: { isNumber: true = true } ; shouldTerminateApp: { isBoolean: true = true } ; shouldUseSingletonTestManager: { isBoolean: true = true } ; showIOSLog: { isBoolean: true = true } ; showSafariConsoleLog: { isBoolean: true = true } ; showSafariNetworkLog: { isBoolean: true = true } ; showXcodeLog: { isBoolean: true = true } ; shutdownOtherSimulators: { isBoolean: true = true } ; simpleIsVisibleCheck: { isBoolean: true = true } ; simulatorDevicesSetPath: { isString: true = true } ; simulatorPasteboardAutomaticSync: { isString: true = true } ; simulatorStartupTimeout: { isNumber: true = true } ; simulatorTracePointer: { isBoolean: true = true } ; simulatorWindowCenter: { isString: true = true } ; skipLogCapture: { isBoolean: true = true } ; udid: { isString: true = true } ; updatedWDABundleId: { isString: true = true } ; useJSONSource: { isBoolean: true = true } ; useNativeCachingStrategy: { isBoolean: true = true } ; useNewWDA: { isBoolean: true = true } ; usePrebuiltWDA: { isBoolean: true = true } ; useSimpleBuildTest: { isBoolean: true = true } ; useXctestrunFile: { isBoolean: true = true } ; waitForIdleTimeout: { isNumber: true = true } ; waitForQuiescence: { isBoolean: true = true } ; wdaBaseUrl: { isString: true = true } ; wdaConnectionTimeout: { isNumber: true = true } ; wdaEventloopIdleDelay: { isNumber: true = true } ; wdaLaunchTimeout: { isNumber: true = true } ; wdaLocalPort: { isNumber: true = true } ; wdaStartupRetries: { isNumber: true = true } ; wdaStartupRetryInterval: { isNumber: true = true } ; webDriverAgentUrl: { isString: true = true } ; webkitResponseTimeout: { isNumber: true = true } ; webviewConnectRetries: { isNumber: true = true } ; webviewConnectTimeout: { isNumber: true = true } ; xcodeConfigFile: { isString: true = true } ; xcodeOrgId: { isString: true = true } ; xcodeSigningId: { isString: true = true } }>

Inherited from

BaseDriver.initialOpts

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:37


installApp

installApp: (appPath: string, opts: any) => Promise<void> = commands.appManagementExtensions.installApp

Type declaration

▸ (appPath, opts?): Promise<void>

Parameters
Name Type
appPath string
opts any
Returns

Promise<void>

Defined in

lib/driver.js:1793


isAppInstalled

isAppInstalled: (bundleId: string) => Promise<any> = commands.appManagementExtensions.isAppInstalled

Type declaration

▸ (bundleId): Promise<any>

Parameters
Name Type
bundleId string
Returns

Promise<any>

Defined in

lib/driver.js:1795


isKeyboardShown

isKeyboardShown: () => Promise<boolean> = commands.keyboardExtensions.isKeyboardShown

Type declaration

▸ (): Promise<boolean>

Returns

Promise<boolean>

Defined in

lib/driver.js:2008


isLocked

isLocked: () => Promise<boolean> = commands.lockExtensions.isLocked

Type declaration

▸ (): Promise<boolean>

Determine whether the device is locked

Returns

Promise<boolean>

true if the device is locked, false otherwise

Defined in

lib/driver.js:2029


isWebContext

isWebContext: () => boolean = commands.contextExtensions.isWebContext

Type declaration

▸ (): boolean

Returns

boolean

Defined in

lib/driver.js:1862


isWebview

isWebview: () => boolean = commands.contextExtensions.isWebview

Type declaration

▸ (): boolean

Returns

boolean

Defined in

lib/driver.js:1863


jwpProxyActive

jwpProxyActive: undefined | boolean

Defined in

lib/driver.js:321

lib/driver.js:825

lib/driver.js:971


keys

keys: (value: string[]) => Promise<void> = commands.elementExtensions.keys

Type declaration

▸ (value): Promise<void>

Send keys to the app

Deprecated

Use setValue instead

Parameters
Name Type Description
value string[] Array of keys to send
Returns

Promise<void>

Defined in

lib/driver.js:1892


landscapeWebCoordsOffset

landscapeWebCoordsOffset: undefined | number

Defined in

lib/driver.js:334


launchApp

launchApp: () => Promise<void> = commands.generalExtensions.launchApp

Type declaration

▸ (): Promise<void>

Start the session after it has been started.

Returns

Promise<void>

Defined in

lib/driver.js:1944


lifecycleData

lifecycleData: LifecycleData

Defined in

lib/driver.js:248


listConditionInducers

listConditionInducers: () => Promise<Condition[]> = commands.conditionExtensions.listConditionInducers

Type declaration

▸ (): Promise<Condition[]>

Get all ConditionInducer configuration information We will use conditionID and profileID in the mobileEnableConditionInducer

Returns

Promise<Condition[]>

[{ "profiles": [ { "name": "100% packet loss", "identifier": "SlowNetwork100PctLoss", // MobileEnableConditionInducer profileID "description": "Name: 100% Loss Scenario\n Downlink Bandwidth: 0 Mbps\n Downlink Latency:0 ms\n Downlink Packet Loss Ratio: 100%\n Uplink Bandwidth: 0 Mbps\n Uplink Latency: 0 ms\n Uplink Packet Loss Ratio: 100%" } ], "profilesSorted": true, "identifier": "SlowNetworkCondition", // MobileEnableConditionInducer conditionID "isDestructive": false, "isInternal": false, "activeProfile": "", "name": "Network Link", "isActive": false }]

Defined in

lib/driver.js:1838


listWebFrames

listWebFrames: (useUrl: boolean) => Promise<any> = commands.contextExtensions.listWebFrames

Type declaration

▸ (useUrl?): Promise<any>

Parameters
Name Type Default value
useUrl boolean true
Returns

Promise<any>

Defined in

lib/driver.js:1855


locatorStrategies

locatorStrategies: string[]

Inherited from

BaseDriver.locatorStrategies

Defined in

lib/driver.js:267


lock

lock: (seconds?: string | number) => Promise<void> = commands.lockExtensions.lock

Type declaration

▸ (seconds?): Promise<void>

Lock the device (and optionally unlock the device after a certain amount of time)

Default Value

0

Parameters
Name Type Description
seconds? string | number the number of seconds after which to unlock the device. Set to 0 or leave empty to require manual unlock (do not automatically unlock).
Returns

Promise<void>

Defined in

lib/driver.js:2027


logs

logs: Object

Defined in

lib/driver.js:297

lib/driver.js:957


managedDrivers

managedDrivers: Driver<Constraints, StringRecord<any>, StringRecord<any>, DefaultCreateSessionResult<Constraints>, void>[]

Inherited from

BaseDriver.managedDrivers

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:65


mjpegStream

mjpegStream: undefined | MJpegStream

Defined in

lib/driver.js:441


mobileActivateApp

mobileActivateApp: (bundleId: string) => Promise<any> = commands.appManagementExtensions.mobileActivateApp

Type declaration

▸ (bundleId): Promise<any>

Parameters
Name Type
bundleId string
Returns

Promise<any>

Defined in

lib/driver.js:1790


mobileClearKeychains

mobileClearKeychains: () => Promise<void> = commands.keychainsExtensions.mobileClearKeychains

Type declaration

▸ (): Promise<void>

Clears keychains on Simulator.

Throws

If current device is not a Simulator or there was an error while clearing keychains.

Returns

Promise<void>

Defined in

lib/driver.js:2000


mobileDeepLink: (url: string, bundleId?: string) => Promise<any> = commands.navigationExtensions.mobileDeepLink

Type declaration

▸ (url, bundleId?): Promise<any>

Opens the given URL with the default or the given application

Parameters
Name Type
url string
bundleId? string
Returns

Promise<any>

Defined in

lib/driver.js:2049


mobileDeleteFile

mobileDeleteFile: (remotePath: string) => Promise<void> = commands.fileMovementExtensions.mobileDeleteFile

Type declaration

▸ (remotePath): Promise<void>

Delete a remote file from the device.

Parameters
Name Type Description
remotePath string The full path to the remote file or a specially formatted path, which points to an item inside app bundle. See the documentation for pullFromRealDevice and pullFromSimulator to get more information on acceptable values.
Returns

Promise<void>

Defined in

lib/driver.js:1916


mobileDeleteFolder

mobileDeleteFolder: (remotePath: string) => Promise<void> = commands.fileMovementExtensions.mobileDeleteFolder

Type declaration

▸ (remotePath): Promise<void>

Delete a remote folder from the device.

Parameters
Name Type Description
remotePath string The full path to the remote folder or a specially formatted path, which points to an item inside app bundle. See the documentation for pullFromRealDevice and pullFromSimulator to get more information on acceptable values.
Returns

Promise<void>

Defined in

lib/driver.js:1915


mobileDoubleTap

mobileDoubleTap: (elementId?: string | Element<string>, x?: number, y?: number) => Promise<any> = commands.gestureExtensions.mobileDoubleTap

Type declaration

▸ (elementId?, x?, y?): Promise<any>

Parameters
Name Type
elementId? string | Element<string>
x? number
y? number
Returns

Promise<any>

Defined in

lib/driver.js:1978


mobileDragFromToForDuration

mobileDragFromToForDuration: (duration: number, fromX: number, fromY: number, toX: number, toY: number, elementId?: string | Element<string>) => Promise<any> = commands.gestureExtensions.mobileDragFromToForDuration

Type declaration

▸ (duration, fromX, fromY, toX, toY, elementId?): Promise<any>

Parameters
Name Type
duration number
fromX number
fromY number
toX number
toY number
elementId? string | Element<string>
Returns

Promise<any>

Defined in

lib/driver.js:1982


mobileDragFromToWithVelocity

mobileDragFromToWithVelocity: (pressDuration: number, holdDuration: number, velocity: number, fromElementId?: string | Element<string>, toElementId?: string | Element<string>, fromX?: number, fromY?: number, toX?: number, toY?: number) => Promise<any> = commands.gestureExtensions.mobileDragFromToWithVelocity

Type declaration

▸ (pressDuration, holdDuration, velocity, fromElementId?, toElementId?, fromX?, fromY?, toX?, toY?): Promise<any>

Parameters
Name Type
pressDuration number
holdDuration number
velocity number
fromElementId? string | Element<string>
toElementId? string | Element<string>
fromX? number
fromY? number
toX? number
toY? number
Returns

Promise<any>

Defined in

lib/driver.js:1983


mobileExpectNotification

mobileExpectNotification: (name: string, type: NotificationType, timeoutSeconds: number) => Promise<any> = commands.notificationsExtensions.mobileExpectNotification

Type declaration

▸ (name, type?, timeoutSeconds?): Promise<any>

Blocks until the expected notification is delivered.

This method is a thin wrapper over XCTNSNotificationExpectation and XCTDarwinNotificationExpectation entities.

Throws

TimeoutError if the expected notification has not been delivered within the given timeout

Parameters
Name Type Default value Description
name string undefined The name of the notification to expect
type NotificationType 'plain' Which notification type to expect.
timeoutSeconds number 60 For how long to wait until the notification is delivered (in float seconds).
Returns

Promise<any>

Defined in

lib/driver.js:2056


mobileForcePress

mobileForcePress: (x: number, y: number, duration: number, pressure: number, elementId?: string | Element<string>) => Promise<any> = commands.gestureExtensions.mobileForcePress

Type declaration

▸ (x, y, duration, pressure, elementId?): Promise<any>

Parameters
Name Type
x number
y number
duration number
pressure number
elementId? string | Element<string>
Returns

Promise<any>

Defined in

lib/driver.js:1985


mobileGetActiveAppInfo

mobileGetActiveAppInfo: () => Promise<any> = commands.activeAppInfoExtensions.mobileGetActiveAppInfo

Type declaration

▸ (): Promise<any>

Returns ActiveApp info.

Throws

if an error raised by command

Returns

Promise<any>

The response of /wda/activeAppInfo'

Defined in

lib/driver.js:1769


mobileGetAppearance

mobileGetAppearance: () => Promise<{ style: "dark" | "light" | "unsupported" | "unknown" }> = commands.appearanceExtensions.mobileGetAppearance

Type declaration

▸ (): Promise<{ style: "dark" | "light" | "unsupported" | "unknown" }>

Get the device's UI appearance style.

Since

Xcode SDK 11

Returns

Promise<{ style: "dark" | "light" | "unsupported" | "unknown" }>

Defined in

lib/driver.js:1805


mobileGetBatteryInfo

mobileGetBatteryInfo: () => Promise<BatteryInfo> = commands.batteryExtensions.mobileGetBatteryInfo

Type declaration

▸ (): Promise<BatteryInfo>

Reads the battery information from the device under test. This endpoint only returns reliable result on real devices.

Returns

Promise<BatteryInfo>

The actual battery info

Defined in

lib/driver.js:1810


mobileGetContexts

mobileGetContexts: (waitForWebviewMs?: number) => Promise<Context[]> = commands.contextExtensions.mobileGetContexts

Type declaration

▸ (waitForWebviewMs?): Promise<Context[]>

Get the contexts available, with information about the url and title of each webview

Parameters
Name Type Default value Description
waitForWebviewMs? number 0 The period to poll for available webviews (in ms)
Returns

Promise<Context[]>

List of Context objects

Defined in

lib/driver.js:1856


mobileGetDeviceInfo

mobileGetDeviceInfo: () => Promise<any> = commands.deviceInfoExtensions.mobileGetDeviceInfo

Type declaration

▸ (): Promise<any>

Returns device info.

Throws

if an error raised by command

Returns

Promise<any>

The response of /wda/device/info'

Defined in

lib/driver.js:1871


mobileGetDeviceTime

mobileGetDeviceTime: (format: string) => Promise<string> = commands.generalExtensions.mobileGetDeviceTime

Type declaration

▸ (format?): Promise<string>

Retrieves the current device time

Parameters
Name Type Default value Description
format string MOMENT_FORMAT_ISO8601 See getDeviceTime.format
Returns

Promise<string>

Formatted datetime string or the raw command output if formatting fails

Defined in

lib/driver.js:1939


mobileGetPasteboard

mobileGetPasteboard: (encoding: string) => Promise<any> = commands.pasteboardExtensions.mobileGetPasteboard

Type declaration

▸ (encoding?): Promise<any>

Parameters
Name Type Default value
encoding string 'utf8'
Returns

Promise<any>

Defined in

lib/driver.js:2063


mobileGetSimulatedLocation

mobileGetSimulatedLocation: () => Promise<GeolocationInfo> = commands.geolocationExtensions.mobileGetSimulatedLocation

Type declaration

▸ (): Promise<GeolocationInfo>

Retrieves simulated geolocation value. Only works since Xcode 14.3/iOS 16.4

Throws

If the device under test does not support gelolocation simulation.

Returns

Promise<GeolocationInfo>

All entry values are set to null if no simulated location has been set prior to calling this API.

Defined in

lib/driver.js:1959


mobileGetSource

mobileGetSource: (format?: "xml" | "json", excludedAttributes?: any) => Promise<any> = commands.sourceExtensions.mobileGetSource

Type declaration

▸ (format?, excludedAttributes?): Promise<any>

Parameters
Name Type
format? "xml" | "json"
excludedAttributes? any
Returns

Promise<any>

Defined in

lib/driver.js:2119


mobileHandleAlert

mobileHandleAlert: (action: AlertAction, buttonLabel?: string) => Promise<any> = commands.alertExtensions.mobileHandleAlert

Type declaration

▸ (action, buttonLabel?): Promise<any>

Parameters
Name Type
action AlertAction
buttonLabel? string
Returns

Promise<any>

Defined in

lib/driver.js:1779


mobileHideKeyboard

mobileHideKeyboard: (keys: string[]) => Promise<void> = commands.keyboardExtensions.mobileHideKeyboard

Type declaration

▸ (keys?): Promise<void>

Parameters
Name Type Default value
keys string[] []
Returns

Promise<void>

Defined in

lib/driver.js:2007


mobileInstallApp

mobileInstallApp: (app: string, timeoutMs?: number, strategy?: string) => Promise<void> = commands.appManagementExtensions.mobileInstallApp

Type declaration

▸ (app, timeoutMs?, strategy?): Promise<void>

Parameters
Name Type
app string
timeoutMs? number
strategy? string
Returns

Promise<void>

Defined in

lib/driver.js:1785


mobileInstallCertificate

mobileInstallCertificate: (content: string, commonName?: string, isRoot?: boolean) => Promise<undefined | string> = commands.certificateExtensions.mobileInstallCertificate

Type declaration

▸ (content, commonName?, isRoot?): Promise<undefined | string>

Installs a custom certificate onto the device. Since Xcode SDK 11.4 Apple has added a dedicated simctl subcommand to quickly handle certificates on Simulator over CLI. On real devices or simulators before Xcode 11.4 SDK Apple provides no official way to do it via the command line. In such case (and also as a fallback if CLI setup fails) this method tries to wrap the certificate into .mobileconfig format and then deploys the wrapped file to the internal HTTP server, so one can open it via mobile Safari. Then the algorithm goes through the profile installation procedure by clicking the necessary buttons using WebDriverAgent.

Parameters
Name Type
content string
commonName? string
isRoot? boolean
Returns

Promise<undefined | string>

The content of the generated .mobileconfig file as base64-encoded string. This config might be useful for debugging purposes. If the certificate has been successfully set via CLI then nothing is returned.

Defined in

lib/driver.js:1823


mobileInstallXCTestBundle

mobileInstallXCTestBundle: (xctestApp: string) => Promise<void> = commands.xctestExtensions.mobileInstallXCTestBundle

Type declaration

▸ (xctestApp): Promise<void>

Install an XCTestBundle

Parameters
Name Type Description
xctestApp string Path of the XCTest app (URL or filename with extension .app)
Returns

Promise<void>

Defined in

lib/driver.js:2174


mobileIsAppInstalled

mobileIsAppInstalled: (bundleId: string) => Promise<any> = commands.appManagementExtensions.mobileIsAppInstalled

Type declaration

▸ (bundleId): Promise<any>

Parameters
Name Type
bundleId string
Returns

Promise<any>

Defined in

lib/driver.js:1786


mobileKillApp

mobileKillApp: (bundleId: string) => Promise<boolean> = commands.appManagementExtensions.mobileKillApp

Type declaration

▸ (bundleId): Promise<boolean>

Kill the given bundle id process via instruments service.

See

https://github.com/YueChen-C/py-ios-device/blob/51f4683c5c3c385a015858ada07a5f1c62d3cf57/ios_device/cli/base.py#L220

Parameters
Name Type
bundleId string
Returns

Promise<boolean>

Returns true if the bundle id process was killed. Otherwise false.

Defined in

lib/driver.js:1791


mobileLaunchApp

mobileLaunchApp: (bundleId: string, args?: any, environment?: any) => Promise<any> = commands.appManagementExtensions.mobileLaunchApp

Type declaration

▸ (bundleId, args?, environment?): Promise<any>

Parameters
Name Type
bundleId string
args? any
environment? any
Returns

Promise<any>

Defined in

lib/driver.js:1788


mobileListApps

mobileListApps: (applicationType?: "User" | "System") => Promise<Record<string, any>[]> = commands.appManagementExtensions.mobileListApps

Type declaration

▸ (applicationType?): Promise<Record<string, any>[]>

List applications installed on the real device under test

Parameters
Name Type
applicationType? "User" | "System"
Returns

Promise<Record<string, any>[]>

A list of apps, where each item is a map where keys are bundle identifiers and values are maps of platform-specific app properties.

Defined in

lib/driver.js:1798


mobileListCertificates

mobileListCertificates: () => Promise<any> = commands.certificateExtensions.mobileListCertificates

Type declaration

▸ (): Promise<any>

Lists installed certificates for real devices only if py-ios-device tool is available on the server machine.

Throws

If attempting to list certificates for simulated device or if py-ios-device is not installed

Returns

Promise<any>

Returns map of certificates installed on the real device

Defined in

lib/driver.js:1824


mobileListXCTestBundles

mobileListXCTestBundles: () => Promise<string[]> = commands.xctestExtensions.mobileListXCTestBundles

Type declaration

▸ (): Promise<string[]>

List XCTest bundles that are installed on device

Returns

Promise<string[]>

List of XCTest bundles (e.g.: "XCTesterAppUITests.XCTesterAppUITests/testLaunchPerformance")

Defined in

lib/driver.js:2175


mobileListXCTestsInTestBundle

mobileListXCTestsInTestBundle: (bundle: string) => Promise<string[]> = commands.xctestExtensions.mobileListXCTestsInTestBundle

Type declaration

▸ (bundle): Promise<string[]>

List XCTests in a test bundle

Parameters
Name Type Description
bundle string Bundle ID of the XCTest
Returns

Promise<string[]>

The list of xctests in the test bundle (e.g., ['XCTesterAppUITests.XCTesterAppUITests/testExample', 'XCTesterAppUITests.XCTesterAppUITests/testLaunchPerformance'])

Defined in

lib/driver.js:2176


mobilePerformIoHidEvent

mobilePerformIoHidEvent: (page: string | number, usage: string | number, durationSeconds: string | number) => Promise<any> = commands.iohidExtensions.mobilePerformIoHidEvent

Type declaration

▸ (page, usage, durationSeconds): Promise<any>

Emulates triggering of the given low-level IO HID device event.

See this source header for possible constants

Popular constants: - kHIDPage_Consumer = 0x0C - kHIDUsage_Csmr_VolumeIncrement = 0xE9 (Volume Up) - kHIDUsage_Csmr_VolumeDecrement = 0xEA (Volume Down) - kHIDUsage_Csmr_Menu = 0x40 (Home) - kHIDUsage_Csmr_Power = 0x30 (Power) - kHIDUsage_Csmr_Snapshot = 0x65 (Power + Home)

Parameters
Name Type Description
page string | number The event page identifier
usage string | number The event usage identifier (usages are defined per-page)
durationSeconds string | number The event duration in float seconds (XCTest uses 0.005 for a single press event)
Returns

Promise<any>

Defined in

lib/driver.js:1994


mobilePinch

mobilePinch: (scale: number, velocity: number, elementId?: string | Element<string>) => Promise<any> = commands.gestureExtensions.mobilePinch

Type declaration

▸ (scale, velocity, elementId?): Promise<any>

Parameters
Name Type
scale number
velocity number
elementId? string | Element<string>
Returns

Promise<any>

Defined in

lib/driver.js:1977


mobilePressButton

mobilePressButton: (name: string, durationSeconds?: number) => Promise<any> = commands.generalExtensions.mobilePressButton

Type declaration

▸ (name, durationSeconds?): Promise<any>

Emulates press the given devive button name.

Parameters
Name Type Description
name string The name of the button to be pressed.
durationSeconds? number The duration of the button press in seconds (float).
Returns

Promise<any>

Defined in

lib/driver.js:1951


mobilePullFile

mobilePullFile: (remotePath: string) => Promise<string> = commands.fileMovementExtensions.mobilePullFile

Type declaration

▸ (remotePath): Promise<string>

Pulls a remote file from the device.

Parameters
Name Type Description
remotePath string The full path to the remote file or a specially formatted path, which points to an item inside app bundle. See the documentation for pullFromRealDevice and pullFromSimulator to get more information on acceptable values.
Returns

Promise<string>

The same as in pullFile

Defined in

lib/driver.js:1914


mobilePullFolder

mobilePullFolder: (remotePath: string) => Promise<string> = commands.fileMovementExtensions.mobilePullFolder

Type declaration

▸ (remotePath): Promise<string>

Pulls the whole folder from the device under test.

Parameters
Name Type Description
remotePath string The full path to the remote folder
Returns

Promise<string>

The same as pullFolder

Defined in

lib/driver.js:1918


mobilePushFile

mobilePushFile: (remotePath: string, payload: string) => Promise<void> = commands.fileMovementExtensions.mobilePushFile

Type declaration

▸ (remotePath, payload): Promise<void>

Pushes the given data to a file on the remote device.

Parameters
Name Type Description
remotePath string The full path to the remote file or a specially formatted path, which points to an item inside an app bundle.
payload string Base64-encoded content of the file to be pushed.
Returns

Promise<void>

Defined in

lib/driver.js:1912


mobileQueryAppState

mobileQueryAppState: (bundleId: string) => Promise<AppState> = commands.appManagementExtensions.mobileQueryAppState

Type declaration

▸ (bundleId): Promise<AppState>

Returns the current application state

Parameters
Name Type Description
bundleId string Options set, which must contain bundleId property
Returns

Promise<AppState>

The actual application state code. See https://developer.apple.com/documentation/xctest/xcuiapplicationstate?language=objc to get the list of possible values.

Defined in

lib/driver.js:1792


mobileRemoveApp

mobileRemoveApp: (bundleId: string) => Promise<boolean> = commands.appManagementExtensions.mobileRemoveApp

Type declaration

▸ (bundleId): Promise<boolean>

Parameters
Name Type
bundleId string
Returns

Promise<boolean>

Defined in

lib/driver.js:1787


mobileResetLocationService

mobileResetLocationService: () => Promise<void> = commands.locationExtensions.mobileResetLocationService

Type declaration

▸ (): Promise<void>

Reset the location service on real device. Raises not implemented error for simulator.

Throws

If the device is simulator, or 'resetLocation' raises an error.

Returns

Promise<void>

Defined in

lib/driver.js:2022


mobileResetPermission

mobileResetPermission: (service: number | "calendar" | "camera" | "contacts" | "health" | "homekit" | "keyboardnet" | "location" | "medialibrary" | "microphone" | "photos" | "reminders" | "systemroot" | "userdesktop" | "userdocuments" | "userdownloads" | "bluetooth") => Promise<void> = commands.permissionsExtensions.mobileResetPermission

Type declaration

▸ (service): Promise<void>

Resets the given permission for the active application under test. Works for both Simulator and real devices using Xcode SDK 11.4+

Throws

If permission reset fails on the device.

Parameters
Name Type Description
service number | "calendar" | "camera" | "contacts" | "health" | "homekit" | "keyboardnet" | "location" | "medialibrary" | "microphone" | "photos" | "reminders" | "systemroot" | "userdesktop" | "userdocuments" | "userdownloads" | "bluetooth" One of the available service names. This could also be an integer protected resource identifier; see this list
Returns

Promise<void>

Defined in

lib/driver.js:2082


mobileResetSimulatedLocation

mobileResetSimulatedLocation: () => Promise<any> = commands.geolocationExtensions.mobileResetSimulatedLocation

Type declaration

▸ (): Promise<any>

Resets simulated geolocation value. Only works since Xcode 14.3/iOS 16.4. ! Do not forget to reset the simulated geolocation value after your automated test is finished. ! If the value is not reset explcitly then the simulated one will remain until the next device restart.

Throws

If the device under test does not support gelolocation simulation.

Returns

Promise<any>

Defined in

lib/driver.js:1961


mobileRotateElement

mobileRotateElement: (elementId: string | Element<string>, rotation: number, velocity: number) => Promise<any> = commands.gestureExtensions.mobileRotateElement

Type declaration

▸ (elementId, rotation, velocity): Promise<any>

Parameters
Name Type
elementId string | Element<string>
rotation number
velocity number
Returns

Promise<any>

Defined in

lib/driver.js:1987


mobileRunXCTest

mobileRunXCTest: (testRunnerBundleId: string, appUnderTestBundleId: string, xcTestBundleId: string, args: string[], testType: "app" | "ui" | "logic", env?: any, timeout: number) => Promise<RunXCUITestResponse> = commands.xctestExtensions.mobileRunXCTest

Type declaration

▸ (testRunnerBundleId, appUnderTestBundleId, xcTestBundleId, args?, testType?, env?, timeout?): Promise<RunXCUITestResponse>

Run an XCTest.

Launches a subprocess that runs the XC Test and blocks until it is complete. Parses the stdout of the process and returns result as an array.

See the idb docs for reference.

Throws

Error thrown if subprocess returns non-zero exit code

Parameters
Name Type Default value Description
testRunnerBundleId string undefined Test app bundle (e.g.: io.appium.XCTesterAppUITests.xctrunner)
appUnderTestBundleId string undefined App-under-test bundle
xcTestBundleId string undefined XCTest bundle ID
args string[] [] Launch arguments to start the test with (see reference documentation)
testType "app" | "ui" | "logic" 'ui' XC test type
env? any undefined Environment variables passed to test
timeout number XCTEST_TIMEOUT Timeout if session doesn't complete after given time (in milliseconds)
Returns

Promise<RunXCUITestResponse>

Defined in

lib/driver.js:2173


mobileScroll

mobileScroll: (name?: string, direction?: Direction, predicateString?: string, toVisible?: boolean, distance?: number, elementId?: string | Element<string>) => Promise<any> = commands.gestureExtensions.mobileScroll

Type declaration

▸ (name?, direction?, predicateString?, toVisible?, distance?, elementId?): Promise<any>

Parameters
Name Type
name? string
direction? Direction
predicateString? string
toVisible? boolean
distance? number
elementId? string | Element<string>
Returns

Promise<any>

Defined in

lib/driver.js:1975


mobileScrollToElement

mobileScrollToElement: (elementId: string | Element<string>) => Promise<any> = commands.gestureExtensions.mobileScrollToElement

Type declaration

▸ (elementId): Promise<any>

See https://github.com/facebook/WebDriverAgent/blob/master/WebDriverAgentLib/Commands/FBElementCommands.m to get the info about available WDA gestures API

See https://developer.apple.com/reference/xctest/xcuielement and https://developer.apple.com/reference/xctest/xcuicoordinate to get the detailed description of all XCTest gestures

Parameters
Name Type
elementId string | Element<string>
Returns

Promise<any>

Defined in

lib/driver.js:1974


mobileSelectPickerWheelValue

mobileSelectPickerWheelValue: (elementId: string | Element<string>, order: "next" | "previous", offset?: number) => Promise<any> = commands.gestureExtensions.mobileSelectPickerWheelValue

Type declaration

▸ (elementId, order, offset?): Promise<any>

Performs selection of the next or previous picker wheel value. This might be useful if these values are populated dynamically (so you don't know which one to select) or if value selection using the sendKeys API does not work due to an XCTest bug. The method throws an exception if it fails to change the current picker value.

Parameters
Name Type Description
elementId string | Element<string> The element id for the picker wheel
order "next" | "previous" The order in which to select the value. Either next or previous
offset? number The offset from the start of the picker wheel. This is useful if there are multiple picker wheels on the screen
Returns

Promise<any>

Defined in

lib/driver.js:1986


mobileSetAppearance

mobileSetAppearance: (style: "dark" | "light") => Promise<undefined> = commands.appearanceExtensions.mobileSetAppearance

Type declaration

▸ (style): Promise<undefined>

Set the device's UI appearance style

Since

iOS 12.0

Throws

if the current platform does not support UI appearance changes

Parameters
Name Type Description
style "dark" | "light" The appearance style to set
Returns

Promise<undefined>

Defined in

lib/driver.js:1804


mobileSetPasteboard

mobileSetPasteboard: (content: string, encoding: string) => Promise<any> = commands.pasteboardExtensions.mobileSetPasteboard

Type declaration

▸ (content, encoding?): Promise<any>

Parameters
Name Type Default value
content string undefined
encoding string 'utf8'
Returns

Promise<any>

Defined in

lib/driver.js:2062


mobileSetSimulatedLocation

mobileSetSimulatedLocation: (opts: GeolocationInfo) => Promise<any> = commands.geolocationExtensions.mobileSetSimulatedLocation

Type declaration

▸ (opts): Promise<any>

Sets simulated geolocation value. Only works since Xcode 14.3/iOS 16.4

Throws

If the device under test does not support gelolocation simulation.

Parameters
Name Type
opts GeolocationInfo
Returns

Promise<any>

Defined in

lib/driver.js:1960


mobileSiriCommand

mobileSiriCommand: (text: string) => Promise<any> = commands.generalExtensions.mobileSiriCommand

Type declaration

▸ (text): Promise<any>

Parameters
Name Type Description
text string Text to be sent to Siri
Returns

Promise<any>

Defined in

lib/driver.js:1952


mobileStartLogsBroadcast

mobileStartLogsBroadcast: () => Promise<void> = commands.logExtensions.mobileStartLogsBroadcast

Type declaration

▸ (): Promise<void>

Starts iOS system logs broadcast websocket on the same host and port where Appium server is running at /ws/session/:sessionId:/appium/syslog endpoint. The method will return immediately if the web socket is already listening.

Each connected webcoket listener will receive syslog lines as soon as they are visible to Appium.

Returns

Promise<void>

Defined in

lib/driver.js:2038


mobileStartPcap

mobileStartPcap: (timeLimitSec: number, forceRestart: boolean) => Promise<void> = commands.pcapExtensions.mobileStartPcap

Type declaration

▸ (timeLimitSec?, forceRestart?): Promise<void>

Records the given network traffic capture into a .pcap file.

Throws

If network traffic capture has failed to start.

Parameters
Name Type Default value Description
timeLimitSec number 180 The maximum recording time, in seconds. The maximum value is 43200 (12 hours).
forceRestart boolean false Whether to restart traffic capture process forcefully when startPcap is called (true) or ignore the call until the current traffic capture is completed (false, the default value).
Returns

Promise<void>

Defined in

lib/driver.js:2069


mobileStartPerfRecord

mobileStartPerfRecord: (timeout: number, profileName: string, pid?: number | "current") => Promise<void> = commands.performanceExtensions.mobileStartPerfRecord

Type declaration

▸ (timeout?, profileName?, pid?): Promise<void>

Starts performance profiling for the device under test.

Relaxing security is mandatory for simulators. It can always work for real devices.

Since XCode 14 the method tries to use xctrace tool to record performance stats.

The instruments developer utility is used as a fallback for this purpose if xctrace is not available.

It is possible to record multiple profiles at the same time.

Read Recording, Pausing, and Stopping Traces for more details.

Parameters
Name Type Default value Description
timeout number DEFAULT_TIMEOUT_MS The maximum count of milliseconds to record the profiling information.
profileName string DEFAULT_PROFILE_NAME The name of existing performance profile to apply. Can also contain the full path to the chosen template on the server file system. Note: not all profiles are supported on mobile devices.
pid? number | "current" undefined The ID of the process to measure the performance for. Set it to current in order to measure the performance of the process, which belongs to the currently active application. All processes running on the device are measured if pid is unset (the default setting).
Returns

Promise<void>

Defined in

lib/driver.js:2075


mobileStopLogsBroadcast

mobileStopLogsBroadcast: () => Promise<void> = commands.logExtensions.mobileStopLogsBroadcast

Type declaration

▸ (): Promise<void>

Stops the previously started syslog broadcasting wesocket server. This method will return immediately if no server is running.

Returns

Promise<void>

Defined in

lib/driver.js:2039


mobileStopPcap

mobileStopPcap: () => Promise<string> = commands.pcapExtensions.mobileStopPcap

Type declaration

▸ (): Promise<string>

Stop capture of the device network traffic. If no traffic capture process is running then the endpoint will try to get the recently recorded file. If no previously recorded file is found and no active traffic capture processes are running then the method returns an empty string.

Throws

If there was an error while getting the capture file.

Returns

Promise<string>

Base64-encoded content of the recorded pcap file or an empty string if no traffic capture has been started before.

Defined in

lib/driver.js:2070


mobileStopPerfRecord

mobileStopPerfRecord: (remotePath?: string, user?: string, pass?: string, method?: Method, profileName: string, headers?: Record<string, any>, fileFieldName?: string, formFields?: [string, any][] | Record<string, any>) => Promise<string> = commands.performanceExtensions.mobileStopPerfRecord

Type declaration

▸ (remotePath?, user?, pass?, method?, profileName?, headers?, fileFieldName?, formFields?): Promise<string>

Stops performance profiling for the device under test.

The resulting file in .trace format can be either returned directly as base64-encoded zip archive or uploaded to a remote location (such files can be pretty large). Afterwards it is possible to unarchive and open such files with Xcode Dev Tools.

Throws

If no performance recording with given profile name/device udid combination has been started before or the resulting .trace file has not been generated properly.

Parameters
Name Type Default value Description
remotePath? string undefined The path to the remote location, where the resulting zipped .trace file should be uploaded. The following protocols are supported: http, https, ftp. Null or empty string value (the default setting) means the content of resulting file should be zipped, encoded as Base64 and passed as the endpoint response value. An exception will be thrown if the generated file is too big to fit into the available process memory.
user? string undefined The name of the user for the remote authentication. Only works if remotePath is provided.
pass? string undefined The password for the remote authentication. Only works if remotePath is provided.
method? Method undefined The http multipart upload method name. Only works if remotePath is provided. Defaults to PUT
profileName string DEFAULT_PROFILE_NAME The name of an existing performance profile for which the recording has been made.
headers? Record<string, any> undefined Additional headers mapping for multipart http(s) uploads
fileFieldName? string undefined The name of the form field, where the file content BLOB should be stored for http(s) uploads. Defaults to file
formFields? [string, any][] | Record<string, any> undefined Additional form fields for multipart http(s) uploads
Returns

Promise<string>

Either an empty string if the upload was successful or base-64 encoded content of zipped .trace file.

Defined in

lib/driver.js:2076


mobileSwipe

mobileSwipe: (direction: Direction, velocity?: number, elementId?: string | Element<string>) => Promise<any> = commands.gestureExtensions.mobileSwipe

Type declaration

▸ (direction, velocity?, elementId?): Promise<any>

Parameters
Name Type
direction Direction
velocity? number
elementId? string | Element<string>
Returns

Promise<any>

Defined in

lib/driver.js:1976


mobileTap

mobileTap: (x: number, y: number, elementId?: string | Element<string>) => Promise<any> = commands.gestureExtensions.mobileTap

Type declaration

▸ (x, y, elementId?): Promise<any>

Parameters
Name Type Default value
x number undefined
y number undefined
elementId? string | Element<string> '0'
Returns

Promise<any>

Defined in

lib/driver.js:1981


mobileTapWithNumberOfTaps

mobileTapWithNumberOfTaps: (elementId: string | Element<string>, numberOfTaps: number, numberOfTouches: number) => Promise<any> = commands.gestureExtensions.mobileTapWithNumberOfTaps

Type declaration

▸ (elementId, numberOfTaps, numberOfTouches): Promise<any>

Parameters
Name Type
elementId string | Element<string>
numberOfTaps number
numberOfTouches number
Returns

Promise<any>

Defined in

lib/driver.js:1984


mobileTerminateApp

mobileTerminateApp: (bundleId: string) => Promise<any> = commands.appManagementExtensions.mobileTerminateApp

Type declaration

▸ (bundleId): Promise<any>

Parameters
Name Type
bundleId string
Returns

Promise<any>

Defined in

lib/driver.js:1789


mobileTouchAndHold

mobileTouchAndHold: (duration: number, x?: number, y?: number, elementId?: string | Element<string>) => Promise<any> = commands.gestureExtensions.mobileTouchAndHold

Type declaration

▸ (duration, x?, y?, elementId?): Promise<any>

Parameters
Name Type
duration number
x? number
y? number
elementId? string | Element<string>
Returns

Promise<any>

Defined in

lib/driver.js:1980


mobileTwoFingerTap

mobileTwoFingerTap: (elementId?: string | Element<string>) => Promise<any> = commands.gestureExtensions.mobileTwoFingerTap

Type declaration

▸ (elementId?): Promise<any>

Parameters
Name Type
elementId? string | Element<string>
Returns

Promise<any>

Defined in

lib/driver.js:1979


mobileWebNav

mobileWebNav: (navType: string) => Promise<void> = commands.webExtensions.mobileWebNav

Type declaration

▸ (navType): Promise<void>

Parameters
Name Type
navType string
Returns

Promise<void>

Defined in

lib/driver.js:2166


moveTo

moveTo: (el: string | Element<string>, xoffset: number, yoffset: number) => Promise<void> = commands.gestureExtensions.moveTo

Type declaration

▸ (el, xoffset?, yoffset?): Promise<void>

Move the mouse pointer to a particular screen location

Deprecated

Use performActions instead

Parameters
Name Type Default value Description
el string | Element<string> undefined the element ID if the move is relative to an element
xoffset number 0 the x offset
yoffset number 0 the y offset
Returns

Promise<void>

Defined in

lib/driver.js:1966


nativeBack

nativeBack: () => Promise<void> = commands.navigationExtensions.nativeBack

Type declaration

▸ (): Promise<void>

Returns

Promise<void>

Defined in

lib/driver.js:2048


nativeWebTap

nativeWebTap: (el: any) => Promise<void> = commands.webExtensions.nativeWebTap

Type declaration

▸ (el): Promise<void>

Parameters
Name Type
el any
Returns

Promise<void>

Defined in

lib/driver.js:2162


newCommandTimeoutMs

newCommandTimeoutMs: number

Inherited from

BaseDriver.newCommandTimeoutMs

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:57


noCommandTimer

noCommandTimer: null | Timeout

Inherited from

BaseDriver.noCommandTimer

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:67


onPageChange

onPageChange: (pageChangeNotification: PageChangeNotification) => Promise<void> = commands.contextExtensions.onPageChange

Type declaration

▸ (pageChangeNotification): Promise<void>

Parameters
Name Type
pageChangeNotification PageChangeNotification
Returns

Promise<void>

Defined in

lib/driver.js:1857


opts

opts: XCUITestDriverOpts

Overrides

BaseDriver.opts

Defined in

lib/driver.js:251


originalCaps

originalCaps: W3CDriverCaps<{ absoluteWebLocations: { isBoolean: true = true } ; additionalWebviewBundleIds: {} = {}; agentPath: { isString: true = true } ; allowProvisioningDeviceRegistration: { isBoolean: true = true } ; app: { isString: true = true } ; appInstallStrategy: { inclusionCaseInsensitive: readonly ["serial", "parallel", "ios-deploy"] ; isString: true = true } ; appPushTimeout: { isNumber: true = true } ; autoAcceptAlerts: { isBoolean: true = true } ; autoDismissAlerts: { isBoolean: true = true } ; bootstrapPath: { isString: true = true } ; browserName: { isString: true = true } ; bundleId: { isString: true = true } ; calendarAccessAuthorized: { isBoolean: true = true } ; calendarFormat: { isString: true = true } ; clearSystemFiles: { isBoolean: true = true } ; commandTimeouts: {} = {}; connectHardwareKeyboard: { isBoolean: true = true } ; customSSLCert: { isString: true = true } ; derivedDataPath: { isString: true = true } ; deviceName: { isString: true = true } ; disableAutomaticScreenshots: { isBoolean: true = true } ; enableAsyncExecuteFromHttps: { isBoolean: true = true } ; enablePerformanceLogging: { isBoolean: true = true } ; enforceAppInstall: { isBoolean: true = true } ; enforceFreshSimulatorCreation: { isBoolean: true = true } ; forceAppLaunch: { isBoolean: true = true } ; forceTurnOnSoftwareKeyboardSimulator: { isBoolean: true = true } ; fullContextList: { isBoolean: true = true } ; ignoreAboutBlankUrl: { isBoolean: true = true } ; includeDeviceCapsToSessionInfo: { isBoolean: true = true } ; includeSafariInWebviews: { isBoolean: true = true } ; iosInstallPause: { isNumber: true = true } ; iosSimulatorLogsPredicate: { isString: true = true } ; isHeadless: { isBoolean: true = true } ; keepKeyChains: { isBoolean: true = true } ; keychainPassword: { isString: true = true } ; keychainPath: { isString: true = true } ; keychainsExcludePatterns: { isString: true = true } ; launchWithIDB: { isBoolean: true = true } ; localizableStringsDir: { isString: true = true } ; maxTypingFrequency: { isNumber: true = true } ; mjpegScreenshotUrl: { isString: true = true } ; mjpegServerPort: { isNumber: true = true } ; nativeTyping: { isBoolean: true = true } ; nativeWebTap: { isBoolean: true = true } ; nativeWebTapStrict: { isBoolean: true = true } ; otherApps: { isString: true = true } ; permissions: { isString: true = true } ; platformName: { inclusionCaseInsensitive: readonly ["iOS", "tvOS"] ; isString: true = true; presence: true = true } ; prebuildWDA: { isBoolean: true = true } ; processArguments: {} = {}; reduceMotion: { isBoolean: true = true } ; reduceTransparency: { isBoolean: true = true } ; remoteDebugProxy: { isString: true = true } ; resetLocationService: { isBoolean: true = true } ; resetOnSessionStartOnly: { isBoolean: true = true } ; resultBundlePath: { isString: true = true } ; resultBundleVersion: { isNumber: true = true } ; safariAllowPopups: { isBoolean: true = true } ; safariGarbageCollect: { isBoolean: true = true } ; safariGlobalPreferences: { isObject: true = true } ; safariIgnoreFraudWarning: { isBoolean: true = true } ; safariIgnoreWebHostnames: { isString: true = true } ; safariInitialUrl: { isString: true = true } ; safariLogAllCommunication: { isBoolean: true = true } ; safariLogAllCommunicationHexDump: { isBoolean: true = true } ; safariOpenLinksInBackground: { isBoolean: true = true } ; safariShowFullResponse: { isBoolean: true = true } ; safariSocketChunkSize: { isNumber: true = true } ; safariWebInspectorMaxFrameLength: { isNumber: true = true } ; scaleFactor: { isString: true = true } ; screenshotQuality: { isNumber: true = true } ; shouldTerminateApp: { isBoolean: true = true } ; shouldUseSingletonTestManager: { isBoolean: true = true } ; showIOSLog: { isBoolean: true = true } ; showSafariConsoleLog: { isBoolean: true = true } ; showSafariNetworkLog: { isBoolean: true = true } ; showXcodeLog: { isBoolean: true = true } ; shutdownOtherSimulators: { isBoolean: true = true } ; simpleIsVisibleCheck: { isBoolean: true = true } ; simulatorDevicesSetPath: { isString: true = true } ; simulatorPasteboardAutomaticSync: { isString: true = true } ; simulatorStartupTimeout: { isNumber: true = true } ; simulatorTracePointer: { isBoolean: true = true } ; simulatorWindowCenter: { isString: true = true } ; skipLogCapture: { isBoolean: true = true } ; udid: { isString: true = true } ; updatedWDABundleId: { isString: true = true } ; useJSONSource: { isBoolean: true = true } ; useNativeCachingStrategy: { isBoolean: true = true } ; useNewWDA: { isBoolean: true = true } ; usePrebuiltWDA: { isBoolean: true = true } ; useSimpleBuildTest: { isBoolean: true = true } ; useXctestrunFile: { isBoolean: true = true } ; waitForIdleTimeout: { isNumber: true = true } ; waitForQuiescence: { isBoolean: true = true } ; wdaBaseUrl: { isString: true = true } ; wdaConnectionTimeout: { isNumber: true = true } ; wdaEventloopIdleDelay: { isNumber: true = true } ; wdaLaunchTimeout: { isNumber: true = true } ; wdaLocalPort: { isNumber: true = true } ; wdaStartupRetries: { isNumber: true = true } ; wdaStartupRetryInterval: { isNumber: true = true } ; webDriverAgentUrl: { isString: true = true } ; webkitResponseTimeout: { isNumber: true = true } ; webviewConnectRetries: { isNumber: true = true } ; webviewConnectTimeout: { isNumber: true = true } ; xcodeConfigFile: { isString: true = true } ; xcodeOrgId: { isString: true = true } ; xcodeSigningId: { isString: true = true } }>

The original capabilities used to start the session represented by the current driver instance

Inherited from

BaseDriver.originalCaps

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/driver.d.ts:6


pageLoadMs

pageLoadMs: undefined | number

Defined in

lib/driver.js:333


pageLoadTimeoutMJSONWP

pageLoadTimeoutMJSONWP: (ms: any) => Promise<void> = commands.timeoutExtensions.pageLoadTimeoutMJSONWP

Type declaration

▸ (ms): Promise<void>

Parameters
Name Type
ms any
Returns

Promise<void>

Overrides

BaseDriver.pageLoadTimeoutMJSONWP

Defined in

lib/driver.js:2126


pageLoadTimeoutW3C

pageLoadTimeoutW3C: (ms: any) => Promise<void> = commands.timeoutExtensions.pageLoadTimeoutW3C

Type declaration

▸ (ms): Promise<void>

Parameters
Name Type
ms any
Returns

Promise<void>

Overrides

BaseDriver.pageLoadTimeoutW3C

Defined in

lib/driver.js:2125


performActions

performActions: (actions: any) => Promise<any> = commands.gestureExtensions.performActions

Type declaration

▸ (actions): Promise<any>

Parameters
Name Type
actions any
Returns

Promise<any>

Defined in

lib/driver.js:1970


performTouch

performTouch: (gestures: any[]) => Promise<any> = commands.gestureExtensions.performTouch

Type declaration

▸ (gestures): Promise<any>

Perform a set of touch actions

Deprecated

Use performActions instead

Parameters
Name Type Description
gestures any[] the old MJSONWP style touch action objects
Returns

Promise<any>

Defined in

lib/driver.js:1971


postAcceptAlert

postAcceptAlert: (opts: { buttonLabel?: string }) => Promise<any> = commands.alertExtensions.postAcceptAlert

Type declaration

▸ (opts?): Promise<any>

Parameters
Name Type
opts Object
opts.buttonLabel? string
Returns

Promise<any>

Defined in

lib/driver.js:1776


postDismissAlert

postDismissAlert: (opts: { buttonLabel?: string }) => Promise<any> = commands.alertExtensions.postDismissAlert

Type declaration

▸ (opts?): Promise<any>

Parameters
Name Type
opts Object
opts.buttonLabel? string
Returns

Promise<any>

Defined in

lib/driver.js:1777


protocol

protocol: undefined | string

Inherited from

BaseDriver.protocol

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:155


proxyCommand

proxyCommand: (endpoint: string, method: AllowedHttpMethod, body?: any, isSessionCommand: boolean) => Promise<any> = commands.proxyHelperExtensions.proxyCommand

Type declaration

▸ (endpoint, method, body?, isSessionCommand?): Promise<any>

Parameters
Name Type Default value
endpoint string undefined
method AllowedHttpMethod undefined
body? any undefined
isSessionCommand boolean true
Returns

Promise<any>

Defined in

lib/driver.js:2090


proxyReqRes

proxyReqRes: any

Defined in

lib/driver.js:322

lib/driver.js:824

lib/driver.js:972


pullFile

pullFile: (remotePath: string) => Promise<string> = commands.fileMovementExtensions.pullFile

Type declaration

▸ (remotePath): Promise<string>

Pulls a remote file from the device.

Throws

If the pull operation failed

Parameters
Name Type Description
remotePath string The full path to the remote file or a specially formatted path, which points to an item inside app bundle. See the documentation for pullFromRealDevice and pullFromSimulator to get more information on acceptable values.
Returns

Promise<string>

Base64 encoded content of the pulled file

Defined in

lib/driver.js:1913


pullFolder

pullFolder: (remotePath: string) => Promise<string> = commands.fileMovementExtensions.pullFolder

Type declaration

▸ (remotePath): Promise<string>

Pulls the whole folder from the remote device

Throws

If there was a failure while getting the folder content

Parameters
Name Type Description
remotePath string The full path to a folder on the remote device or a folder inside an application bundle
Returns

Promise<string>

Zipped and base64-encoded content of the folder

Defined in

lib/driver.js:1917


pushFile

pushFile: (remotePath: string, base64Data: string) => Promise<void> = commands.fileMovementExtensions.pushFile

Type declaration

▸ (remotePath, base64Data): Promise<void>

Pushes the given data to a file on the remote device

Throws

If there was an error while pushing the data

Parameters
Name Type Description
remotePath string The full path to the remote file or a file inside a package bundle. Check the documentation on pushFileToRealDevice and pushFileToSimulator for more information on acceptable values.
base64Data string Base64 encoded data to be written to the remote file. The remote file will be silently overridden if it already exists.
Returns

Promise<void>

Defined in

lib/driver.js:1911


queryAppState

queryAppState: (bundleId: string) => Promise<AppState> = commands.appManagementExtensions.queryAppState

Type declaration

▸ (bundleId): Promise<AppState>

Parameters
Name Type
bundleId string
Returns

Promise<AppState>

Defined in

lib/driver.js:1797


receiveAsyncResponse

receiveAsyncResponse: (status: any, value: any) => Promise<void> = commands.executeExtensions.receiveAsyncResponse

Type declaration

▸ (status, value): Promise<void>

Collect the response of an async script execution

Deprecated

Parameters
Name Type
status any
value any
Returns

Promise<void>

Defined in

lib/driver.js:1902


relaxedSecurityEnabled

relaxedSecurityEnabled: boolean

Inherited from

BaseDriver.relaxedSecurityEnabled

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:51


releaseActions

releaseActions: () => Promise<void> = commands.gestureExtensions.releaseActions

Type declaration

▸ (): Promise<void>

Returns

Promise<void>

Defined in

lib/driver.js:1969


remote

remote: any

Defined in

lib/driver.js:335


removeApp

removeApp: (bundleId: any) => Promise<boolean> = commands.generalExtensions.removeApp

Type declaration

▸ (bundleId): Promise<boolean>

Parameters
Name Type
bundleId any
Returns

Promise<boolean>

Defined in

lib/driver.js:1943


resetOnUnexpectedShutdown

resetOnUnexpectedShutdown: any

Defined in

lib/driver.js:1755

lib/driver.js:1759


safari

safari: undefined | boolean

Defined in

lib/driver.js:323

lib/driver.js:532


scriptTimeoutMJSONWP

scriptTimeoutMJSONWP: (ms: number) => Promise<void> = commands.timeoutExtensions.scriptTimeoutMJSONWP

Type declaration

▸ (ms): Promise<void>

Alias for scriptTimeoutW3C.

Deprecated

Use scriptTimeoutW3C instead

Parameters
Name Type Description
ms number the timeout
Returns

Promise<void>

Overrides

BaseDriver.scriptTimeoutMJSONWP

Defined in

lib/driver.js:2128


scriptTimeoutW3C

scriptTimeoutW3C: (ms: any) => Promise<void> = commands.timeoutExtensions.scriptTimeoutW3C

Type declaration

▸ (ms): Promise<void>

Parameters
Name Type
ms any
Returns

Promise<void>

Overrides

BaseDriver.scriptTimeoutW3C

Defined in

lib/driver.js:2127


selectingNewPage

selectingNewPage: undefined | boolean

Defined in

lib/driver.js:191


server

Optional server: AppiumServer

Inherited from

BaseDriver.server

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/driver.d.ts:9


serverHost

Optional serverHost: string

Inherited from

BaseDriver.serverHost

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/driver.d.ts:10


serverPath

Optional serverPath: string

Inherited from

BaseDriver.serverPath

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/driver.d.ts:12


serverPort

Optional serverPort: number

Inherited from

BaseDriver.serverPort

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/driver.d.ts:11


sessionId

sessionId: null | string

Inherited from

BaseDriver.sessionId

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:29


setAlertText

setAlertText: (value: string) => Promise<any> = commands.alertExtensions.setAlertText

Type declaration

▸ (value): Promise<any>

Parameters
Name Type
value string
Returns

Promise<any>

Defined in

lib/driver.js:1775


setAsyncScriptTimeout

setAsyncScriptTimeout: (ms: any) => void = commands.timeoutExtensions.setAsyncScriptTimeout

Type declaration

▸ (ms): void

Parameters
Name Type
ms any
Returns

void

Defined in

lib/driver.js:2131


setClipboard

setClipboard: (content: string, contentType?: string) => Promise<void> = commands.clipboardExtensions.setClipboard

Type declaration

▸ (content, contentType?): Promise<void>

Sets the primary clipboard's content on the device under test.

Parameters
Name Type Description
content string The content to be set as base64 encoded string.
contentType? string The type of the content to set. Only plaintext, 'image and 'url' are supported.
Returns

Promise<void>

Defined in

lib/driver.js:1831


setContext

setContext: (name: string | Context, callback?: any, skipReadyCheck: boolean) => Promise<void> = commands.contextExtensions.setContext

Type declaration

▸ (name, callback?, skipReadyCheck?): Promise<void>

Set context

Parameters
Name Type Default value Description
name string | Context undefined The name of context to set. It could be 'null' as NATIVE_WIN.
callback? any undefined The callback. (It is not called in this method)
skipReadyCheck boolean false Whether it waits for the new context is ready
Returns

Promise<void>

Defined in

lib/driver.js:1850


setCurrentUrl

setCurrentUrl: (url: any) => void = commands.contextExtensions.setCurrentUrl

Type declaration

▸ (url): void

Parameters
Name Type
url any
Returns

void

Defined in

lib/driver.js:1864


setGeoLocation

setGeoLocation: (location: Partial<Location>) => Promise<void> = commands.locationExtensions.setGeoLocation

Type declaration

▸ (location): Promise<void>

Parameters
Name Type
location Partial<Location>
Returns

Promise<void>

Defined in

lib/driver.js:2021


setPageLoadTimeout

setPageLoadTimeout: (ms: any) => void = commands.timeoutExtensions.setPageLoadTimeout

Type declaration

▸ (ms): void

Parameters
Name Type
ms any
Returns

void

Defined in

lib/driver.js:2130


setUrl

setUrl: (url: any) => Promise<void> = commands.generalExtensions.setUrl

Type declaration

▸ (url): Promise<void>

Parameters
Name Type
url any
Returns

Promise<void>

Defined in

lib/driver.js:1946


setValue

setValue: (value: any, el: any) => Promise<void> = commands.elementExtensions.setValue

Type declaration

▸ (value, el): Promise<void>

Parameters
Name Type
value any
el any
Returns

Promise<void>

Defined in

lib/driver.js:1891


setValueImmediate

setValueImmediate: (value: string, el: string) => Promise<void> = commands.elementExtensions.setValueImmediate

Type declaration

▸ (value, el): Promise<void>

Deprecated

Parameters
Name Type
value string
el string
Returns

Promise<void>

Defined in

lib/driver.js:1890


setWindow

setWindow: (name: any, skipReadyCheck: any) => Promise<void> = commands.contextExtensions.setWindow

Type declaration

▸ (name, skipReadyCheck): Promise<void>

Parameters
Name Type
name any
skipReadyCheck any
Returns

Promise<void>

Defined in

lib/driver.js:1851


settings

settings: DeviceSettings<{ elementResponseAttributes: string = 'type,label'; mjpegScalingFactor: number = 100; mjpegServerFramerate: number = 10; mjpegServerScreenshotQuality: number = 25; nativeWebTap: boolean = false; nativeWebTapStrict: boolean = false; reduceMotion: null = null; screenshotQuality: number = 1; shouldUseCompactResponses: boolean = true; useJSONSource: boolean = false }>

settings should be instantiated by drivers which extend BaseDriver, but we set it to an empty DeviceSettings instance here to make sure that the default settings are applied even if an extending driver doesn't utilize the settings functionality itself

Inherited from

BaseDriver.settings

Defined in

lib/driver.js:296


shouldValidateCaps

shouldValidateCaps: boolean

Inherited from

BaseDriver.shouldValidateCaps

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:83


shutdownUnexpectedly

shutdownUnexpectedly: boolean

Inherited from

BaseDriver.shutdownUnexpectedly

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:79


startLogCapture

startLogCapture: () => Promise<boolean> = commands.logExtensions.startLogCapture

Type declaration

▸ (): Promise<boolean>

Returns

Promise<boolean>

Defined in

lib/driver.js:2037


startRecordingScreen

startRecordingScreen: (options?: StartRecordingScreenOptions) => Promise<string> = commands.recordScreenExtensions.startRecordingScreen

Type declaration

▸ (options?): Promise<string>

Direct Appium to start recording the device screen

Record the display of devices running iOS Simulator since Xcode 9 or real devices since iOS 11 (ffmpeg utility is required: 'brew install ffmpeg'). It records screen activity to a MPEG-4 file. Audio is not recorded with the video file. If screen recording has been already started then the command will stop it forcefully and start a new one. The previously recorded video file will be deleted.

Throws

If screen recording has failed to start.

Parameters
Name Type Description
options? StartRecordingScreenOptions The available options.
Returns

Promise<string>

Base64-encoded content of the recorded media file if any screen recording is currently running or an empty string.

Defined in

lib/driver.js:2104


stopAudioRecording

stopAudioRecording: () => Promise<string> = commands.recordAudioExtensions.stopAudioRecording

Type declaration

▸ (): Promise<string>

Stop recording of the audio input. If no audio recording process is running then the endpoint will try to get the recently recorded file. If no previously recorded file is found and no active audio recording processes are running then the method returns an empty string.

Throws

If there was an error while getting the recorded file.

Returns

Promise<string>

Base64-encoded content of the recorded media file or an empty string if no audio recording has been started before.

Defined in

lib/driver.js:2097


stopRecordingScreen

stopRecordingScreen: (options: StopRecordingScreenOptions) => Promise<null | string> = commands.recordScreenExtensions.stopRecordingScreen

Type declaration

▸ (options?): Promise<null | string>

Direct Appium to stop screen recording and return the video

If no screen recording process is running then the endpoint will try to get the recently recorded file. If no previously recorded file is found and no active screen recording processes are running then the method returns an empty string.

Throws

If there was an error while getting the name of a media file or the file content cannot be uploaded to the remote location.

Parameters
Name Type Description
options StopRecordingScreenOptions The available options.
Returns

Promise<null | string>

Base64-encoded content of the recorded media file if remotePath parameter is empty or null or an empty string.

Defined in

lib/driver.js:2105


stopRemote

stopRemote: (closeWindowBeforeDisconnecting: boolean) => Promise<void> = commands.contextExtensions.stopRemote

Type declaration

▸ (closeWindowBeforeDisconnecting?): Promise<void>

Parameters
Name Type Default value
closeWindowBeforeDisconnecting boolean false
Returns

Promise<void>

Defined in

lib/driver.js:1865


supportedLogTypes

supportedLogTypes: LogDefRecord = commands.logExtensions.supportedLogTypes

Definition of the available log types

Overrides

BaseDriver.supportedLogTypes

Defined in

lib/driver.js:2036


terminateApp

terminateApp: (bundleId: string) => Promise<any> = commands.appManagementExtensions.terminateApp

Type declaration

▸ (bundleId): Promise<any>

Parameters
Name Type
bundleId string
Returns

Promise<any>

Defined in

lib/driver.js:1796


toggleEnrollTouchId

toggleEnrollTouchId: (isEnabled: boolean) => Promise<void> = commands.generalExtensions.toggleEnrollTouchId

Type declaration

▸ (isEnabled?): Promise<void>

Toggle whether the device is enrolled in the touch ID program

Parameters
Name Type Default value Description
isEnabled boolean true whether to enable or disable the touch ID program
Returns

Promise<void>

Defined in

lib/driver.js:1936


touchId

touchId: (match: boolean) => Promise<void> = commands.generalExtensions.touchId

Type declaration

▸ (match?): Promise<void>

Trigger a touch/fingerprint match or match failure

Parameters
Name Type Default value Description
match boolean true whether the match should be a success or failure
Returns

Promise<void>

Defined in

lib/driver.js:1935


translateWebCoords

translateWebCoords: (coords: any) => Promise<undefined | { x: any ; y: any }> = commands.webExtensions.translateWebCoords

Type declaration

▸ (coords): Promise<undefined | { x: any ; y: any }>

Parameters
Name Type
coords any
Returns

Promise<undefined | { x: any ; y: any }>

Defined in

lib/driver.js:2163


unlock

unlock: () => Promise<void> = commands.lockExtensions.unlock

Type declaration

▸ (): Promise<void>

Unlock the device

Returns

Promise<void>

Defined in

lib/driver.js:2028


updateSettings

updateSettings: (settings: StringRecord<any>) => Promise<void>

Type declaration

▸ (settings): Promise<void>

Update the session's settings dictionary with a new settings object

Parameters
Name Type Description
settings StringRecord<any> A key-value map of setting names to values. Settings not named in the map will not have their value adjusted.
Returns

Promise<void>

Inherited from

BaseDriver.updateSettings

Defined in

node_modules/@appium/types/build/lib/driver.d.ts:316


useNewSafari

useNewSafari: () => any = commands.contextExtensions.useNewSafari

Type declaration

▸ (): any

Right now we don't necessarily wait for webview and frame to load, which leads to race conditions and flakiness, let's see if we can transition to something better

Returns

any

Defined in

lib/driver.js:1858


waitForAtom

waitForAtom: (promise: Promise<any>) => Promise<any> = commands.webExtensions.waitForAtom

Type declaration

▸ (promise): Promise<any>

Parameters
Name Type
promise Promise<any>
Returns

Promise<any>

Defined in

lib/driver.js:2165


wda

wda: any

Defined in

lib/driver.js:318

lib/driver.js:554


wdaCaps

wdaCaps: any

Defined in

lib/driver.js:1722


webElementsCache

webElementsCache: LRUCache<any, any>

Defined in

lib/driver.js:230


webLocatorStrategies

webLocatorStrategies: string[]

Inherited from

BaseDriver.webLocatorStrategies

Defined in

lib/driver.js:277


windowHandleCache

windowHandleCache: undefined | Page[]

Defined in

lib/driver.js:215


xcodeVersion

xcodeVersion: any

Defined in

lib/driver.js:329

lib/driver.js:526


baseVersion

Static baseVersion: string

Make the basedriver version available so for any driver which inherits from this package, we know which version of basedriver it inherited from

Inherited from

BaseDriver.baseVersion

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:20


executeMethodMap

Static executeMethodMap: Object = executeMethodMap

Type declaration

Name Type
mobile: activateApp { command: "mobileActivateApp" = 'mobileActivateApp'; params: { required: readonly ["bundleId"] } }
mobile: activateApp.command "mobileActivateApp"
mobile: activateApp.params { required: readonly ["bundleId"] }
mobile: activateApp.params.required readonly ["bundleId"]
mobile: activeAppInfo { command: "mobileGetActiveAppInfo" = 'mobileGetActiveAppInfo' }
mobile: activeAppInfo.command "mobileGetActiveAppInfo"
mobile: alert { command: "mobileHandleAlert" = 'mobileHandleAlert'; params: { optional: readonly ["buttonLabel"] ; required: readonly ["action"] } }
mobile: alert.command "mobileHandleAlert"
mobile: alert.params { optional: readonly ["buttonLabel"] ; required: readonly ["action"] }
mobile: alert.params.optional readonly ["buttonLabel"]
mobile: alert.params.required readonly ["action"]
mobile: batteryInfo { command: "mobileGetBatteryInfo" = 'mobileGetBatteryInfo' }
mobile: batteryInfo.command "mobileGetBatteryInfo"
mobile: clearKeychains { command: "mobileClearKeychains" = 'mobileClearKeychains' }
mobile: clearKeychains.command "mobileClearKeychains"
mobile: configureLocalization { command: "mobileConfigureLocalization" = 'mobileConfigureLocalization'; params: { optional: readonly ["keyboard", "language", "locale"] } }
mobile: configureLocalization.command "mobileConfigureLocalization"
mobile: configureLocalization.params { optional: readonly ["keyboard", "language", "locale"] }
mobile: configureLocalization.params.optional readonly ["keyboard", "language", "locale"]
mobile: deepLink { command: "mobileDeepLink" = 'mobileDeepLink'; params: { optional: readonly ["bundleId"] ; required: readonly ["url"] } }
mobile: deepLink.command "mobileDeepLink"
mobile: deepLink.params { optional: readonly ["bundleId"] ; required: readonly ["url"] }
mobile: deepLink.params.optional readonly ["bundleId"]
mobile: deepLink.params.required readonly ["url"]
mobile: deleteFile { command: "mobileDeleteFile" = 'mobileDeleteFile'; params: { required: readonly ["remotePath"] } }
mobile: deleteFile.command "mobileDeleteFile"
mobile: deleteFile.params { required: readonly ["remotePath"] }
mobile: deleteFile.params.required readonly ["remotePath"]
mobile: deleteFolder { command: "mobileDeleteFolder" = 'mobileDeleteFolder'; params: { required: readonly ["remotePath"] } }
mobile: deleteFolder.command "mobileDeleteFolder"
mobile: deleteFolder.params { required: readonly ["remotePath"] }
mobile: deleteFolder.params.required readonly ["remotePath"]
mobile: deviceInfo { command: "mobileGetDeviceInfo" = 'mobileGetDeviceInfo' }
mobile: deviceInfo.command "mobileGetDeviceInfo"
mobile: deviceScreenInfo { command: "getScreenInfo" = 'getScreenInfo' }
mobile: deviceScreenInfo.command "getScreenInfo"
mobile: disableConditionInducer { command: "disableConditionInducer" = 'disableConditionInducer' }
mobile: disableConditionInducer.command "disableConditionInducer"
mobile: doubleTap { command: "mobileDoubleTap" = 'mobileDoubleTap'; params: { optional: readonly ["elementId", "x", "y"] } }
mobile: doubleTap.command "mobileDoubleTap"
mobile: doubleTap.params { optional: readonly ["elementId", "x", "y"] }
mobile: doubleTap.params.optional readonly ["elementId", "x", "y"]
mobile: dragFromToForDuration { command: "mobileDragFromToForDuration" = 'mobileDragFromToForDuration'; params: { optional: readonly ["elementId"] ; required: readonly ["duration", "fromX", "fromY", "toX", "toY"] } }
mobile: dragFromToForDuration.command "mobileDragFromToForDuration"
mobile: dragFromToForDuration.params { optional: readonly ["elementId"] ; required: readonly ["duration", "fromX", "fromY", "toX", "toY"] }
mobile: dragFromToForDuration.params.optional readonly ["elementId"]
mobile: dragFromToForDuration.params.required readonly ["duration", "fromX", "fromY", "toX", "toY"]
mobile: dragFromToWithVelocity { command: "mobileDragFromToWithVelocity" = 'mobileDragFromToWithVelocity'; params: { optional: readonly ["fromElementId", "toElementId", "fromX", "fromY", "toX", "toY"] ; required: readonly ["pressDuration", "holdDuration", "velocity"] } }
mobile: dragFromToWithVelocity.command "mobileDragFromToWithVelocity"
mobile: dragFromToWithVelocity.params { optional: readonly ["fromElementId", "toElementId", "fromX", "fromY", "toX", "toY"] ; required: readonly ["pressDuration", "holdDuration", "velocity"] }
mobile: dragFromToWithVelocity.params.optional readonly ["fromElementId", "toElementId", "fromX", "fromY", "toX", "toY"]
mobile: dragFromToWithVelocity.params.required readonly ["pressDuration", "holdDuration", "velocity"]
mobile: enableConditionInducer { command: "enableConditionInducer" = 'enableConditionInducer'; params: { required: readonly ["conditionID", "profileID"] } }
mobile: enableConditionInducer.command "enableConditionInducer"
mobile: enableConditionInducer.params { required: readonly ["conditionID", "profileID"] }
mobile: enableConditionInducer.params.required readonly ["conditionID", "profileID"]
mobile: enrollBiometric { command: "mobileEnrollBiometric" = 'mobileEnrollBiometric'; params: { optional: readonly ["isEnabled"] } }
mobile: enrollBiometric.command "mobileEnrollBiometric"
mobile: enrollBiometric.params { optional: readonly ["isEnabled"] }
mobile: enrollBiometric.params.optional readonly ["isEnabled"]
mobile: expectNotification { command: "mobileExpectNotification" = 'mobileExpectNotification'; params: { optional: readonly ["type", "timeoutSeconds"] ; required: readonly ["name"] } }
mobile: expectNotification.command "mobileExpectNotification"
mobile: expectNotification.params { optional: readonly ["type", "timeoutSeconds"] ; required: readonly ["name"] }
mobile: expectNotification.params.optional readonly ["type", "timeoutSeconds"]
mobile: expectNotification.params.required readonly ["name"]
mobile: forcePress { command: "mobileForcePress" = 'mobileForcePress'; params: { optional: readonly ["x", "y", "duration", "pressure", "elementId"] } }
mobile: forcePress.command "mobileForcePress"
mobile: forcePress.params { optional: readonly ["x", "y", "duration", "pressure", "elementId"] }
mobile: forcePress.params.optional readonly ["x", "y", "duration", "pressure", "elementId"]
mobile: getAppStrings { command: "getStrings" = 'getStrings'; params: { optional: readonly ["language", "stringFile"] } }
mobile: getAppStrings.command "getStrings"
mobile: getAppStrings.params { optional: readonly ["language", "stringFile"] }
mobile: getAppStrings.params.optional readonly ["language", "stringFile"]
mobile: getAppearance { command: "mobileGetAppearance" = 'mobileGetAppearance' }
mobile: getAppearance.command "mobileGetAppearance"
mobile: getContexts { command: "mobileGetContexts" = 'mobileGetContexts'; params: { optional: readonly ["waitForWebviewMs"] } }
mobile: getContexts.command "mobileGetContexts"
mobile: getContexts.params { optional: readonly ["waitForWebviewMs"] }
mobile: getContexts.params.optional readonly ["waitForWebviewMs"]
mobile: getDeviceTime { command: "mobileGetDeviceTime" = 'mobileGetDeviceTime'; params: { optional: readonly ["format"] } }
mobile: getDeviceTime.command "mobileGetDeviceTime"
mobile: getDeviceTime.params { optional: readonly ["format"] }
mobile: getDeviceTime.params.optional readonly ["format"]
mobile: getPasteboard { command: "mobileGetPasteboard" = 'mobileGetPasteboard'; params: { optional: readonly ["encoding"] } }
mobile: getPasteboard.command "mobileGetPasteboard"
mobile: getPasteboard.params { optional: readonly ["encoding"] }
mobile: getPasteboard.params.optional readonly ["encoding"]
mobile: getPermission { command: "mobileGetPermission" = 'mobileGetPermission'; params: { required: readonly ["bundleId", "service"] } }
mobile: getPermission.command "mobileGetPermission"
mobile: getPermission.params { required: readonly ["bundleId", "service"] }
mobile: getPermission.params.required readonly ["bundleId", "service"]
mobile: getSimulatedLocation { command: "mobileGetSimulatedLocation" = 'mobileGetSimulatedLocation' }
mobile: getSimulatedLocation.command "mobileGetSimulatedLocation"
mobile: hideKeyboard { command: "mobileHideKeyboard" = 'mobileHideKeyboard'; params: { optional: readonly ["keys"] } }
mobile: hideKeyboard.command "mobileHideKeyboard"
mobile: hideKeyboard.params { optional: readonly ["keys"] }
mobile: hideKeyboard.params.optional readonly ["keys"]
mobile: installApp { command: "mobileInstallApp" = 'mobileInstallApp'; params: { optional: readonly ["strategy", "timeoutMs"] ; required: readonly ["app"] } }
mobile: installApp.command "mobileInstallApp"
mobile: installApp.params { optional: readonly ["strategy", "timeoutMs"] ; required: readonly ["app"] }
mobile: installApp.params.optional readonly ["strategy", "timeoutMs"]
mobile: installApp.params.required readonly ["app"]
mobile: installCertificate { command: "mobileInstallCertificate" = 'mobileInstallCertificate'; params: { optional: readonly ["commonName", "isRoot"] ; required: readonly ["content"] } }
mobile: installCertificate.command "mobileInstallCertificate"
mobile: installCertificate.params { optional: readonly ["commonName", "isRoot"] ; required: readonly ["content"] }
mobile: installCertificate.params.optional readonly ["commonName", "isRoot"]
mobile: installCertificate.params.required readonly ["content"]
mobile: installXCTestBundle { command: "mobileInstallXCTestBundle" = 'mobileInstallXCTestBundle'; params: { required: readonly ["xctestApp"] } }
mobile: installXCTestBundle.command "mobileInstallXCTestBundle"
mobile: installXCTestBundle.params { required: readonly ["xctestApp"] }
mobile: installXCTestBundle.params.required readonly ["xctestApp"]
mobile: isAppInstalled { command: "mobileIsAppInstalled" = 'mobileIsAppInstalled'; params: { required: readonly ["bundleId"] } }
mobile: isAppInstalled.command "mobileIsAppInstalled"
mobile: isAppInstalled.params { required: readonly ["bundleId"] }
mobile: isAppInstalled.params.required readonly ["bundleId"]
mobile: isBiometricEnrolled { command: "mobileIsBiometricEnrolled" = 'mobileIsBiometricEnrolled' }
mobile: isBiometricEnrolled.command "mobileIsBiometricEnrolled"
mobile: isKeyboardShown { command: "isKeyboardShown" = 'isKeyboardShown' }
mobile: isKeyboardShown.command "isKeyboardShown"
mobile: isLocked { command: "isLocked" = 'isLocked' }
mobile: isLocked.command "isLocked"
mobile: killApp { command: "mobileKillApp" = 'mobileKillApp'; params: { required: readonly ["bundleId"] } }
mobile: killApp.command "mobileKillApp"
mobile: killApp.params { required: readonly ["bundleId"] }
mobile: killApp.params.required readonly ["bundleId"]
mobile: launchApp { command: "mobileLaunchApp" = 'mobileLaunchApp'; params: { optional: readonly ["arguments", "environment"] ; required: readonly ["bundleId"] } }
mobile: launchApp.command "mobileLaunchApp"
mobile: launchApp.params { optional: readonly ["arguments", "environment"] ; required: readonly ["bundleId"] }
mobile: launchApp.params.optional readonly ["arguments", "environment"]
mobile: launchApp.params.required readonly ["bundleId"]
mobile: listApps { command: "mobileListApps" = 'mobileListApps'; params: { optional: readonly ["applicationType"] } }
mobile: listApps.command "mobileListApps"
mobile: listApps.params { optional: readonly ["applicationType"] }
mobile: listApps.params.optional readonly ["applicationType"]
mobile: listCertificates { command: "mobileListCertificates" = 'mobileListCertificates' }
mobile: listCertificates.command "mobileListCertificates"
mobile: listConditionInducers { command: "listConditionInducers" = 'listConditionInducers' }
mobile: listConditionInducers.command "listConditionInducers"
mobile: listXCTestBundles { command: "mobileListXCTestBundles" = 'mobileListXCTestBundles' }
mobile: listXCTestBundles.command "mobileListXCTestBundles"
mobile: listXCTestsInTestBundle { command: "mobileListXCTestsInTestBundle" = 'mobileListXCTestsInTestBundle'; params: { required: readonly ["bundle"] } }
mobile: listXCTestsInTestBundle.command "mobileListXCTestsInTestBundle"
mobile: listXCTestsInTestBundle.params { required: readonly ["bundle"] }
mobile: listXCTestsInTestBundle.params.required readonly ["bundle"]
mobile: lock { command: "lock" = 'lock'; params: { optional: readonly ["seconds"] } }
mobile: lock.command "lock"
mobile: lock.params { optional: readonly ["seconds"] }
mobile: lock.params.optional readonly ["seconds"]
mobile: performIoHidEvent { command: "mobilePerformIoHidEvent" = 'mobilePerformIoHidEvent'; params: { required: readonly ["page", "usage", "durationSeconds"] } }
mobile: performIoHidEvent.command "mobilePerformIoHidEvent"
mobile: performIoHidEvent.params { required: readonly ["page", "usage", "durationSeconds"] }
mobile: performIoHidEvent.params.required readonly ["page", "usage", "durationSeconds"]
mobile: pinch { command: "mobilePinch" = 'mobilePinch'; params: { optional: readonly ["elementId"] ; required: readonly ["scale", "velocity"] } }
mobile: pinch.command "mobilePinch"
mobile: pinch.params { optional: readonly ["elementId"] ; required: readonly ["scale", "velocity"] }
mobile: pinch.params.optional readonly ["elementId"]
mobile: pinch.params.required readonly ["scale", "velocity"]
mobile: pressButton { command: "mobilePressButton" = 'mobilePressButton'; params: { optional: readonly ["durationSeconds"] ; required: readonly ["name"] } }
mobile: pressButton.command "mobilePressButton"
mobile: pressButton.params { optional: readonly ["durationSeconds"] ; required: readonly ["name"] }
mobile: pressButton.params.optional readonly ["durationSeconds"]
mobile: pressButton.params.required readonly ["name"]
mobile: pullFile { command: "mobilePullFile" = 'mobilePullFile'; params: { required: readonly ["remotePath"] } }
mobile: pullFile.command "mobilePullFile"
mobile: pullFile.params { required: readonly ["remotePath"] }
mobile: pullFile.params.required readonly ["remotePath"]
mobile: pullFolder { command: "mobilePullFolder" = 'mobilePullFolder'; params: { required: readonly ["remotePath"] } }
mobile: pullFolder.command "mobilePullFolder"
mobile: pullFolder.params { required: readonly ["remotePath"] }
mobile: pullFolder.params.required readonly ["remotePath"]
mobile: pushFile { command: "mobilePushFile" = 'mobilePushFile'; params: { required: readonly ["remotePath", "payload"] } }
mobile: pushFile.command "mobilePushFile"
mobile: pushFile.params { required: readonly ["remotePath", "payload"] }
mobile: pushFile.params.required readonly ["remotePath", "payload"]
mobile: pushNotification { command: "mobilePushNotification" = 'mobilePushNotification'; params: { required: readonly ["bundleId", "payload"] } }
mobile: pushNotification.command "mobilePushNotification"
mobile: pushNotification.params { required: readonly ["bundleId", "payload"] }
mobile: pushNotification.params.required readonly ["bundleId", "payload"]
mobile: queryAppState { command: "mobileQueryAppState" = 'mobileQueryAppState'; params: { required: readonly ["bundleId"] } }
mobile: queryAppState.command "mobileQueryAppState"
mobile: queryAppState.params { required: readonly ["bundleId"] }
mobile: queryAppState.params.required readonly ["bundleId"]
mobile: removeApp { command: "mobileRemoveApp" = 'mobileRemoveApp'; params: { required: readonly ["bundleId"] } }
mobile: removeApp.command "mobileRemoveApp"
mobile: removeApp.params { required: readonly ["bundleId"] }
mobile: removeApp.params.required readonly ["bundleId"]
mobile: resetLocationService { command: "mobileResetLocationService" = 'mobileResetLocationService' }
mobile: resetLocationService.command "mobileResetLocationService"
mobile: resetPermission { command: "mobileResetPermission" = 'mobileResetPermission'; params: { required: readonly ["service"] } }
mobile: resetPermission.command "mobileResetPermission"
mobile: resetPermission.params { required: readonly ["service"] }
mobile: resetPermission.params.required readonly ["service"]
mobile: resetSimulatedLocation { command: "mobileResetSimulatedLocation" = 'mobileResetSimulatedLocation' }
mobile: resetSimulatedLocation.command "mobileResetSimulatedLocation"
mobile: rotateElement { command: "mobileRotateElement" = 'mobileRotateElement'; params: { required: readonly ["elementId", "rotation", "velocity"] } }
mobile: rotateElement.command "mobileRotateElement"
mobile: rotateElement.params { required: readonly ["elementId", "rotation", "velocity"] }
mobile: rotateElement.params.required readonly ["elementId", "rotation", "velocity"]
mobile: runXCTest { command: "mobileRunXCTest" = 'mobileRunXCTest'; params: { optional: readonly ["args", "testType", "env", "timeout"] ; required: readonly ["testRunnerBundleId", "appUnderTestBundleId", "xctestBundleId"] } }
mobile: runXCTest.command "mobileRunXCTest"
mobile: runXCTest.params { optional: readonly ["args", "testType", "env", "timeout"] ; required: readonly ["testRunnerBundleId", "appUnderTestBundleId", "xctestBundleId"] }
mobile: runXCTest.params.optional readonly ["args", "testType", "env", "timeout"]
mobile: runXCTest.params.required readonly ["testRunnerBundleId", "appUnderTestBundleId", "xctestBundleId"]
mobile: scroll { command: "mobileScroll" = 'mobileScroll'; params: { optional: readonly ["name", "direction", "predicateString", "toVisible", "distance", "elementId"] } }
mobile: scroll.command "mobileScroll"
mobile: scroll.params { optional: readonly ["name", "direction", "predicateString", "toVisible", "distance", "elementId"] }
mobile: scroll.params.optional readonly ["name", "direction", "predicateString", "toVisible", "distance", "elementId"]
mobile: scrollToElement { command: "mobileScrollToElement" = 'mobileScrollToElement'; params: { required: readonly ["elementId"] } }
mobile: scrollToElement.command "mobileScrollToElement"
mobile: scrollToElement.params { required: readonly ["elementId"] }
mobile: scrollToElement.params.required readonly ["elementId"]
mobile: selectPickerWheelValue { command: "mobileSelectPickerWheelValue" = 'mobileSelectPickerWheelValue'; params: { optional: readonly ["offset"] ; required: readonly ["elementId", "order"] } }
mobile: selectPickerWheelValue.command "mobileSelectPickerWheelValue"
mobile: selectPickerWheelValue.params { optional: readonly ["offset"] ; required: readonly ["elementId", "order"] }
mobile: selectPickerWheelValue.params.optional readonly ["offset"]
mobile: selectPickerWheelValue.params.required readonly ["elementId", "order"]
mobile: sendBiometricMatch { command: "mobileSendBiometricMatch" = 'mobileSendBiometricMatch'; params: { optional: readonly ["type", "match"] } }
mobile: sendBiometricMatch.command "mobileSendBiometricMatch"
mobile: sendBiometricMatch.params { optional: readonly ["type", "match"] }
mobile: sendBiometricMatch.params.optional readonly ["type", "match"]
mobile: setAppearance { command: "mobileSetAppearance" = 'mobileSetAppearance'; params: { required: readonly ["style"] } }
mobile: setAppearance.command "mobileSetAppearance"
mobile: setAppearance.params { required: readonly ["style"] }
mobile: setAppearance.params.required readonly ["style"]
mobile: setPasteboard { command: "mobileSetPasteboard" = 'mobileSetPasteboard'; params: { optional: readonly ["encoding"] ; required: readonly ["content"] } }
mobile: setPasteboard.command "mobileSetPasteboard"
mobile: setPasteboard.params { optional: readonly ["encoding"] ; required: readonly ["content"] }
mobile: setPasteboard.params.optional readonly ["encoding"]
mobile: setPasteboard.params.required readonly ["content"]
mobile: setPermission { command: "mobileSetPermissions" = 'mobileSetPermissions'; params: { required: readonly ["access", "bundleId"] } }
mobile: setPermission.command "mobileSetPermissions"
mobile: setPermission.params { required: readonly ["access", "bundleId"] }
mobile: setPermission.params.required readonly ["access", "bundleId"]
mobile: setSimulatedLocation { command: "mobileSetSimulatedLocation" = 'mobileSetSimulatedLocation'; params: { required: readonly ["latitude", "longitude"] } }
mobile: setSimulatedLocation.command "mobileSetSimulatedLocation"
mobile: setSimulatedLocation.params { required: readonly ["latitude", "longitude"] }
mobile: setSimulatedLocation.params.required readonly ["latitude", "longitude"]
mobile: shake { command: "mobileShake" = 'mobileShake' }
mobile: shake.command "mobileShake"
mobile: siriCommand { command: "mobileSiriCommand" = 'mobileSiriCommand'; params: { required: readonly ["text"] } }
mobile: siriCommand.command "mobileSiriCommand"
mobile: siriCommand.params { required: readonly ["text"] }
mobile: siriCommand.params.required readonly ["text"]
mobile: source { command: "mobileGetSource" = 'mobileGetSource'; params: { optional: readonly ["format", "excludedAttributes"] } }
mobile: source.command "mobileGetSource"
mobile: source.params { optional: readonly ["format", "excludedAttributes"] }
mobile: source.params.optional readonly ["format", "excludedAttributes"]
mobile: startAudioRecording { command: "startAudioRecording" = 'startAudioRecording'; params: { optional: readonly ["timeLimit", "audioCodec", "audioBitrate", "audioChannels", "audioRate", "forceRestart"] ; required: readonly ["audioInput"] } }
mobile: startAudioRecording.command "startAudioRecording"
mobile: startAudioRecording.params { optional: readonly ["timeLimit", "audioCodec", "audioBitrate", "audioChannels", "audioRate", "forceRestart"] ; required: readonly ["audioInput"] }
mobile: startAudioRecording.params.optional readonly ["timeLimit", "audioCodec", "audioBitrate", "audioChannels", "audioRate", "forceRestart"]
mobile: startAudioRecording.params.required readonly ["audioInput"]
mobile: startLogsBroadcast { command: "mobileStartLogsBroadcast" = 'mobileStartLogsBroadcast' }
mobile: startLogsBroadcast.command "mobileStartLogsBroadcast"
mobile: startPcap { command: "mobileStartPcap" = 'mobileStartPcap'; params: { optional: readonly ["timeLimitSec", "forceRestart"] } }
mobile: startPcap.command "mobileStartPcap"
mobile: startPcap.params { optional: readonly ["timeLimitSec", "forceRestart"] }
mobile: startPcap.params.optional readonly ["timeLimitSec", "forceRestart"]
mobile: startPerfRecord { command: "mobileStartPerfRecord" = 'mobileStartPerfRecord'; params: { optional: readonly ["timeout", "profileName", "pid"] } }
mobile: startPerfRecord.command "mobileStartPerfRecord"
mobile: startPerfRecord.params { optional: readonly ["timeout", "profileName", "pid"] }
mobile: startPerfRecord.params.optional readonly ["timeout", "profileName", "pid"]
mobile: stopAudioRecording { command: "stopAudioRecording" = 'stopAudioRecording' }
mobile: stopAudioRecording.command "stopAudioRecording"
mobile: stopLogsBroadcast { command: "mobileStopLogsBroadcast" = 'mobileStopLogsBroadcast' }
mobile: stopLogsBroadcast.command "mobileStopLogsBroadcast"
mobile: stopPcap { command: "mobileStopPcap" = 'mobileStopPcap' }
mobile: stopPcap.command "mobileStopPcap"
mobile: stopPerfRecord { command: "mobileStopPerfRecord" = 'mobileStopPerfRecord'; params: { optional: readonly ["remotePath", "user", "pass", "method", "profileName", "headers", "fileFieldName", "formFields"] } }
mobile: stopPerfRecord.command "mobileStopPerfRecord"
mobile: stopPerfRecord.params { optional: readonly ["remotePath", "user", "pass", "method", "profileName", "headers", "fileFieldName", "formFields"] }
mobile: stopPerfRecord.params.optional readonly ["remotePath", "user", "pass", "method", "profileName", "headers", "fileFieldName", "formFields"]
mobile: swipe { command: "mobileSwipe" = 'mobileSwipe'; params: { optional: readonly ["velocity", "elementId"] ; required: readonly ["direction"] } }
mobile: swipe.command "mobileSwipe"
mobile: swipe.params { optional: readonly ["velocity", "elementId"] ; required: readonly ["direction"] }
mobile: swipe.params.optional readonly ["velocity", "elementId"]
mobile: swipe.params.required readonly ["direction"]
mobile: tap { command: "mobileTap" = 'mobileTap'; params: { optional: readonly ["elementId"] ; required: readonly ["x", "y"] } }
mobile: tap.command "mobileTap"
mobile: tap.params { optional: readonly ["elementId"] ; required: readonly ["x", "y"] }
mobile: tap.params.optional readonly ["elementId"]
mobile: tap.params.required readonly ["x", "y"]
mobile: tapWithNumberOfTaps { command: "mobileTapWithNumberOfTaps" = 'mobileTapWithNumberOfTaps'; params: { optional: readonly ["elementId"] ; required: readonly ["numberOfTouches", "numberOfTaps"] } }
mobile: tapWithNumberOfTaps.command "mobileTapWithNumberOfTaps"
mobile: tapWithNumberOfTaps.params { optional: readonly ["elementId"] ; required: readonly ["numberOfTouches", "numberOfTaps"] }
mobile: tapWithNumberOfTaps.params.optional readonly ["elementId"]
mobile: tapWithNumberOfTaps.params.required readonly ["numberOfTouches", "numberOfTaps"]
mobile: terminateApp { command: "mobileTerminateApp" = 'mobileTerminateApp'; params: { required: readonly ["bundleId"] } }
mobile: terminateApp.command "mobileTerminateApp"
mobile: terminateApp.params { required: readonly ["bundleId"] }
mobile: terminateApp.params.required readonly ["bundleId"]
mobile: touchAndHold { command: "mobileTouchAndHold" = 'mobileTouchAndHold'; params: { optional: readonly ["x", "y", "elementId"] ; required: readonly ["duration"] } }
mobile: touchAndHold.command "mobileTouchAndHold"
mobile: touchAndHold.params { optional: readonly ["x", "y", "elementId"] ; required: readonly ["duration"] }
mobile: touchAndHold.params.optional readonly ["x", "y", "elementId"]
mobile: touchAndHold.params.required readonly ["duration"]
mobile: twoFingerTap { command: "mobileTwoFingerTap" = 'mobileTwoFingerTap'; params: { optional: readonly ["elementId"] } }
mobile: twoFingerTap.command "mobileTwoFingerTap"
mobile: twoFingerTap.params { optional: readonly ["elementId"] }
mobile: twoFingerTap.params.optional readonly ["elementId"]
mobile: unlock { command: "unlock" = 'unlock' }
mobile: unlock.command "unlock"
mobile: updateSafariPreferences { command: "mobileUpdateSafariPreferences" = 'mobileUpdateSafariPreferences'; params: { required: readonly ["preferences"] } }
mobile: updateSafariPreferences.command "mobileUpdateSafariPreferences"
mobile: updateSafariPreferences.params { required: readonly ["preferences"] }
mobile: updateSafariPreferences.params.required readonly ["preferences"]
mobile: viewportRect { command: "getViewportRect" = 'getViewportRect' }
mobile: viewportRect.command "getViewportRect"
mobile: viewportScreenshot { command: "getViewportScreenshot" = 'getViewportScreenshot' }
mobile: viewportScreenshot.command "getViewportScreenshot"

Defined in

lib/driver.js:183


newMethodMap

Static newMethodMap: Object = newMethodMap

Type declaration

Name Type
/session/:sessionId/appium/app/background { POST: { command: "background" = 'background'; payloadParams: { required: readonly ["seconds"] } } }
/session/:sessionId/appium/app/background.POST { command: "background" = 'background'; payloadParams: { required: readonly ["seconds"] } }
/session/:sessionId/appium/app/background.POST.command "background"
/session/:sessionId/appium/app/background.POST.payloadParams { required: readonly ["seconds"] }
/session/:sessionId/appium/app/background.POST.payloadParams.required readonly ["seconds"]
/session/:sessionId/appium/app/close { POST: { command: "closeApp" = 'closeApp' } }
/session/:sessionId/appium/app/close.POST { command: "closeApp" = 'closeApp' }
/session/:sessionId/appium/app/close.POST.command "closeApp"
/session/:sessionId/appium/app/launch { POST: { command: "launchApp" = 'launchApp' } }
/session/:sessionId/appium/app/launch.POST { command: "launchApp" = 'launchApp' }
/session/:sessionId/appium/app/launch.POST.command "launchApp"
/session/:sessionId/appium/app/reset { POST: { command: "reset" = 'reset' } }
/session/:sessionId/appium/app/reset.POST { command: "reset" = 'reset' }
/session/:sessionId/appium/app/reset.POST.command "reset"
/session/:sessionId/appium/app/strings { POST: { command: "getStrings" = 'getStrings'; payloadParams: { optional: readonly ["language", "stringFile"] } } }
/session/:sessionId/appium/app/strings.POST { command: "getStrings" = 'getStrings'; payloadParams: { optional: readonly ["language", "stringFile"] } }
/session/:sessionId/appium/app/strings.POST.command "getStrings"
/session/:sessionId/appium/app/strings.POST.payloadParams { optional: readonly ["language", "stringFile"] }
/session/:sessionId/appium/app/strings.POST.payloadParams.optional readonly ["language", "stringFile"]
/session/:sessionId/appium/device/app_state { POST: { command: "queryAppState" = 'queryAppState'; payloadParams: { required: readonly [readonly ["appId"], readonly ["bundleId"]] } } }
/session/:sessionId/appium/device/app_state.POST { command: "queryAppState" = 'queryAppState'; payloadParams: { required: readonly [readonly ["appId"], readonly ["bundleId"]] } }
/session/:sessionId/appium/device/app_state.POST.command "queryAppState"
/session/:sessionId/appium/device/app_state.POST.payloadParams { required: readonly [readonly ["appId"], readonly ["bundleId"]] }
/session/:sessionId/appium/device/app_state.POST.payloadParams.required readonly [readonly ["appId"], readonly ["bundleId"]]
/session/:sessionId/appium/device/get_clipboard { POST: { command: "getClipboard" = 'getClipboard'; payloadParams: { optional: readonly ["contentType"] } } }
/session/:sessionId/appium/device/get_clipboard.POST { command: "getClipboard" = 'getClipboard'; payloadParams: { optional: readonly ["contentType"] } }
/session/:sessionId/appium/device/get_clipboard.POST.command "getClipboard"
/session/:sessionId/appium/device/get_clipboard.POST.payloadParams { optional: readonly ["contentType"] }
/session/:sessionId/appium/device/get_clipboard.POST.payloadParams.optional readonly ["contentType"]
/session/:sessionId/appium/device/is_locked { POST: { command: "isLocked" = 'isLocked' } }
/session/:sessionId/appium/device/is_locked.POST { command: "isLocked" = 'isLocked' }
/session/:sessionId/appium/device/is_locked.POST.command "isLocked"
/session/:sessionId/appium/device/lock { POST: { command: "lock" = 'lock'; payloadParams: { optional: readonly ["seconds"] } } }
/session/:sessionId/appium/device/lock.POST { command: "lock" = 'lock'; payloadParams: { optional: readonly ["seconds"] } }
/session/:sessionId/appium/device/lock.POST.command "lock"
/session/:sessionId/appium/device/lock.POST.payloadParams { optional: readonly ["seconds"] }
/session/:sessionId/appium/device/lock.POST.payloadParams.optional readonly ["seconds"]
/session/:sessionId/appium/device/set_clipboard { POST: { command: "setClipboard" = 'setClipboard'; payloadParams: { optional: readonly ["contentType", "label"] ; required: readonly ["content"] } } }
/session/:sessionId/appium/device/set_clipboard.POST { command: "setClipboard" = 'setClipboard'; payloadParams: { optional: readonly ["contentType", "label"] ; required: readonly ["content"] } }
/session/:sessionId/appium/device/set_clipboard.POST.command "setClipboard"
/session/:sessionId/appium/device/set_clipboard.POST.payloadParams { optional: readonly ["contentType", "label"] ; required: readonly ["content"] }
/session/:sessionId/appium/device/set_clipboard.POST.payloadParams.optional readonly ["contentType", "label"]
/session/:sessionId/appium/device/set_clipboard.POST.payloadParams.required readonly ["content"]
/session/:sessionId/appium/device/shake { POST: { command: "mobileShake" = 'mobileShake' } }
/session/:sessionId/appium/device/shake.POST { command: "mobileShake" = 'mobileShake' }
/session/:sessionId/appium/device/shake.POST.command "mobileShake"
/session/:sessionId/appium/device/unlock { POST: { command: "unlock" = 'unlock' } }
/session/:sessionId/appium/device/unlock.POST { command: "unlock" = 'unlock' }
/session/:sessionId/appium/device/unlock.POST.command "unlock"
/session/:sessionId/appium/element/:elementId/value { POST: { command: "setValueImmediate" = 'setValueImmediate'; payloadParams: { required: readonly ["text"] } } }
/session/:sessionId/appium/element/:elementId/value.POST { command: "setValueImmediate" = 'setValueImmediate'; payloadParams: { required: readonly ["text"] } }
/session/:sessionId/appium/element/:elementId/value.POST.command "setValueImmediate"
/session/:sessionId/appium/element/:elementId/value.POST.payloadParams { required: readonly ["text"] }
/session/:sessionId/appium/element/:elementId/value.POST.payloadParams.required readonly ["text"]
/session/:sessionId/appium/receive_async_response { POST: { command: "receiveAsyncResponse" = 'receiveAsyncResponse'; payloadParams: { required: readonly ["response"] } } }
/session/:sessionId/appium/receive_async_response.POST { command: "receiveAsyncResponse" = 'receiveAsyncResponse'; payloadParams: { required: readonly ["response"] } }
/session/:sessionId/appium/receive_async_response.POST.command "receiveAsyncResponse"
/session/:sessionId/appium/receive_async_response.POST.payloadParams { required: readonly ["response"] }
/session/:sessionId/appium/receive_async_response.POST.payloadParams.required readonly ["response"]
/session/:sessionId/appium/simulator/toggle_touch_id_enrollment { POST: { command: "toggleEnrollTouchId" = 'toggleEnrollTouchId'; payloadParams: { optional: readonly ["enabled"] } } }
/session/:sessionId/appium/simulator/toggle_touch_id_enrollment.POST { command: "toggleEnrollTouchId" = 'toggleEnrollTouchId'; payloadParams: { optional: readonly ["enabled"] } }
/session/:sessionId/appium/simulator/toggle_touch_id_enrollment.POST.command "toggleEnrollTouchId"
/session/:sessionId/appium/simulator/toggle_touch_id_enrollment.POST.payloadParams { optional: readonly ["enabled"] }
/session/:sessionId/appium/simulator/toggle_touch_id_enrollment.POST.payloadParams.optional readonly ["enabled"]
/session/:sessionId/appium/simulator/touch_id { POST: { command: "touchId" = 'touchId'; payloadParams: { required: readonly ["match"] } } }
/session/:sessionId/appium/simulator/touch_id.POST { command: "touchId" = 'touchId'; payloadParams: { required: readonly ["match"] } }
/session/:sessionId/appium/simulator/touch_id.POST.command "touchId"
/session/:sessionId/appium/simulator/touch_id.POST.payloadParams { required: readonly ["match"] }
/session/:sessionId/appium/simulator/touch_id.POST.payloadParams.required readonly ["match"]
/session/:sessionId/appium/start_recording_screen { POST: { command: "startRecordingScreen" = 'startRecordingScreen'; payloadParams: { optional: readonly ["options"] } } }
/session/:sessionId/appium/start_recording_screen.POST { command: "startRecordingScreen" = 'startRecordingScreen'; payloadParams: { optional: readonly ["options"] } }
/session/:sessionId/appium/start_recording_screen.POST.command "startRecordingScreen"
/session/:sessionId/appium/start_recording_screen.POST.payloadParams { optional: readonly ["options"] }
/session/:sessionId/appium/start_recording_screen.POST.payloadParams.optional readonly ["options"]
/session/:sessionId/appium/stop_recording_screen { POST: { command: "stopRecordingScreen" = 'stopRecordingScreen'; payloadParams: { optional: readonly ["options"] } } }
/session/:sessionId/appium/stop_recording_screen.POST { command: "stopRecordingScreen" = 'stopRecordingScreen'; payloadParams: { optional: readonly ["options"] } }
/session/:sessionId/appium/stop_recording_screen.POST.command "stopRecordingScreen"
/session/:sessionId/appium/stop_recording_screen.POST.payloadParams { optional: readonly ["options"] }
/session/:sessionId/appium/stop_recording_screen.POST.payloadParams.optional readonly ["options"]
/session/:sessionId/element/:elementId/location { GET: { command: "getLocation" = 'getLocation' } }
/session/:sessionId/element/:elementId/location.GET { command: "getLocation" = 'getLocation' }
/session/:sessionId/element/:elementId/location.GET.command "getLocation"
/session/:sessionId/element/:elementId/location_in_view { GET: { command: "getLocationInView" = 'getLocationInView' } }
/session/:sessionId/element/:elementId/location_in_view.GET { command: "getLocationInView" = 'getLocationInView' }
/session/:sessionId/element/:elementId/location_in_view.GET.command "getLocationInView"
/session/:sessionId/element/:elementId/size { GET: { command: "getSize" = 'getSize' } }
/session/:sessionId/element/:elementId/size.GET { command: "getSize" = 'getSize' }
/session/:sessionId/element/:elementId/size.GET.command "getSize"
/session/:sessionId/element/:elementId/submit { POST: { command: "submit" = 'submit' } }
/session/:sessionId/element/:elementId/submit.POST { command: "submit" = 'submit' }
/session/:sessionId/element/:elementId/submit.POST.command "submit"
/session/:sessionId/keys { POST: { command: "keys" = 'keys'; payloadParams: { required: readonly ["value"] } } }
/session/:sessionId/keys.POST { command: "keys" = 'keys'; payloadParams: { required: readonly ["value"] } }
/session/:sessionId/keys.POST.command "keys"
/session/:sessionId/keys.POST.payloadParams { required: readonly ["value"] }
/session/:sessionId/keys.POST.payloadParams.required readonly ["value"]
/session/:sessionId/moveto { POST: { command: "moveTo" = 'moveTo'; payloadParams: { optional: readonly ["element", "xoffset", "yoffset"] } } }
/session/:sessionId/moveto.POST { command: "moveTo" = 'moveTo'; payloadParams: { optional: readonly ["element", "xoffset", "yoffset"] } }
/session/:sessionId/moveto.POST.command "moveTo"
/session/:sessionId/moveto.POST.payloadParams { optional: readonly ["element", "xoffset", "yoffset"] }
/session/:sessionId/moveto.POST.payloadParams.optional readonly ["element", "xoffset", "yoffset"]
/session/:sessionId/timeouts/async_script { POST: { command: "asyncScriptTimeout" = 'asyncScriptTimeout'; payloadParams: { required: readonly ["ms"] } } }
/session/:sessionId/timeouts/async_script.POST { command: "asyncScriptTimeout" = 'asyncScriptTimeout'; payloadParams: { required: readonly ["ms"] } }
/session/:sessionId/timeouts/async_script.POST.command "asyncScriptTimeout"
/session/:sessionId/timeouts/async_script.POST.payloadParams { required: readonly ["ms"] }
/session/:sessionId/timeouts/async_script.POST.payloadParams.required readonly ["ms"]
/session/:sessionId/timeouts/implicit_wait { POST: { command: "implicitWait" = 'implicitWait'; payloadParams: { required: readonly ["ms"] } } }
/session/:sessionId/timeouts/implicit_wait.POST { command: "implicitWait" = 'implicitWait'; payloadParams: { required: readonly ["ms"] } }
/session/:sessionId/timeouts/implicit_wait.POST.command "implicitWait"
/session/:sessionId/timeouts/implicit_wait.POST.payloadParams { required: readonly ["ms"] }
/session/:sessionId/timeouts/implicit_wait.POST.payloadParams.required readonly ["ms"]
/session/:sessionId/touch/click { POST: { command: "click" = 'click'; payloadParams: { required: readonly ["element"] } } }
/session/:sessionId/touch/click.POST { command: "click" = 'click'; payloadParams: { required: readonly ["element"] } }
/session/:sessionId/touch/click.POST.command "click"
/session/:sessionId/touch/click.POST.payloadParams { required: readonly ["element"] }
/session/:sessionId/touch/click.POST.payloadParams.required readonly ["element"]
/session/:sessionId/touch/multi/perform { POST: { command: "performMultiAction" = 'performMultiAction'; payloadParams: { optional: readonly ["elementId"] ; required: readonly ["actions"] } } }
/session/:sessionId/touch/multi/perform.POST { command: "performMultiAction" = 'performMultiAction'; payloadParams: { optional: readonly ["elementId"] ; required: readonly ["actions"] } }
/session/:sessionId/touch/multi/perform.POST.command "performMultiAction"
/session/:sessionId/touch/multi/perform.POST.payloadParams { optional: readonly ["elementId"] ; required: readonly ["actions"] }
/session/:sessionId/touch/multi/perform.POST.payloadParams.optional readonly ["elementId"]
/session/:sessionId/touch/multi/perform.POST.payloadParams.required readonly ["actions"]
/session/:sessionId/touch/perform { POST: { command: "performTouch" = 'performTouch'; payloadParams: { required: readonly ["actions"] ; wrap: "actions" = 'actions' } } }
/session/:sessionId/touch/perform.POST { command: "performTouch" = 'performTouch'; payloadParams: { required: readonly ["actions"] ; wrap: "actions" = 'actions' } }
/session/:sessionId/touch/perform.POST.command "performTouch"
/session/:sessionId/touch/perform.POST.payloadParams { required: readonly ["actions"] ; wrap: "actions" = 'actions' }
/session/:sessionId/touch/perform.POST.payloadParams.required readonly ["actions"]
/session/:sessionId/touch/perform.POST.payloadParams.wrap "actions"
/session/:sessionId/window/:windowhandle/size { GET: { command: "getWindowSize" = 'getWindowSize' } }
/session/:sessionId/window/:windowhandle/size.GET { command: "getWindowSize" = 'getWindowSize' }
/session/:sessionId/window/:windowhandle/size.GET.command "getWindowSize"

Defined in

lib/driver.js:181

Mobile Web Only

deleteCookie

deleteCookie: (cookieName: any) => Promise<void> = commands.webExtensions.deleteCookie

Type declaration

▸ (cookieName): Promise<void>

Parameters
Name Type
cookieName any
Returns

Promise<void>

Defined in

lib/driver.js:2144


deleteCookies

deleteCookies: () => Promise<void> = commands.webExtensions.deleteCookies

Type declaration

▸ (): Promise<void>

Returns

Promise<void>

Defined in

lib/driver.js:2145


executeAsync

executeAsync: (script: any, args: any) => Promise<any> = commands.executeExtensions.executeAsync

Type declaration

▸ (script, args): Promise<any>

Parameters
Name Type
script any
args any
Returns

Promise<any>

Defined in

lib/driver.js:1904


getCookies

getCookies: () => Promise<any> = commands.webExtensions.getCookies

Type declaration

▸ (): Promise<any>

Returns

Promise<any>

Defined in

lib/driver.js:2142


getCssProperty

getCssProperty: (propertyName: any, el: any) => Promise<any> = commands.webExtensions.getCssProperty

Type declaration

▸ (propertyName, el): Promise<any>

Parameters
Name Type
propertyName any
el any
Returns

Promise<any>

Defined in

lib/driver.js:2137


getUrl

getUrl: () => Promise<any> = commands.webExtensions.getUrl

Type declaration

▸ (): Promise<any>

Returns

Promise<any>

Defined in

lib/driver.js:2140


refresh

refresh: () => Promise<void> = commands.webExtensions.refresh

Type declaration

▸ (): Promise<void>

Returns

Promise<void>

Defined in

lib/driver.js:2139


setCookie

setCookie: (cookie: any) => Promise<void> = commands.webExtensions.setCookie

Type declaration

▸ (cookie): Promise<void>

Parameters
Name Type
cookie any
Returns

Promise<void>

Defined in

lib/driver.js:2143


setFrame

setFrame: (frame: any) => Promise<void> = commands.webExtensions.setFrame

Type declaration

▸ (frame): Promise<void>

Parameters
Name Type
frame any
Returns

Promise<void>

Defined in

lib/driver.js:2136


submit

submit: (el: string | Element<string>) => Promise<void> = commands.webExtensions.submit

Type declaration

▸ (el): Promise<void>

Submit the form an element is in

Parameters
Name Type Description
el string | Element<string> the element ID
Returns

Promise<void>

Defined in

lib/driver.js:2138


title

title: () => Promise<any> = commands.webExtensions.title

Type declaration

▸ (): Promise<any>

Returns

Promise<any>

Defined in

lib/driver.js:2141

Simulator Only

mobileConfigureLocalization

mobileConfigureLocalization: (keyboard?: KeyboardOptions, language?: LanguageOptions, locale?: LocaleOptions) => Promise<boolean> = commands.localizationExtensions.mobileConfigureLocalization

Type declaration

▸ (keyboard?, language?, locale?): Promise<boolean>

Change localization settings on the currently booted simulator

Throws

If there was a failure while setting the preferences

Parameters
Name Type Description
keyboard? KeyboardOptions Keyboard options
language? LanguageOptions Language options
locale? LocaleOptions Locale options
Returns

Promise<boolean>

true if any of settings has been successfully changed

Defined in

lib/driver.js:2014


mobileGetPermission

mobileGetPermission: (bundleId: string, service: GetPermissionService) => Promise<"yes" | "no" | "unset" | "limited"> = commands.permissionsExtensions.mobileGetPermission

Type declaration

▸ (bundleId, service): Promise<"yes" | "no" | "unset" | "limited">

Gets application permission state on Simulator.

This method requires WIX applesimutils to be installed on the server host.

Throws

If permission getting fails or the device is not a Simulator.

Parameters
Name Type Description
bundleId string Bundle identifier of the target application
service GetPermissionService Service name
Returns

Promise<"yes" | "no" | "unset" | "limited">

Either 'yes', 'no', 'unset' or 'limited'

Defined in

lib/driver.js:2083


mobileIsBiometricEnrolled

mobileIsBiometricEnrolled: () => Promise<boolean> = commands.biometricExtensions.mobileIsBiometricEnrolled

Type declaration

▸ (): Promise<boolean>

Checks whether biometric is currently enrolled or not.

Throws

If the detection fails or the device is not a Simulator.

Returns

Promise<boolean>

true if biometric is enrolled.

Defined in

lib/driver.js:1818


mobilePushNotification

mobilePushNotification: (bundleId: string, payload: PushPayload) => Promise<any> = commands.notificationsExtensions.mobilePushNotification

Type declaration

▸ (bundleId, payload): Promise<any>

Simulates push notification delivery to Simulator.

Only application remote push notifications are supported. VoIP, Complication, File Provider, and other types are unsupported.

Since

Xcode SDK 11.4

Parameters
Name Type Description
bundleId string the target application‘s bundle identifier
payload PushPayload The push payload
Returns

Promise<any>

Defined in

lib/driver.js:2055


mobileSendBiometricMatch

mobileSendBiometricMatch: (type: string, match: boolean) => Promise<void> = commands.biometricExtensions.mobileSendBiometricMatch

Type declaration

▸ (type?, match?): Promise<void>

Emulates biometric match/non-match event on Simulator. The biometric feature is expected to be already enrolled before executing this.

Throws

If matching fails or the device is not a Simulator.

Parameters
Name Type Default value Description
type string 'touchId' The biometric feature name.
match boolean true If true, simulate biometic match. If false, simulate biometric non-match..
Returns

Promise<void>

Defined in

lib/driver.js:1817


mobileSetPermissions

mobileSetPermissions: (access: Record<Partial<AccessRule>, PermissionState>, bundleId: string) => Promise<void> = commands.permissionsExtensions.mobileSetPermissions

Type declaration

▸ (access, bundleId): Promise<void>

Set application permission state on Simulator.

Since

Xcode SDK 11.4

Throws

If permission setting fails or the device is not a Simulator.

Parameters
Name Type Description
access Record<Partial<AccessRule>, PermissionState> One or more access rules to set.
bundleId string Bundle identifier of the target application
Returns

Promise<void>

Defined in

lib/driver.js:2084


mobileShake

mobileShake: () => Promise<void> = commands.gestureExtensions.mobileShake

Type declaration

▸ (): Promise<void>

Shake the device

Returns

Promise<void>

Defined in

lib/driver.js:1967

Simulatory Only

mobileEnrollBiometric

mobileEnrollBiometric: (isEnabled: boolean) => Promise<void> = commands.biometricExtensions.mobileEnrollBiometric

Type declaration

▸ (isEnabled?): Promise<void>

Enrolls biometric authentication on Simulator.

Throws

If enrollment fails or the device is not a Simulator.

Parameters
Name Type Default value Description
isEnabled boolean true Whether to enable/disable biometric enrollment.
Returns

Promise<void>

Defined in

lib/driver.js:1816

Real Device Only

mobileRemoveCertificate

mobileRemoveCertificate: (name: string) => Promise<string> = commands.certificateExtensions.mobileRemoveCertificate

Type declaration

▸ (name): Promise<string>

Removes installed certificates for real devices only if py-ios-device tool is available on the server machine.

Throws

If attempting to remote certificates for simulated device or if py-ios-device is not installed

Parameters
Name Type Description
name string Name of certificate to remove
Returns

Promise<string>

Returns status acknowledgment status if tht certificate is successfully removed or 'None' (basically just forwards the original pyidevice output)

Defined in

lib/driver.js:1825


startAudioRecording

startAudioRecording: (audioInput: string | number, timeLimit: string | number, audioCodec: string, audioBitrate: string, audioChannels: string | number, audioRate: string | number, forceRestart: boolean) => Promise<void> = commands.recordAudioExtensions.startAudioRecording

Type declaration

▸ (audioInput, timeLimit?, audioCodec?, audioBitrate?, audioChannels?, audioRate?, forceRestart?): Promise<void>

Records the given hardware audio input and saves it into an .mp4 file.

To use this command, the audio_record security feature must be enabled and FFMpeg must be installed on the Appium server.

Parameters
Name Type Default value Description
audioInput string | number undefined The name of the corresponding audio input device to use for the capture. The full list of capture devices could be shown by executing ffmpeg -f avfoundation -list_devices true -i ""
timeLimit string | number 180 The maximum recording time, in seconds.
audioCodec string 'aac' The name of the audio codec.
audioBitrate string '128k' The bitrate of the resulting audio stream.
audioChannels string | number 2 The count of audio channels in the resulting stream. Setting it to 1 will create a single channel (mono) audio stream.
audioRate string | number 44100 The sampling rate of the resulting audio stream (in Hz).
forceRestart boolean false Whether to restart audio capture process forcefully when mobile: startRecordingAudio is called (true) or ignore the call until the current audio recording is completed (false).
Returns

Promise<void>

Defined in

lib/driver.js:2096

Simulator Only

*

mobileUpdateSafariPreferences

mobileUpdateSafariPreferences: (preferences: any) => Promise<void> = commands.webExtensions.mobileUpdateSafariPreferences

Type declaration

▸ (preferences): Promise<void>

Updates preferences of Mobile Safari on Simulator

*

Parameters
Name Type Description
preferences any An object containing Safari settings to be * updated. The list of available setting names and their values could be * retrieved by changing the corresponding Safari settings in the UI and then * inspecting Library/Preferences/com.apple.mobilesafari.plist file inside * of com.apple.mobilesafari app container. The full path to the Mobile * Safari's container could be retrieved from xcrun simctl get_app_container <sim_udid> com.apple.mobilesafari data command output. Use the xcrun simctl spawn <sim_udid> defaults read <path_to_plist> command to print the * plist content to the Terminal. *
Returns

Promise<void>

Defined in

lib/driver.js:2167

Native Only

nativeClick

nativeClick: (el: string | Element<string>) => Promise<any> = commands.gestureExtensions.nativeClick

Type declaration

▸ (el): Promise<any>

Parameters
Name Type
el string | Element<string>
Returns

Promise<any>

Defined in

lib/driver.js:1973


performMultiAction

performMultiAction: (actions: any[]) => Promise<any> = commands.gestureExtensions.performMultiAction

Type declaration

▸ (actions): Promise<any>

Perform a set of touch actions

Deprecated

Use performActions instead

Parameters
Name Type Description
actions any[] the old MJSONWP style touch action objects
Returns

Promise<any>

Defined in

lib/driver.js:1972

Accessors

_desiredCapConstraints

Protected get _desiredCapConstraints(): Readonly<{ app: { isString: true } ; autoLaunch: { isBoolean: true } ; autoWebview: { isBoolean: true } ; automationName: { isString: true } ; deviceName: { isString: true } ; eventTimings: { isBoolean: true } ; fullReset: { isBoolean: true } ; language: { isString: true } ; locale: { isString: true } ; newCommandTimeout: { isNumber: true } ; noReset: { isBoolean: true } ; orientation: { inclusion: readonly ["LANDSCAPE", "PORTRAIT"] } ; platformName: { isString: true ; presence: true } ; platformVersion: { isString: true } ; printPageSourceOnFindFailure: { isBoolean: true } ; udid: { isString: true } ; webSocketUrl: { isBoolean: true } } & C>

Contains the base constraints plus whatever the subclass wants to add.

Subclasses shouldn't need to use this. If you need to use this, please create an issue:

See

https://github.com/appium/appium/issues/new

Returns

Readonly<{ app: { isString: true } ; autoLaunch: { isBoolean: true } ; autoWebview: { isBoolean: true } ; automationName: { isString: true } ; deviceName: { isString: true } ; eventTimings: { isBoolean: true } ; fullReset: { isBoolean: true } ; language: { isString: true } ; locale: { isString: true } ; newCommandTimeout: { isNumber: true } ; noReset: { isBoolean: true } ; orientation: { inclusion: readonly ["LANDSCAPE", "PORTRAIT"] } ; platformName: { isString: true ; presence: true } ; platformVersion: { isString: true } ; printPageSourceOnFindFailure: { isBoolean: true } ; udid: { isString: true } ; webSocketUrl: { isBoolean: true } } & C>

Inherited from

BaseDriver._desiredCapConstraints

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/driver.d.ts:21


driverData

get driverData(): Object

This property is used by AppiumDriver to store the data of the specific driver sessions. This data can be later used to adjust properties for driver instances running in parallel. Override it in inherited driver classes if necessary.

Returns

Object

Overrides

BaseDriver.driverData

Defined in

lib/driver.js:349


eventHistory

get eventHistory(): EventHistory

Returns

EventHistory

Inherited from

BaseDriver.eventHistory

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:127


isCommandsQueueEnabled

get isCommandsQueueEnabled(): boolean

This property controls the way the executeCommand method handles new driver commands received from the client. Override it for inherited classes only in special cases.

Returns

boolean

If the returned value is true (default) then all the commands received by the particular driver instance are going to be put into the queue, so each following command will not be executed until the previous command execution is completed. False value disables that queue, so each driver command is executed independently and does not wait for anything.

Inherited from

BaseDriver.isCommandsQueueEnabled

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:126


log

get log(): AppiumLogger

Returns

AppiumLogger

Inherited from

BaseDriver.log

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:97

Methods

_getCommandTimeout

_getCommandTimeout(cmdName): any

Parameters

Name Type
cmdName any

Returns

any

Defined in

lib/driver.js:1704


addManagedDriver

addManagedDriver(driver): void

Parameters

Name Type
driver Driver<Constraints, StringRecord<any>, StringRecord<any>, DefaultCreateSessionResult<Constraints>, void>

Returns

void

Inherited from

BaseDriver.addManagedDriver

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:222


assertFeatureEnabled

assertFeatureEnabled(name): void

Assert that a given feature is enabled and throw a helpful error if it's not

Parameters

Name Type Description
name string name of feature/command

Returns

void

Inherited from

BaseDriver.assertFeatureEnabled

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:179


assignServer

assignServer(server, host, port, path): void

A helper function used to assign server information to the driver instance so the driver knows where the server is Running

Parameters

Name Type Description
server AppiumServer the server object
host string the server hostname
port number the server port
path string the server base url

Returns

void

Inherited from

BaseDriver.assignServer

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/driver.d.ts:31


canProxy

canProxy(): boolean

Returns

boolean

Overrides

BaseDriver.canProxy

Defined in

lib/driver.js:1381


checkAutInstallationState

checkAutInstallationState(): Promise<{ install: boolean = false; skipUninstall: boolean = true }>

Returns

Promise<{ install: boolean = false; skipUninstall: boolean = true }>

Defined in

lib/driver.js:1548


clearNewCommandTimeout

clearNewCommandTimeout(): Promise<void>

Returns

Promise<void>

Inherited from

BaseDriver.clearNewCommandTimeout

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:224


configureApp

configureApp(): Promise<void>

Returns

Promise<void>

Defined in

lib/driver.js:1010


createSession

createSession(w3cCaps1, w3cCaps2, w3cCaps3, driverData): Promise<[string, DriverCaps<{ absoluteWebLocations: { isBoolean: true = true } ; additionalWebviewBundleIds: {} = {}; agentPath: { isString: true = true } ; allowProvisioningDeviceRegistration: { isBoolean: true = true } ; app: { isString: true = true } ; appInstallStrategy: { inclusionCaseInsensitive: readonly ["serial", "parallel", "ios-deploy"] ; isString: true = true } ; appPushTimeout: { isNumber: true = true } ; autoAcceptAlerts: { isBoolean: true = true } ; autoDismissAlerts: { isBoolean: true = true } ; bootstrapPath: { isString: true = true } ; browserName: { isString: true = true } ; bundleId: { isString: true = true } ; calendarAccessAuthorized: { isBoolean: true = true } ; calendarFormat: { isString: true = true } ; clearSystemFiles: { isBoolean: true = true } ; commandTimeouts: {} = {}; connectHardwareKeyboard: { isBoolean: true = true } ; customSSLCert: { isString: true = true } ; derivedDataPath: { isString: true = true } ; deviceName: { isString: true = true } ; disableAutomaticScreenshots: { isBoolean: true = true } ; enableAsyncExecuteFromHttps: { isBoolean: true = true } ; enablePerformanceLogging: { isBoolean: true = true } ; enforceAppInstall: { isBoolean: true = true } ; enforceFreshSimulatorCreation: { isBoolean: true = true } ; forceAppLaunch: { isBoolean: true = true } ; forceTurnOnSoftwareKeyboardSimulator: { isBoolean: true = true } ; fullContextList: { isBoolean: true = true } ; ignoreAboutBlankUrl: { isBoolean: true = true } ; includeDeviceCapsToSessionInfo: { isBoolean: true = true } ; includeSafariInWebviews: { isBoolean: true = true } ; iosInstallPause: { isNumber: true = true } ; iosSimulatorLogsPredicate: { isString: true = true } ; isHeadless: { isBoolean: true = true } ; keepKeyChains: { isBoolean: true = true } ; keychainPassword: { isString: true = true } ; keychainPath: { isString: true = true } ; keychainsExcludePatterns: { isString: true = true } ; launchWithIDB: { isBoolean: true = true } ; localizableStringsDir: { isString: true = true } ; maxTypingFrequency: { isNumber: true = true } ; mjpegScreenshotUrl: { isString: true = true } ; mjpegServerPort: { isNumber: true = true } ; nativeTyping: { isBoolean: true = true } ; nativeWebTap: { isBoolean: true = true } ; nativeWebTapStrict: { isBoolean: true = true } ; otherApps: { isString: true = true } ; permissions: { isString: true = true } ; platformName: { inclusionCaseInsensitive: readonly ["iOS", "tvOS"] ; isString: true = true; presence: true = true } ; prebuildWDA: { isBoolean: true = true } ; processArguments: {} = {}; reduceMotion: { isBoolean: true = true } ; reduceTransparency: { isBoolean: true = true } ; remoteDebugProxy: { isString: true = true } ; resetLocationService: { isBoolean: true = true } ; resetOnSessionStartOnly: { isBoolean: true = true } ; resultBundlePath: { isString: true = true } ; resultBundleVersion: { isNumber: true = true } ; safariAllowPopups: { isBoolean: true = true } ; safariGarbageCollect: { isBoolean: true = true } ; safariGlobalPreferences: { isObject: true = true } ; safariIgnoreFraudWarning: { isBoolean: true = true } ; safariIgnoreWebHostnames: { isString: true = true } ; safariInitialUrl: { isString: true = true } ; safariLogAllCommunication: { isBoolean: true = true } ; safariLogAllCommunicationHexDump: { isBoolean: true = true } ; safariOpenLinksInBackground: { isBoolean: true = true } ; safariShowFullResponse: { isBoolean: true = true } ; safariSocketChunkSize: { isNumber: true = true } ; safariWebInspectorMaxFrameLength: { isNumber: true = true } ; scaleFactor: { isString: true = true } ; screenshotQuality: { isNumber: true = true } ; shouldTerminateApp: { isBoolean: true = true } ; shouldUseSingletonTestManager: { isBoolean: true = true } ; showIOSLog: { isBoolean: true = true } ; showSafariConsoleLog: { isBoolean: true = true } ; showSafariNetworkLog: { isBoolean: true = true } ; showXcodeLog: { isBoolean: true = true } ; shutdownOtherSimulators: { isBoolean: true = true } ; simpleIsVisibleCheck: { isBoolean: true = true } ; simulatorDevicesSetPath: { isString: true = true } ; simulatorPasteboardAutomaticSync: { isString: true = true } ; simulatorStartupTimeout: { isNumber: true = true } ; simulatorTracePointer: { isBoolean: true = true } ; simulatorWindowCenter: { isString: true = true } ; skipLogCapture: { isBoolean: true = true } ; udid: { isString: true = true } ; updatedWDABundleId: { isString: true = true } ; useJSONSource: { isBoolean: true = true } ; useNativeCachingStrategy: { isBoolean: true = true } ; useNewWDA: { isBoolean: true = true } ; usePrebuiltWDA: { isBoolean: true = true } ; useSimpleBuildTest: { isBoolean: true = true } ; useXctestrunFile: { isBoolean: true = true } ; waitForIdleTimeout: { isNumber: true = true } ; waitForQuiescence: { isBoolean: true = true } ; wdaBaseUrl: { isString: true = true } ; wdaConnectionTimeout: { isNumber: true = true } ; wdaEventloopIdleDelay: { isNumber: true = true } ; wdaLaunchTimeout: { isNumber: true = true } ; wdaLocalPort: { isNumber: true = true } ; wdaStartupRetries: { isNumber: true = true } ; wdaStartupRetryInterval: { isNumber: true = true } ; webDriverAgentUrl: { isString: true = true } ; webkitResponseTimeout: { isNumber: true = true } ; webviewConnectRetries: { isNumber: true = true } ; webviewConnectTimeout: { isNumber: true = true } ; xcodeConfigFile: { isString: true = true } ; xcodeOrgId: { isString: true = true } ; xcodeSigningId: { isString: true = true } }>]>

Historically the first two arguments were reserved for JSONWP capabilities. Appium 2 has dropped the support of these, so now we only accept capability objects in W3C format and thus allow any of the three arguments to represent the latter.

Parameters

Name Type
w3cCaps1 any
w3cCaps2 any
w3cCaps3 any
driverData any

Returns

Promise<[string, DriverCaps<{ absoluteWebLocations: { isBoolean: true = true } ; additionalWebviewBundleIds: {} = {}; agentPath: { isString: true = true } ; allowProvisioningDeviceRegistration: { isBoolean: true = true } ; app: { isString: true = true } ; appInstallStrategy: { inclusionCaseInsensitive: readonly ["serial", "parallel", "ios-deploy"] ; isString: true = true } ; appPushTimeout: { isNumber: true = true } ; autoAcceptAlerts: { isBoolean: true = true } ; autoDismissAlerts: { isBoolean: true = true } ; bootstrapPath: { isString: true = true } ; browserName: { isString: true = true } ; bundleId: { isString: true = true } ; calendarAccessAuthorized: { isBoolean: true = true } ; calendarFormat: { isString: true = true } ; clearSystemFiles: { isBoolean: true = true } ; commandTimeouts: {} = {}; connectHardwareKeyboard: { isBoolean: true = true } ; customSSLCert: { isString: true = true } ; derivedDataPath: { isString: true = true } ; deviceName: { isString: true = true } ; disableAutomaticScreenshots: { isBoolean: true = true } ; enableAsyncExecuteFromHttps: { isBoolean: true = true } ; enablePerformanceLogging: { isBoolean: true = true } ; enforceAppInstall: { isBoolean: true = true } ; enforceFreshSimulatorCreation: { isBoolean: true = true } ; forceAppLaunch: { isBoolean: true = true } ; forceTurnOnSoftwareKeyboardSimulator: { isBoolean: true = true } ; fullContextList: { isBoolean: true = true } ; ignoreAboutBlankUrl: { isBoolean: true = true } ; includeDeviceCapsToSessionInfo: { isBoolean: true = true } ; includeSafariInWebviews: { isBoolean: true = true } ; iosInstallPause: { isNumber: true = true } ; iosSimulatorLogsPredicate: { isString: true = true } ; isHeadless: { isBoolean: true = true } ; keepKeyChains: { isBoolean: true = true } ; keychainPassword: { isString: true = true } ; keychainPath: { isString: true = true } ; keychainsExcludePatterns: { isString: true = true } ; launchWithIDB: { isBoolean: true = true } ; localizableStringsDir: { isString: true = true } ; maxTypingFrequency: { isNumber: true = true } ; mjpegScreenshotUrl: { isString: true = true } ; mjpegServerPort: { isNumber: true = true } ; nativeTyping: { isBoolean: true = true } ; nativeWebTap: { isBoolean: true = true } ; nativeWebTapStrict: { isBoolean: true = true } ; otherApps: { isString: true = true } ; permissions: { isString: true = true } ; platformName: { inclusionCaseInsensitive: readonly ["iOS", "tvOS"] ; isString: true = true; presence: true = true } ; prebuildWDA: { isBoolean: true = true } ; processArguments: {} = {}; reduceMotion: { isBoolean: true = true } ; reduceTransparency: { isBoolean: true = true } ; remoteDebugProxy: { isString: true = true } ; resetLocationService: { isBoolean: true = true } ; resetOnSessionStartOnly: { isBoolean: true = true } ; resultBundlePath: { isString: true = true } ; resultBundleVersion: { isNumber: true = true } ; safariAllowPopups: { isBoolean: true = true } ; safariGarbageCollect: { isBoolean: true = true } ; safariGlobalPreferences: { isObject: true = true } ; safariIgnoreFraudWarning: { isBoolean: true = true } ; safariIgnoreWebHostnames: { isString: true = true } ; safariInitialUrl: { isString: true = true } ; safariLogAllCommunication: { isBoolean: true = true } ; safariLogAllCommunicationHexDump: { isBoolean: true = true } ; safariOpenLinksInBackground: { isBoolean: true = true } ; safariShowFullResponse: { isBoolean: true = true } ; safariSocketChunkSize: { isNumber: true = true } ; safariWebInspectorMaxFrameLength: { isNumber: true = true } ; scaleFactor: { isString: true = true } ; screenshotQuality: { isNumber: true = true } ; shouldTerminateApp: { isBoolean: true = true } ; shouldUseSingletonTestManager: { isBoolean: true = true } ; showIOSLog: { isBoolean: true = true } ; showSafariConsoleLog: { isBoolean: true = true } ; showSafariNetworkLog: { isBoolean: true = true } ; showXcodeLog: { isBoolean: true = true } ; shutdownOtherSimulators: { isBoolean: true = true } ; simpleIsVisibleCheck: { isBoolean: true = true } ; simulatorDevicesSetPath: { isString: true = true } ; simulatorPasteboardAutomaticSync: { isString: true = true } ; simulatorStartupTimeout: { isNumber: true = true } ; simulatorTracePointer: { isBoolean: true = true } ; simulatorWindowCenter: { isString: true = true } ; skipLogCapture: { isBoolean: true = true } ; udid: { isString: true = true } ; updatedWDABundleId: { isString: true = true } ; useJSONSource: { isBoolean: true = true } ; useNativeCachingStrategy: { isBoolean: true = true } ; useNewWDA: { isBoolean: true = true } ; usePrebuiltWDA: { isBoolean: true = true } ; useSimpleBuildTest: { isBoolean: true = true } ; useXctestrunFile: { isBoolean: true = true } ; waitForIdleTimeout: { isNumber: true = true } ; waitForQuiescence: { isBoolean: true = true } ; wdaBaseUrl: { isString: true = true } ; wdaConnectionTimeout: { isNumber: true = true } ; wdaEventloopIdleDelay: { isNumber: true = true } ; wdaLaunchTimeout: { isNumber: true = true } ; wdaLocalPort: { isNumber: true = true } ; wdaStartupRetries: { isNumber: true = true } ; wdaStartupRetryInterval: { isNumber: true = true } ; webDriverAgentUrl: { isString: true = true } ; webkitResponseTimeout: { isNumber: true = true } ; webviewConnectRetries: { isNumber: true = true } ; webviewConnectTimeout: { isNumber: true = true } ; xcodeConfigFile: { isString: true = true } ; xcodeOrgId: { isString: true = true } ; xcodeSigningId: { isString: true = true } }>]>

Overrides

BaseDriver.createSession

Defined in

lib/driver.js:380


createSim

createSim(): Promise<any>

Returns

Promise<any>

Defined in

lib/driver.js:1286


deleteSession

deleteSession(): Promise<void>

Stop an automation session

See

https://w3c.github.io/webdriver/#delete-session

Returns

Promise<void>

Overrides

BaseDriver.deleteSession

Defined in

lib/driver.js:885


determineDevice

determineDevice(): Promise<{ device: any ; realDevice: boolean = false; udid: any = device.udid }>

Returns

Promise<{ device: any ; realDevice: boolean = false; udid: any = device.udid }>

Defined in

lib/driver.js:1146


driverForSession

driverForSession(sessionId): null | Core<{ absoluteWebLocations: { isBoolean: true = true } ; additionalWebviewBundleIds: {} = {}; agentPath: { isString: true = true } ; allowProvisioningDeviceRegistration: { isBoolean: true = true } ; app: { isString: true = true } ; appInstallStrategy: { inclusionCaseInsensitive: readonly ["serial", "parallel", "ios-deploy"] ; isString: true = true } ; appPushTimeout: { isNumber: true = true } ; autoAcceptAlerts: { isBoolean: true = true } ; autoDismissAlerts: { isBoolean: true = true } ; bootstrapPath: { isString: true = true } ; browserName: { isString: true = true } ; bundleId: { isString: true = true } ; calendarAccessAuthorized: { isBoolean: true = true } ; calendarFormat: { isString: true = true } ; clearSystemFiles: { isBoolean: true = true } ; commandTimeouts: {} = {}; connectHardwareKeyboard: { isBoolean: true = true } ; customSSLCert: { isString: true = true } ; derivedDataPath: { isString: true = true } ; deviceName: { isString: true = true } ; disableAutomaticScreenshots: { isBoolean: true = true } ; enableAsyncExecuteFromHttps: { isBoolean: true = true } ; enablePerformanceLogging: { isBoolean: true = true } ; enforceAppInstall: { isBoolean: true = true } ; enforceFreshSimulatorCreation: { isBoolean: true = true } ; forceAppLaunch: { isBoolean: true = true } ; forceTurnOnSoftwareKeyboardSimulator: { isBoolean: true = true } ; fullContextList: { isBoolean: true = true } ; ignoreAboutBlankUrl: { isBoolean: true = true } ; includeDeviceCapsToSessionInfo: { isBoolean: true = true } ; includeSafariInWebviews: { isBoolean: true = true } ; iosInstallPause: { isNumber: true = true } ; iosSimulatorLogsPredicate: { isString: true = true } ; isHeadless: { isBoolean: true = true } ; keepKeyChains: { isBoolean: true = true } ; keychainPassword: { isString: true = true } ; keychainPath: { isString: true = true } ; keychainsExcludePatterns: { isString: true = true } ; launchWithIDB: { isBoolean: true = true } ; localizableStringsDir: { isString: true = true } ; maxTypingFrequency: { isNumber: true = true } ; mjpegScreenshotUrl: { isString: true = true } ; mjpegServerPort: { isNumber: true = true } ; nativeTyping: { isBoolean: true = true } ; nativeWebTap: { isBoolean: true = true } ; nativeWebTapStrict: { isBoolean: true = true } ; otherApps: { isString: true = true } ; permissions: { isString: true = true } ; platformName: { inclusionCaseInsensitive: readonly ["iOS", "tvOS"] ; isString: true = true; presence: true = true } ; prebuildWDA: { isBoolean: true = true } ; processArguments: {} = {}; reduceMotion: { isBoolean: true = true } ; reduceTransparency: { isBoolean: true = true } ; remoteDebugProxy: { isString: true = true } ; resetLocationService: { isBoolean: true = true } ; resetOnSessionStartOnly: { isBoolean: true = true } ; resultBundlePath: { isString: true = true } ; resultBundleVersion: { isNumber: true = true } ; safariAllowPopups: { isBoolean: true = true } ; safariGarbageCollect: { isBoolean: true = true } ; safariGlobalPreferences: { isObject: true = true } ; safariIgnoreFraudWarning: { isBoolean: true = true } ; safariIgnoreWebHostnames: { isString: true = true } ; safariInitialUrl: { isString: true = true } ; safariLogAllCommunication: { isBoolean: true = true } ; safariLogAllCommunicationHexDump: { isBoolean: true = true } ; safariOpenLinksInBackground: { isBoolean: true = true } ; safariShowFullResponse: { isBoolean: true = true } ; safariSocketChunkSize: { isNumber: true = true } ; safariWebInspectorMaxFrameLength: { isNumber: true = true } ; scaleFactor: { isString: true = true } ; screenshotQuality: { isNumber: true = true } ; shouldTerminateApp: { isBoolean: true = true } ; shouldUseSingletonTestManager: { isBoolean: true = true } ; showIOSLog: { isBoolean: true = true } ; showSafariConsoleLog: { isBoolean: true = true } ; showSafariNetworkLog: { isBoolean: true = true } ; showXcodeLog: { isBoolean: true = true } ; shutdownOtherSimulators: { isBoolean: true = true } ; simpleIsVisibleCheck: { isBoolean: true = true } ; simulatorDevicesSetPath: { isString: true = true } ; simulatorPasteboardAutomaticSync: { isString: true = true } ; simulatorStartupTimeout: { isNumber: true = true } ; simulatorTracePointer: { isBoolean: true = true } ; simulatorWindowCenter: { isString: true = true } ; skipLogCapture: { isBoolean: true = true } ; udid: { isString: true = true } ; updatedWDABundleId: { isString: true = true } ; useJSONSource: { isBoolean: true = true } ; useNativeCachingStrategy: { isBoolean: true = true } ; useNewWDA: { isBoolean: true = true } ; usePrebuiltWDA: { isBoolean: true = true } ; useSimpleBuildTest: { isBoolean: true = true } ; useXctestrunFile: { isBoolean: true = true } ; waitForIdleTimeout: { isNumber: true = true } ; waitForQuiescence: { isBoolean: true = true } ; wdaBaseUrl: { isString: true = true } ; wdaConnectionTimeout: { isNumber: true = true } ; wdaEventloopIdleDelay: { isNumber: true = true } ; wdaLaunchTimeout: { isNumber: true = true } ; wdaLocalPort: { isNumber: true = true } ; wdaStartupRetries: { isNumber: true = true } ; wdaStartupRetryInterval: { isNumber: true = true } ; webDriverAgentUrl: { isString: true = true } ; webkitResponseTimeout: { isNumber: true = true } ; webviewConnectRetries: { isNumber: true = true } ; webviewConnectTimeout: { isNumber: true = true } ; xcodeConfigFile: { isString: true = true } ; xcodeOrgId: { isString: true = true } ; xcodeSigningId: { isString: true = true } }, StringRecord>

method required by MJSONWP in order to determine if the command should be proxied directly to the driver

Parameters

Name Type
sessionId string

Returns

null | Core<{ absoluteWebLocations: { isBoolean: true = true } ; additionalWebviewBundleIds: {} = {}; agentPath: { isString: true = true } ; allowProvisioningDeviceRegistration: { isBoolean: true = true } ; app: { isString: true = true } ; appInstallStrategy: { inclusionCaseInsensitive: readonly ["serial", "parallel", "ios-deploy"] ; isString: true = true } ; appPushTimeout: { isNumber: true = true } ; autoAcceptAlerts: { isBoolean: true = true } ; autoDismissAlerts: { isBoolean: true = true } ; bootstrapPath: { isString: true = true } ; browserName: { isString: true = true } ; bundleId: { isString: true = true } ; calendarAccessAuthorized: { isBoolean: true = true } ; calendarFormat: { isString: true = true } ; clearSystemFiles: { isBoolean: true = true } ; commandTimeouts: {} = {}; connectHardwareKeyboard: { isBoolean: true = true } ; customSSLCert: { isString: true = true } ; derivedDataPath: { isString: true = true } ; deviceName: { isString: true = true } ; disableAutomaticScreenshots: { isBoolean: true = true } ; enableAsyncExecuteFromHttps: { isBoolean: true = true } ; enablePerformanceLogging: { isBoolean: true = true } ; enforceAppInstall: { isBoolean: true = true } ; enforceFreshSimulatorCreation: { isBoolean: true = true } ; forceAppLaunch: { isBoolean: true = true } ; forceTurnOnSoftwareKeyboardSimulator: { isBoolean: true = true } ; fullContextList: { isBoolean: true = true } ; ignoreAboutBlankUrl: { isBoolean: true = true } ; includeDeviceCapsToSessionInfo: { isBoolean: true = true } ; includeSafariInWebviews: { isBoolean: true = true } ; iosInstallPause: { isNumber: true = true } ; iosSimulatorLogsPredicate: { isString: true = true } ; isHeadless: { isBoolean: true = true } ; keepKeyChains: { isBoolean: true = true } ; keychainPassword: { isString: true = true } ; keychainPath: { isString: true = true } ; keychainsExcludePatterns: { isString: true = true } ; launchWithIDB: { isBoolean: true = true } ; localizableStringsDir: { isString: true = true } ; maxTypingFrequency: { isNumber: true = true } ; mjpegScreenshotUrl: { isString: true = true } ; mjpegServerPort: { isNumber: true = true } ; nativeTyping: { isBoolean: true = true } ; nativeWebTap: { isBoolean: true = true } ; nativeWebTapStrict: { isBoolean: true = true } ; otherApps: { isString: true = true } ; permissions: { isString: true = true } ; platformName: { inclusionCaseInsensitive: readonly ["iOS", "tvOS"] ; isString: true = true; presence: true = true } ; prebuildWDA: { isBoolean: true = true } ; processArguments: {} = {}; reduceMotion: { isBoolean: true = true } ; reduceTransparency: { isBoolean: true = true } ; remoteDebugProxy: { isString: true = true } ; resetLocationService: { isBoolean: true = true } ; resetOnSessionStartOnly: { isBoolean: true = true } ; resultBundlePath: { isString: true = true } ; resultBundleVersion: { isNumber: true = true } ; safariAllowPopups: { isBoolean: true = true } ; safariGarbageCollect: { isBoolean: true = true } ; safariGlobalPreferences: { isObject: true = true } ; safariIgnoreFraudWarning: { isBoolean: true = true } ; safariIgnoreWebHostnames: { isString: true = true } ; safariInitialUrl: { isString: true = true } ; safariLogAllCommunication: { isBoolean: true = true } ; safariLogAllCommunicationHexDump: { isBoolean: true = true } ; safariOpenLinksInBackground: { isBoolean: true = true } ; safariShowFullResponse: { isBoolean: true = true } ; safariSocketChunkSize: { isNumber: true = true } ; safariWebInspectorMaxFrameLength: { isNumber: true = true } ; scaleFactor: { isString: true = true } ; screenshotQuality: { isNumber: true = true } ; shouldTerminateApp: { isBoolean: true = true } ; shouldUseSingletonTestManager: { isBoolean: true = true } ; showIOSLog: { isBoolean: true = true } ; showSafariConsoleLog: { isBoolean: true = true } ; showSafariNetworkLog: { isBoolean: true = true } ; showXcodeLog: { isBoolean: true = true } ; shutdownOtherSimulators: { isBoolean: true = true } ; simpleIsVisibleCheck: { isBoolean: true = true } ; simulatorDevicesSetPath: { isString: true = true } ; simulatorPasteboardAutomaticSync: { isString: true = true } ; simulatorStartupTimeout: { isNumber: true = true } ; simulatorTracePointer: { isBoolean: true = true } ; simulatorWindowCenter: { isString: true = true } ; skipLogCapture: { isBoolean: true = true } ; udid: { isString: true = true } ; updatedWDABundleId: { isString: true = true } ; useJSONSource: { isBoolean: true = true } ; useNativeCachingStrategy: { isBoolean: true = true } ; useNewWDA: { isBoolean: true = true } ; usePrebuiltWDA: { isBoolean: true = true } ; useSimpleBuildTest: { isBoolean: true = true } ; useXctestrunFile: { isBoolean: true = true } ; waitForIdleTimeout: { isNumber: true = true } ; waitForQuiescence: { isBoolean: true = true } ; wdaBaseUrl: { isString: true = true } ; wdaConnectionTimeout: { isNumber: true = true } ; wdaEventloopIdleDelay: { isNumber: true = true } ; wdaLaunchTimeout: { isNumber: true = true } ; wdaLocalPort: { isNumber: true = true } ; wdaStartupRetries: { isNumber: true = true } ; wdaStartupRetryInterval: { isNumber: true = true } ; webDriverAgentUrl: { isString: true = true } ; webkitResponseTimeout: { isNumber: true = true } ; webviewConnectRetries: { isNumber: true = true } ; webviewConnectTimeout: { isNumber: true = true } ; xcodeConfigFile: { isString: true = true } ; xcodeOrgId: { isString: true = true } ; xcodeSigningId: { isString: true = true } }, StringRecord>

Inherited from

BaseDriver.driverForSession

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:151


ensureFeatureEnabled

ensureFeatureEnabled(name): void

Assert that a given feature is enabled and throw a helpful error if it's not

Deprecated

Parameters

Name Type Description
name string name of feature/command

Returns

void

Inherited from

BaseDriver.ensureFeatureEnabled

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:172


executeCommand

executeCommand(cmd, ...args): Promise<any>

Parameters

Name Type
cmd string
...args any[]

Returns

Promise<any>

Overrides

BaseDriver.executeCommand

Defined in

lib/driver.js:997


executeMethod

executeMethod<TArgs, TReturn>(script, args): Promise<TReturn>

Call an Execute Method by its name with the given arguments. This method will check that the driver has registered the method matching the name, and send it the arguments.

Type parameters

Name Type
TArgs extends readonly any[] | readonly [StringRecord<unknown>] = unknown[]
TReturn unknown

Parameters

Name Type Description
script string the name of the Execute Method
args TArgs a singleton array containing an arguments object

Returns

Promise<TReturn>

The result of calling the Execute Method

Inherited from

BaseDriver.executeMethod

Defined in

node_modules/@appium/types/build/lib/driver.d.ts:162


findElOrElsWithProcessing

findElOrElsWithProcessing<Mult, Ctx>(strategy, selector, mult, context?): Promise<Mult extends true ? Element<string>[] : Element<string>>

This is a wrapper for IFindCommands.findElOrEls that validates locator strategies and implements the appium:printPageSourceOnFindFailure capability

Type parameters

Name Type
Mult extends boolean
Ctx any

Parameters

Name Type Description
strategy string the locator strategy
selector string the selector
mult Mult whether or not we want to find multiple elements
context? Ctx the element to use as the search context basis if desiredCapabilities

Returns

Promise<Mult extends true ? Element<string>[] : Element<string>>

A single element or list of elements

Inherited from

BaseDriver.findElOrElsWithProcessing

Defined in

node_modules/@appium/types/build/lib/driver.d.ts:261


findElement

findElement(strategy, selector): Promise<Element<string>>

Find a UI element given a locator strategy and a selector, erroring if it can't be found

See

https://w3c.github.io/webdriver/#find-element

Parameters

Name Type Description
strategy string the locator strategy
selector string the selector to combine with the strategy to find the specific element

Returns

Promise<Element<string>>

The element object encoding the element id which can be used in element-related commands

Inherited from

BaseDriver.findElement

Defined in

node_modules/@appium/types/build/lib/driver.d.ts:183


findElementFromElement

findElementFromElement(strategy, selector, elementId): Promise<Element<string>>

Find a UI element given a locator strategy and a selector, erroring if it can't be found. Only look for elements among the set of descendants of a given element

See

https://w3c.github.io/webdriver/#find-element-from-element

Parameters

Name Type Description
strategy string the locator strategy
selector string the selector to combine with the strategy to find the specific element
elementId string the id of the element to use as the search basis

Returns

Promise<Element<string>>

The element object encoding the element id which can be used in element-related commands

Inherited from

BaseDriver.findElementFromElement

Defined in

node_modules/@appium/types/build/lib/driver.d.ts:206


findElementFromShadowRoot

Optional findElementFromShadowRoot(strategy, selector, shadowId): Promise<Element<string>>

Find an element from a shadow root

See

https://w3c.github.io/webdriver/#find-element-from-shadow-root

Parameters

Name Type Description
strategy string the locator strategy
selector string the selector to combine with the strategy to find the specific elements
shadowId string the id of the element to use as the search basis

Returns

Promise<Element<string>>

The element inside the shadow root matching the selector

Inherited from

BaseDriver.findElementFromShadowRoot

Defined in

node_modules/@appium/types/build/lib/driver.d.ts:228


findElements

findElements(strategy, selector): Promise<Element<string>[]>

Find a a list of all UI elements matching a given a locator strategy and a selector

See

https://w3c.github.io/webdriver/#find-elements

Parameters

Name Type Description
strategy string the locator strategy
selector string the selector to combine with the strategy to find the specific elements

Returns

Promise<Element<string>[]>

A possibly-empty list of element objects

Inherited from

BaseDriver.findElements

Defined in

node_modules/@appium/types/build/lib/driver.d.ts:193


findElementsFromElement

findElementsFromElement(strategy, selector, elementId): Promise<Element<string>[]>

Find a a list of all UI elements matching a given a locator strategy and a selector. Only look for elements among the set of descendants of a given element

See

https://w3c.github.io/webdriver/#find-elements-from-element

Parameters

Name Type Description
strategy string the locator strategy
selector string the selector to combine with the strategy to find the specific elements
elementId string the id of the element to use as the search basis

Returns

Promise<Element<string>[]>

A possibly-empty list of element objects

Inherited from

BaseDriver.findElementsFromElement

Defined in

node_modules/@appium/types/build/lib/driver.d.ts:218


findElementsFromShadowRoot

Optional findElementsFromShadowRoot(strategy, selector, shadowId): Promise<Element<string>[]>

Find elements from a shadow root

See

https://w3c.github.io/webdriver/#find-element-from-shadow-root

Parameters

Name Type Description
strategy string the locator strategy
selector string the selector to combine with the strategy to find the specific elements
shadowId string the id of the element to use as the search basis

Returns

Promise<Element<string>[]>

A possibly empty list of elements inside the shadow root matching the selector

Inherited from

BaseDriver.findElementsFromShadowRoot

Defined in

node_modules/@appium/types/build/lib/driver.d.ts:238


getDefaultUrl

getDefaultUrl(): string

Returns the default URL for Safari browser

Returns

string

The default URL

Defined in

lib/driver.js:459


getLog

getLog(logType): Promise<unknown[]>

Get the log for a given log type.

Parameters

Name Type Description
logType string Name/key of log type as defined in ILogCommands.supportedLogTypes.

Returns

Promise<unknown[]>

Inherited from

BaseDriver.getLog

Defined in

node_modules/@appium/types/build/lib/driver.d.ts:284


getLogEvents

getLogEvents(type?): Promise<EventHistory | Record<string, number>>

Get a list of events that have occurred in the current session

Parameters

Name Type Description
type? string | string[] filter the returned events by including one or more types

Returns

Promise<EventHistory | Record<string, number>>

The event history for the session

Inherited from

BaseDriver.getLogEvents

Defined in

node_modules/@appium/types/build/lib/driver.d.ts:136


getLogTypes

getLogTypes(): Promise<string[]>

Get available log types as a list of strings

Returns

Promise<string[]>

Inherited from

BaseDriver.getLogTypes

Defined in

node_modules/@appium/types/build/lib/driver.d.ts:278


getManagedDrivers

getManagedDrivers(): Driver<Constraints, StringRecord<any>, StringRecord<any>, DefaultCreateSessionResult<Constraints>, void>[]

Returns

Driver<Constraints, StringRecord<any>, StringRecord<any>, DefaultCreateSessionResult<Constraints>, void>[]

Inherited from

BaseDriver.getManagedDrivers

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:223


getProxyAvoidList

getProxyAvoidList(): RouteMatcher[]

Returns

RouteMatcher[]

Overrides

BaseDriver.getProxyAvoidList

Defined in

lib/driver.js:1374


getSession

getSession(): Promise<any>

Get session capabilities merged with what WDA reports This is a library command but needs to call 'super' so can't be on a helper object

Returns

Promise<any>

Overrides

BaseDriver.getSession

Defined in

lib/driver.js:1718


getSessions

getSessions(): Promise<MultiSessionData<Constraints>[]>

Get data for all sessions running on an Appium server

Returns

Promise<MultiSessionData<Constraints>[]>

A list of session data objects

Inherited from

BaseDriver.getSessions

Defined in

node_modules/@appium/types/build/lib/driver.d.ts:144


getSettings

getSettings(): Promise<StringRecord<any>>

Get the current settings for the session

Returns

Promise<StringRecord<any>>

The settings object

Inherited from

BaseDriver.getSettings

Defined in

node_modules/@appium/types/build/lib/driver.d.ts:322


getStatus

getStatus(): Promise<{ build: { version: string } }>

Returns

Promise<{ build: { version: string } }>

Overrides

BaseDriver.getStatus

Defined in

lib/driver.js:354


getTimeouts

getTimeouts(): Promise<Record<string, number>>

Get the current timeouts

See

https://w3c.github.io/webdriver/#get-timeouts

Returns

Promise<Record<string, number>>

A map of timeout names to ms values

Inherited from

BaseDriver.getTimeouts

Defined in

node_modules/@appium/types/build/lib/driver.d.ts:66


implicitWait

implicitWait(ms): Promise<void>

Set the implicit wait timeout

Deprecated

Use timeouts instead

Parameters

Name Type Description
ms string | number the timeout in ms

Returns

Promise<void>

Inherited from

BaseDriver.implicitWait

Defined in

node_modules/@appium/types/build/lib/driver.d.ts:45


implicitWaitForCondition

implicitWaitForCondition(condition): Promise<unknown>

Periodically retry an async function up until the currently set implicit wait timeout

Parameters

Name Type Description
condition (...args: any[]) => Promise<any> the behaviour to retry until it returns truthy

Returns

Promise<unknown>

The return value of the condition

Inherited from

BaseDriver.implicitWaitForCondition

Defined in

node_modules/@appium/types/build/lib/driver.d.ts:59


implicitWaitMJSONWP

implicitWaitMJSONWP(ms): Promise<void>

Set the implicit wait value that was sent in via the JSONWP

Deprecated

Parameters

Name Type Description
ms number the timeout in ms

Returns

Promise<void>

Inherited from

BaseDriver.implicitWaitMJSONWP

Defined in

node_modules/@appium/types/build/lib/driver.d.ts:79


implicitWaitW3C

implicitWaitW3C(ms): Promise<void>

Set the implicit wait value that was sent in via the W3C protocol

Parameters

Name Type Description
ms number the timeout in ms

Returns

Promise<void>

Inherited from

BaseDriver.implicitWaitW3C

Defined in

node_modules/@appium/types/build/lib/driver.d.ts:72


installAUT

installAUT(): Promise<void>

Returns

Promise<void>

Defined in

lib/driver.js:1619


installOtherApps

installOtherApps(otherApps): Promise<void>

Parameters

Name Type
otherApps any

Returns

Promise<void>

Defined in

lib/driver.js:1658


isFeatureEnabled

isFeatureEnabled(name): boolean

Check whether a given feature is enabled via its name

Parameters

Name Type Description
name string name of feature/command

Returns

boolean

Inherited from

BaseDriver.isFeatureEnabled

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:164


isMjsonwpProtocol

isMjsonwpProtocol(): boolean

Returns

boolean

Inherited from

BaseDriver.isMjsonwpProtocol

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:152


isRealDevice

isRealDevice(): boolean

Returns

boolean

Defined in

lib/driver.js:1392


isSafari

isSafari(): boolean

Returns

boolean

Defined in

lib/driver.js:1385


isSimulator

isSimulator(): boolean

Returns

boolean

Defined in

lib/driver.js:1397


isTvOS

isTvOS(): boolean

Returns

boolean

Defined in

lib/driver.js:1402


isW3CProtocol

isW3CProtocol(): boolean

Returns

boolean

Inherited from

BaseDriver.isW3CProtocol

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:153


logCustomEvent

logCustomEvent(vendor, event): Promise<void>

Add a custom-named event to the Appium event log

Parameters

Name Type Description
vendor string the name of the vendor or tool the event belongs to, to namespace the event
event string the name of the event itself

Returns

Promise<void>

Inherited from

BaseDriver.logCustomEvent

Defined in

node_modules/@appium/types/build/lib/driver.d.ts:128


logEvent

logEvent(eventName): void

API method for driver developers to log timings for important events

Parameters

Name Type
eventName string

Returns

void

Inherited from

BaseDriver.logEvent

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:132


logExtraCaps

logExtraCaps(caps): void

A helper function to log unrecognized capabilities to the console

Params

caps - the capabilities

Parameters

Name Type
caps ConstraintsToCaps<{ absoluteWebLocations: { isBoolean: true = true } ; additionalWebviewBundleIds: {} = {}; agentPath: { isString: true = true } ; allowProvisioningDeviceRegistration: { isBoolean: true = true } ; app: { isString: true = true } ; appInstallStrategy: { inclusionCaseInsensitive: readonly ["serial", "parallel", "ios-deploy"] ; isString: true = true } ; appPushTimeout: { isNumber: true = true } ; autoAcceptAlerts: { isBoolean: true = true } ; autoDismissAlerts: { isBoolean: true = true } ; bootstrapPath: { isString: true = true } ; browserName: { isString: true = true } ; bundleId: { isString: true = true } ; calendarAccessAuthorized: { isBoolean: true = true } ; calendarFormat: { isString: true = true } ; clearSystemFiles: { isBoolean: true = true } ; commandTimeouts: {} = {}; connectHardwareKeyboard: { isBoolean: true = true } ; customSSLCert: { isString: true = true } ; derivedDataPath: { isString: true = true } ; deviceName: { isString: true = true } ; disableAutomaticScreenshots: { isBoolean: true = true } ; enableAsyncExecuteFromHttps: { isBoolean: true = true } ; enablePerformanceLogging: { isBoolean: true = true } ; enforceAppInstall: { isBoolean: true = true } ; enforceFreshSimulatorCreation: { isBoolean: true = true } ; forceAppLaunch: { isBoolean: true = true } ; forceTurnOnSoftwareKeyboardSimulator: { isBoolean: true = true } ; fullContextList: { isBoolean: true = true } ; ignoreAboutBlankUrl: { isBoolean: true = true } ; includeDeviceCapsToSessionInfo: { isBoolean: true = true } ; includeSafariInWebviews: { isBoolean: true = true } ; iosInstallPause: { isNumber: true = true } ; iosSimulatorLogsPredicate: { isString: true = true } ; isHeadless: { isBoolean: true = true } ; keepKeyChains: { isBoolean: true = true } ; keychainPassword: { isString: true = true } ; keychainPath: { isString: true = true } ; keychainsExcludePatterns: { isString: true = true } ; launchWithIDB: { isBoolean: true = true } ; localizableStringsDir: { isString: true = true } ; maxTypingFrequency: { isNumber: true = true } ; mjpegScreenshotUrl: { isString: true = true } ; mjpegServerPort: { isNumber: true = true } ; nativeTyping: { isBoolean: true = true } ; nativeWebTap: { isBoolean: true = true } ; nativeWebTapStrict: { isBoolean: true = true } ; otherApps: { isString: true = true } ; permissions: { isString: true = true } ; platformName: { inclusionCaseInsensitive: readonly ["iOS", "tvOS"] ; isString: true = true; presence: true = true } ; prebuildWDA: { isBoolean: true = true } ; processArguments: {} = {}; reduceMotion: { isBoolean: true = true } ; reduceTransparency: { isBoolean: true = true } ; remoteDebugProxy: { isString: true = true } ; resetLocationService: { isBoolean: true = true } ; resetOnSessionStartOnly: { isBoolean: true = true } ; resultBundlePath: { isString: true = true } ; resultBundleVersion: { isNumber: true = true } ; safariAllowPopups: { isBoolean: true = true } ; safariGarbageCollect: { isBoolean: true = true } ; safariGlobalPreferences: { isObject: true = true } ; safariIgnoreFraudWarning: { isBoolean: true = true } ; safariIgnoreWebHostnames: { isString: true = true } ; safariInitialUrl: { isString: true = true } ; safariLogAllCommunication: { isBoolean: true = true } ; safariLogAllCommunicationHexDump: { isBoolean: true = true } ; safariOpenLinksInBackground: { isBoolean: true = true } ; safariShowFullResponse: { isBoolean: true = true } ; safariSocketChunkSize: { isNumber: true = true } ; safariWebInspectorMaxFrameLength: { isNumber: true = true } ; scaleFactor: { isString: true = true } ; screenshotQuality: { isNumber: true = true } ; shouldTerminateApp: { isBoolean: true = true } ; shouldUseSingletonTestManager: { isBoolean: true = true } ; showIOSLog: { isBoolean: true = true } ; showSafariConsoleLog: { isBoolean: true = true } ; showSafariNetworkLog: { isBoolean: true = true } ; showXcodeLog: { isBoolean: true = true } ; shutdownOtherSimulators: { isBoolean: true = true } ; simpleIsVisibleCheck: { isBoolean: true = true } ; simulatorDevicesSetPath: { isString: true = true } ; simulatorPasteboardAutomaticSync: { isString: true = true } ; simulatorStartupTimeout: { isNumber: true = true } ; simulatorTracePointer: { isBoolean: true = true } ; simulatorWindowCenter: { isString: true = true } ; skipLogCapture: { isBoolean: true = true } ; udid: { isString: true = true } ; updatedWDABundleId: { isString: true = true } ; useJSONSource: { isBoolean: true = true } ; useNativeCachingStrategy: { isBoolean: true = true } ; useNewWDA: { isBoolean: true = true } ; usePrebuiltWDA: { isBoolean: true = true } ; useSimpleBuildTest: { isBoolean: true = true } ; useXctestrunFile: { isBoolean: true = true } ; waitForIdleTimeout: { isNumber: true = true } ; waitForQuiescence: { isBoolean: true = true } ; wdaBaseUrl: { isString: true = true } ; wdaConnectionTimeout: { isNumber: true = true } ; wdaEventloopIdleDelay: { isNumber: true = true } ; wdaLaunchTimeout: { isNumber: true = true } ; wdaLocalPort: { isNumber: true = true } ; wdaStartupRetries: { isNumber: true = true } ; wdaStartupRetryInterval: { isNumber: true = true } ; webDriverAgentUrl: { isString: true = true } ; webkitResponseTimeout: { isNumber: true = true } ; webviewConnectRetries: { isNumber: true = true } ; webviewConnectTimeout: { isNumber: true = true } ; xcodeConfigFile: { isString: true = true } ; xcodeOrgId: { isString: true = true } ; xcodeSigningId: { isString: true = true } }>

Returns

void

Inherited from

BaseDriver.logExtraCaps

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/driver.d.ts:42


mergeCliArgsToOpts

mergeCliArgsToOpts(): boolean

Returns

boolean

Defined in

lib/driver.js:365


newCommandTimeout

newCommandTimeout(ms): Promise<void>

Set Appium's new command timeout

Parameters

Name Type Description
ms number the timeout in ms

Returns

Promise<void>

Inherited from

BaseDriver.newCommandTimeout

Defined in

node_modules/@appium/types/build/lib/driver.d.ts:111


onPostConfigureApp

onPostConfigureApp(«destructured»): Promise<false | { appPath: any = cachedAppInfo.fullPath }>

Parameters

Name Type
«destructured» Object

Returns

Promise<false | { appPath: any = cachedAppInfo.fullPath }>

Defined in

lib/driver.js:1111


onSettingsUpdate

onSettingsUpdate(key, value): Promise<any>

Parameters

Name Type
key any
value any

Returns

Promise<any>

Defined in

lib/driver.js:307


onUnexpectedShutdown

onUnexpectedShutdown(handler): void

Set a callback handler if needed to execute a custom piece of code when the driver is shut down unexpectedly. Multiple calls to this method will cause the handler to be executed mutiple times

Parameters

Name Type Description
handler (...args: any[]) => void The code to be executed on unexpected shutdown. The function may accept one argument, which is the actual error instance, which caused the driver to shut down.

Returns

void

Inherited from

BaseDriver.onUnexpectedShutdown

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:107


parseTimeoutArgument

parseTimeoutArgument(ms): number

Get a timeout value from a number or a string

Parameters

Name Type Description
ms string | number the timeout value as a number or a string

Returns

number

The timeout as a number in ms

Inherited from

BaseDriver.parseTimeoutArgument

Defined in

node_modules/@appium/types/build/lib/driver.d.ts:119


proxyActive

proxyActive(): boolean

Returns

boolean

Overrides

BaseDriver.proxyActive

Defined in

lib/driver.js:1370


proxyRouteIsAvoided

proxyRouteIsAvoided(sessionId, method, url, body?): boolean

Whether a given command route (expressed as method and url) should not be proxied according to this driver

Parameters

Name Type Description
sessionId string the current sessionId (in case the driver runs multiple session ids and requires it). This is not used in this method but should be made available to overridden methods.
method HTTPMethod HTTP method of the route
url string url of the route
body? any webdriver request body

Returns

boolean

  • whether the route should be avoided

Inherited from

BaseDriver.proxyRouteIsAvoided

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:217


reset

reset(): Promise<void>

Reset the current session (run the delete session and create session subroutines)

Returns

Promise<void>

Overrides

BaseDriver.reset

Defined in

lib/driver.js:1748


resetIos

resetIos(): void

Returns

void

Defined in

lib/driver.js:316


runReset

runReset(opts?): Promise<void>

Parameters

Name Type
opts? XCUITestDriverOpts

Returns

Promise<void>

Defined in

lib/driver.js:873


sessionExists

sessionExists(sessionId?): boolean

method required by MJSONWP in order to determine whether it should respond with an invalid session response

Parameters

Name Type
sessionId? string

Returns

boolean

Inherited from

BaseDriver.sessionExists

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:144


setImplicitWait

setImplicitWait(ms): void

A helper method (not a command) used to set the implicit wait value

Parameters

Name Type Description
ms number the implicit wait in ms

Returns

void

Inherited from

BaseDriver.setImplicitWait

Defined in

node_modules/@appium/types/build/lib/driver.d.ts:51


setInitialOrientation

setInitialOrientation(orientation): Promise<void>

Parameters

Name Type
orientation any

Returns

Promise<void>

Defined in

lib/driver.js:1686


setNewCommandTimeout

setNewCommandTimeout(ms): void

Set the new command timeout

Parameters

Name Type Description
ms number the timeout in ms

Returns

void

Inherited from

BaseDriver.setNewCommandTimeout

Defined in

node_modules/@appium/types/build/lib/driver.d.ts:36


setProtocolMJSONWP

setProtocolMJSONWP(): void

Returns

void

Inherited from

BaseDriver.setProtocolMJSONWP

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:154


setProtocolW3C

setProtocolW3C(): void

Returns

void

Inherited from

BaseDriver.setProtocolW3C

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/core.d.ts:156


start

start(): Promise<void>

Returns

Promise<void>

Defined in

lib/driver.js:468


startNewCommandTimeout

startNewCommandTimeout(): Promise<void>

Start the timer for the New Command Timeout, which when it runs out, will stop the current session

Returns

Promise<void>

Inherited from

BaseDriver.startNewCommandTimeout

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/driver.d.ts:30


startSim

startSim(): Promise<void>

Returns

Promise<void>

Defined in

lib/driver.js:1247


startUnexpectedShutdown

startUnexpectedShutdown(err?): Promise<void>

Signify to any owning processes that this driver encountered an error which should cause the session to terminate immediately (for example an upstream service failed)

Parameters

Name Type Description
err? Error the Error object which is causing the shutdown

Returns

Promise<void>

Inherited from

BaseDriver.startUnexpectedShutdown

Defined in

node_modules/@appium/base-driver/build/lib/basedriver/driver.d.ts:29


startWda

startWda(sessionId, realDevice): Promise<void>

Start WebDriverAgentRunner

Parameters

Name Type Description
sessionId string The id of the target session to launch WDA with.
realDevice boolean Equals to true if the test target device is a real device.

Returns

Promise<void>

Defined in

lib/driver.js:717


startWdaSession

startWdaSession(bundleId, processArguments): Promise<void>

Parameters

Name Type
bundleId any
processArguments any

Returns

Promise<void>

Defined in

lib/driver.js:1299


stop

stop(): Promise<void>

Returns

Promise<void>

Defined in

lib/driver.js:970


timeouts

timeouts(type, ms, script?, pageLoad?, implicit?): Promise<void>

Set the various timeouts associated with a session

See

https://w3c.github.io/webdriver/#set-timeouts

Parameters

Name Type Description
type string used only for the old (JSONWP) command, the type of the timeout
ms string | number used only for the old (JSONWP) command, the ms for the timeout
script? number the number in ms for the script timeout, used for the W3C command
pageLoad? number the number in ms for the pageLoad timeout, used for the W3C command
implicit? string | number the number in ms for the implicit wait timeout, used for the W3C command

Returns

Promise<void>

Inherited from

BaseDriver.timeouts

Defined in

node_modules/@appium/types/build/lib/driver.d.ts:30


unzipApp

unzipApp(appPath, depth?): Promise<string>

Unzip the given archive and find a matching .app bundle in it

Throws

If no matching .app bundles were found in the provided archive.

Parameters

Name Type Default value Description
appPath string undefined The path to the archive.
depth number 0 [0] the current nesting depth. App bundles whose nesting level is greater than 1 are not supported.

Returns

Promise<string>

Full path to the first matching .app bundle..

Defined in

lib/driver.js:1057


validateDesiredCaps

validateDesiredCaps(caps): caps is DriverCaps<Object>

Parameters

Name Type
caps any

Returns

caps is DriverCaps<Object>

Overrides

BaseDriver.validateDesiredCaps

Defined in

lib/driver.js:1415


validateLocatorStrategy

validateLocatorStrategy(strategy): void

Parameters

Name Type
strategy any

Returns

void

Overrides

BaseDriver.validateLocatorStrategy

Defined in

lib/driver.js:1406