Class: DriverCore<C, Settings>
@appium/base-driver.DriverCore
Methods and properties which both AppiumDriver
and BaseDriver
inherit.
This should not be used directly by external code.
Type parameters
Name | Type |
---|---|
C |
extends Constraints |
Settings |
extends StringRecord = StringRecord |
Hierarchy
DriverCore
Implements
Core
<C
,Settings
>
Table of contents
Constructors
Properties
- _eventHistory
- _log
- allowInsecure
- basePath
- commandsQueueGuard
- denyInsecure
- eventEmitter
- helpers
- implicitWaitMs
- initialOpts
- locatorStrategies
- managedDrivers
- newCommandTimeoutMs
- noCommandTimer
- opts
- protocol
- relaxedSecurityEnabled
- sessionId
- settings
- shouldValidateCaps
- shutdownUnexpectedly
- webLocatorStrategies
- baseVersion
Accessors
Methods
- addManagedDriver
- assertFeatureEnabled
- canProxy
- clearNewCommandTimeout
- driverForSession
- ensureFeatureEnabled
- getManagedDrivers
- getProxyAvoidList
- getStatus
- isFeatureEnabled
- isMjsonwpProtocol
- isW3CProtocol
- logEvent
- onUnexpectedShutdown
- proxyActive
- proxyRouteIsAvoided
- sessionExists
- setProtocolMJSONWP
- setProtocolW3C
- validateLocatorStrategy
Constructors
constructor
• new DriverCore<C
, Settings
>(opts?
, shouldValidateCaps?
)
Type parameters
Name | Type |
---|---|
C |
extends Constraints |
Settings |
extends StringRecord = StringRecord |
Parameters
Name | Type | Default value |
---|---|---|
opts |
Object |
undefined |
opts.address |
string |
undefined |
opts.allowCors |
NonNullable <undefined | boolean > |
undefined |
opts.allowInsecure |
AllowInsecureConfig |
undefined |
opts.basePath |
string |
undefined |
opts.callbackAddress |
undefined | string |
undefined |
opts.callbackPort |
number |
undefined |
opts.debugLogSpacing |
NonNullable <undefined | boolean > |
undefined |
opts.defaultCapabilities |
undefined | DefaultCapabilitiesConfig |
undefined |
opts.denyInsecure |
DenyInsecureConfig |
undefined |
opts.driver |
undefined | DriverConfig |
undefined |
opts.fastReset? |
boolean |
undefined |
opts.keepAliveTimeout |
number |
undefined |
opts.localTimezone |
NonNullable <undefined | boolean > |
undefined |
opts.logFile |
undefined | string |
undefined |
opts.logFilters |
undefined | LogFiltersConfig |
undefined |
opts.logNoColors |
NonNullable <undefined | boolean > |
undefined |
opts.logTimestamp |
NonNullable <undefined | boolean > |
undefined |
opts.loglevel |
NonNullable <undefined | LogLevelConfig > |
undefined |
opts.longStacktrace |
NonNullable <undefined | boolean > |
undefined |
opts.noPermsCheck |
NonNullable <undefined | boolean > |
undefined |
opts.nodeconfig |
undefined | NodeconfigConfig |
undefined |
opts.plugin |
undefined | PluginConfig |
undefined |
opts.port |
number |
undefined |
opts.relaxedSecurityEnabled |
NonNullable <undefined | boolean > |
undefined |
opts.sessionOverride |
NonNullable <undefined | boolean > |
undefined |
opts.skipUninstall? |
boolean |
undefined |
opts.sslCertificatePath |
undefined | string |
undefined |
opts.sslKeyPath |
undefined | string |
undefined |
opts.strictCaps |
NonNullable <undefined | boolean > |
undefined |
opts.tmpDir |
undefined | string |
undefined |
opts.traceDir |
undefined | string |
undefined |
opts.useDrivers |
UseDriversConfig |
undefined |
opts.usePlugins |
UsePluginsConfig |
undefined |
opts.webhook |
undefined | string |
undefined |
shouldValidateCaps |
boolean |
true |
Defined in
packages/base-driver/lib/basedriver/core.ts:102
Properties
_eventHistory
• Protected
_eventHistory: EventHistory
Defined in
packages/base-driver/lib/basedriver/core.ts:76
_log
• Protected
_log: AppiumLogger
Defined in
packages/base-driver/lib/basedriver/core.ts:84
allowInsecure
• allowInsecure: string
[]
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:60
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
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:56
commandsQueueGuard
• Protected
commandsQueueGuard: AsyncLock
Defined in
packages/base-driver/lib/basedriver/core.ts:90
denyInsecure
• denyInsecure: string
[]
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:62
eventEmitter
• eventEmitter: EventEmitter
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:79
helpers
• helpers: DriverHelpers
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:46
implicitWaitMs
• implicitWaitMs: number
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:66
initialOpts
• initialOpts: Object
Type declaration
Name | Type |
---|---|
address |
string |
allowCors |
NonNullable <undefined | boolean > |
allowInsecure |
AllowInsecureConfig |
basePath |
string |
callbackAddress |
undefined | string |
callbackPort |
number |
debugLogSpacing |
NonNullable <undefined | boolean > |
defaultCapabilities |
undefined | DefaultCapabilitiesConfig |
denyInsecure |
DenyInsecureConfig |
driver |
undefined | DriverConfig |
fastReset? |
boolean |
keepAliveTimeout |
number |
localTimezone |
NonNullable <undefined | boolean > |
logFile |
undefined | string |
logFilters |
undefined | LogFiltersConfig |
logNoColors |
NonNullable <undefined | boolean > |
logTimestamp |
NonNullable <undefined | boolean > |
loglevel |
NonNullable <undefined | LogLevelConfig > |
longStacktrace |
NonNullable <undefined | boolean > |
noPermsCheck |
NonNullable <undefined | boolean > |
nodeconfig |
undefined | NodeconfigConfig |
plugin |
undefined | PluginConfig |
port |
number |
relaxedSecurityEnabled |
NonNullable <undefined | boolean > |
sessionOverride |
NonNullable <undefined | boolean > |
skipUninstall? |
boolean |
sslCertificatePath |
undefined | string |
sslKeyPath |
undefined | string |
strictCaps |
NonNullable <undefined | boolean > |
tmpDir |
undefined | string |
traceDir |
undefined | string |
useDrivers |
UseDriversConfig |
usePlugins |
UsePluginsConfig |
webhook |
undefined | string |
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:44
locatorStrategies
• locatorStrategies: string
[]
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:68
managedDrivers
• managedDrivers: Driver
<Constraints
, StringRecord
, StringRecord
, DefaultCreateSessionResult
<Constraints
>, void
, StringRecord
>[]
Defined in
packages/base-driver/lib/basedriver/core.ts:72
newCommandTimeoutMs
• newCommandTimeoutMs: number
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:64
noCommandTimer
• noCommandTimer: null
| Timeout
Defined in
packages/base-driver/lib/basedriver/core.ts:74
opts
• opts: DriverOpts
<C
>
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:42
protocol
• Optional
protocol: Protocol
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:100
relaxedSecurityEnabled
• relaxedSecurityEnabled: boolean
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:58
sessionId
• sessionId: null
| string
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:40
settings
• settings: DeviceSettings
<Settings
>
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
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:98
shouldValidateCaps
• shouldValidateCaps: boolean
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:88
shutdownUnexpectedly
• shutdownUnexpectedly: boolean
Defined in
packages/base-driver/lib/basedriver/core.ts:86
webLocatorStrategies
• webLocatorStrategies: string
[]
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:70
baseVersion
▪ Static
baseVersion: string
= BASEDRIVER_VER
Make the basedriver version available so for any driver which inherits from this package, we know which version of basedriver it inherited from
Defined in
packages/base-driver/lib/basedriver/core.ts:38
Accessors
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
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:160
eventHistory
• get
eventHistory(): EventHistory
Returns
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:183
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.
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:175
log
• get
log(): AppiumLogger
Returns
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:137
Methods
addManagedDriver
▸ addManagedDriver(driver
): void
Parameters
Name | Type |
---|---|
driver |
Driver <Constraints , StringRecord , StringRecord , DefaultCreateSessionResult <Constraints >, void , StringRecord > |
Returns
void
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:365
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
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:290
canProxy
▸ canProxy(sessionId
): boolean
Parameters
Name | Type |
---|---|
sessionId |
string |
Returns
boolean
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:324
clearNewCommandTimeout
▸ clearNewCommandTimeout(): Promise
<void
>
Returns
Promise
<void
>
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:373
driverForSession
▸ driverForSession(sessionId
): null
| Core
<Constraints
, 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
<Constraints
, StringRecord
>
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:227
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
Defined in
packages/base-driver/lib/basedriver/core.ts:280
getManagedDrivers
▸ getManagedDrivers(): Driver
<Constraints
, StringRecord
, StringRecord
, DefaultCreateSessionResult
<Constraints
>, void
, StringRecord
>[]
Returns
Driver
<Constraints
, StringRecord
, StringRecord
, DefaultCreateSessionResult
<Constraints
>, void
, StringRecord
>[]
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:369
getProxyAvoidList
▸ getProxyAvoidList(sessionId
): RouteMatcher
[]
Parameters
Name | Type |
---|---|
sessionId |
string |
Returns
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:320
getStatus
▸ getStatus(): Promise
<{}>
Returns
Promise
<{}>
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:210
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
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:252
isMjsonwpProtocol
▸ isMjsonwpProtocol(): boolean
Returns
boolean
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:231
isW3CProtocol
▸ isW3CProtocol(): boolean
Returns
boolean
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:235
logEvent
▸ logEvent(eventName
): void
API method for driver developers to log timings for important events
Parameters
Name | Type |
---|---|
eventName |
string |
Returns
void
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:190
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
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:150
proxyActive
▸ proxyActive(sessionId
): boolean
Parameters
Name | Type |
---|---|
sessionId |
string |
Returns
boolean
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:316
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
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:341
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
Implementation of
Defined in
packages/base-driver/lib/basedriver/core.ts:218
setProtocolMJSONWP
▸ setProtocolMJSONWP(): void
Returns
void
Defined in
packages/base-driver/lib/basedriver/core.ts:239
setProtocolW3C
▸ setProtocolW3C(): void
Returns
void
Defined in
packages/base-driver/lib/basedriver/core.ts:243
validateLocatorStrategy
▸ validateLocatorStrategy(strategy
, webContext?
): void
Parameters
Name | Type | Default value |
---|---|---|
strategy |
string |
undefined |
webContext |
boolean |
false |
Returns
void