This documentation is deprecated. Please refer to the README in the Appium repository or Appium 2.0 documentation.

  Edit this Doc Get All Contexts

Get all the contexts available to automate

Example Usage

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

contexts = driver.contexts

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

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

# ruby_lib example
context = available_contexts

# ruby_lib_core example
context = @driver.available_contexts

List<string> AllContexts = new List<string>();
     foreach (var context in (driver.Contexts))


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. mobile command mobile: getContexts is available on iOS (XCUITest) and Android (UIAutomator2 and Espresso) to get more detailed contexts. 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.3+ 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 /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