Get All Contexts

Get all the contexts available to automate

Example Usage

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

# Python
contexts = driver.contexts

// Javascript
// example
let contexts = driver.contexts();

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

# Ruby
# ruby_lib example
context = available_contexts

# ruby_lib_core example
context = @driver.available_contexts

$contexts = $driver->contexts();

// C#
// TODO C# sample


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.


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
Python All
Javascript (WebdriverIO) All
Javascript (WD) All
Ruby All
C# All

HTTP API Specifications


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

URL Parameters

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

JSON Parameters



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

See Also