Edit this Doc Get All Contexts

Get all the contexts available to automate

Example Usage

Set<String> contextNames = driver.getContextHandles();

contexts = driver.contexts

// webdriver.io example
let contexts = driver.contexts();



// wd example
let contexts = await driver.contexts();

# ruby_lib example
context = available_contexts


# ruby_lib_core example
context = @driver.available_contexts

// TODO C# sample

$contexts = $driver->contexts();

Description

Retrieve all the contexts available to be automated. This will include, at least, the native context. There can also be zero or more web view contexts. For information on the format of the context names, see the get context documentation. On iOS, using the XCUITest driver, one can use the mobile: getContexts mobile command as an alternative to the standard method in order to get the title and url associated with each context as additional metadata. For information on contexts, see Appium's hybrid automation docs.

Support

Appium Server

Platform Driver Platform Versions Appium Version Driver Version
iOS XCUITest 9.3+ 1.6.0+ All
UIAutomation 8.0 to 9.3 All All
Android Espresso ?+ 1.9.0+ All
UiAutomator2 ?+ 1.6.0+ All
UiAutomator 4.2+ All All
Mac Mac None None None
Windows Windows None None None

Appium Clients

Language Support Documentation
Java All appium.github.io
Python All github.com
Javascript (WebdriverIO) All
Javascript (WD) All github.com
Ruby All www.rubydoc.info
PHP All github.com
C# All github.com

HTTP API Specifications

Endpoint

GET /wd/hub/session/:session_id/contexts

URL Parameters

name description
session_id ID of the session to route the command to

JSON Parameters

None

Response

Array of the names of all available contexts (Array<String>)

See Also