@appium/base-driver Commands
Commands
createSession
POST
/session
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.
See
https://w3c.github.io/webdriver/#new-session
Parameters
Name | Type | Description |
---|---|---|
desiredCapabilities? |
W3CDriverCaps <C > |
the new session capabilities |
requiredCapabilities? |
W3CDriverCaps <C > |
another place the new session capabilities could be sent (typically left undefined) |
capabilities? |
W3CDriverCaps <C > |
another place the new session capabilities could be sent (typically left undefined) |
Response
CreateResult
The capabilities object representing the created session
deleteSession
DELETE
/session/:sessionId
Returns capabilities for the session and event history (if applicable)
Response
SingularSessionData
<C
, SessionData
>
A session data object
getSession
GET
/session/:sessionId
Returns capabilities for the session and event history (if applicable)
Response
SingularSessionData
<C
, SessionData
>
A session data object
findElement
POST
/session/:sessionId/element
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 |
---|---|---|
using |
string |
the locator strategy |
value |
string |
the selector to combine with the strategy to find the specific element |
Response
Element
<string
>
The element object encoding the element id which can be used in element-related commands
findElementFromElement
POST
/session/:sessionId/element/:elementId/element
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 |
---|---|---|
using |
string |
the locator strategy |
value |
string |
the selector to combine with the strategy to find the specific element |
Response
Element
<string
>
The element object encoding the element id which can be used in element-related commands
findElementFromShadowRoot
POST
/session/:sessionId/shadow/:shadowId/element
Find an element from a shadow root
See
https://w3c.github.io/webdriver/#find-element-from-shadow-root
Parameters
Name | Type | Description |
---|---|---|
using |
string |
the locator strategy |
value |
string |
the selector to combine with the strategy to find the specific elements |
Response
Element
<string
>
The element inside the shadow root matching the selector
findElements
POST
/session/:sessionId/elements
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 |
---|---|---|
using |
string |
the locator strategy |
value |
string |
the selector to combine with the strategy to find the specific elements |
Response
Element
<string
>[]
A possibly-empty list of element objects
findElementsFromElement
POST
/session/:sessionId/element/:elementId/elements
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 |
---|---|---|
using |
string |
the locator strategy |
value |
string |
the selector to combine with the strategy to find the specific elements |
Response
Element
<string
>[]
A possibly-empty list of element objects
findElementsFromShadowRoot
POST
/session/:sessionId/shadow/:shadowId/elements
Find elements from a shadow root
See
https://w3c.github.io/webdriver/#find-element-from-shadow-root
Parameters
Name | Type | Description |
---|---|---|
using |
string |
the locator strategy |
value |
string |
the selector to combine with the strategy to find the specific elements |
Response
Element
<string
>[]
A possibly empty list of elements inside the shadow root matching the selector
getLog
POST
/session/:sessionId/log
Get the log for a given log type.
Parameters
Name | Type | Description |
---|---|---|
type |
string |
Name/key of log type as defined in ILogCommands.supportedLogTypes. |
Response
any
getLog
POST
/session/:sessionId/se/log
Get the log for a given log type.
Parameters
Name | Type | Description |
---|---|---|
type |
string |
Name/key of log type as defined in ILogCommands.supportedLogTypes. |
Response
any
getLogEvents
POST
/session/:sessionId/appium/events
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 |
Response
EventHistory
| Record
<string
, number
>
The event history for the session
getLogTypes
GET
/session/:sessionId/log/types
Get available log types as a list of strings
Response
string
[]
getLogTypes
GET
/session/:sessionId/se/log/types
Get available log types as a list of strings
Response
string
[]
getPageSource
GET
/session/:sessionId/source
Get the current page/app source as HTML/XML
See
https://w3c.github.io/webdriver/#get-page-source
Response
string
The UI hierarchy in a platform-appropriate format (e.g., HTML for a web page)
getSessions
GET
/sessions
Get data for all sessions running on an Appium server
Response
MultiSessionData
<C
>[]
A list of session data objects
getSettings
GET
/session/:sessionId/appium/settings
Update the session's settings dictionary with a new settings object
Response
null
updateSettings
POST
/session/:sessionId/appium/settings
Update the session's settings dictionary with a new settings object
Parameters
Name | Type | Description |
---|---|---|
settings |
Settings |
A key-value map of setting names to values. Settings not named in the map will not have their value adjusted. |
Response
null
getStatus
GET
/status
Summary
Retrieve the server's current status.
Description
Returns information about whether a remote end is in a state in which it can create new sessions and can additionally include arbitrary meta information that is specific to the implementation.
The readiness state is represented by the ready property of the body, which is false if an attempt to create a session at the current time would fail. However, the value true does not guarantee that a New Session command will succeed.
Implementations may optionally include additional meta information as part of the body, but the top-level properties ready and message are reserved and must not be overwritten.
Examples
JavaScript
Python
Java
Ruby
Response
Object
getTimeouts
GET
/session/:sessionId/timeouts
Set the various timeouts associated with a session
See
https://w3c.github.io/webdriver/#set-timeouts
Response
null
timeouts
POST
/session/:sessionId/timeouts
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 |
Response
null
implicitWait
POST
/session/:sessionId/timeouts/implicit_wait
Set the implicit wait timeout
Deprecated
Use timeouts
instead
Parameters
Name | Type | Description |
---|---|---|
ms |
string | number |
the timeout in ms |
Response
null
logCustomEvent
POST
/session/:sessionId/appium/log_event
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 |
Response
null
reset
POST
/session/:sessionId/appium/app/reset
Reset the current session (run the delete session and create session subroutines)
Deprecated
Use explicit session management commands instead
Response
null