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

  Edit this Doc Execute Mobile Command

Execute a native mobile command

Example Usage

driver.executeScript("mobile: scroll", ImmutableMap.of("direction", "down"));

self.driver.execute_script("mobile: scroll", {'direction': 'down'})

// example
var result = browser.execute('mobile: scroll', {direction: 'down'})

// wd example
await driver.execute('mobile: scroll', {direction: 'down'});

# ruby_lib example
execute_script("mobile: scroll", { "direction" => "down"})

# ruby_lib_core example
@driver.execute_script("mobile: scroll", { "direction" => "down"})

driver.ExecuteScript("mobile:scroll", new Dictionary<string, string> { { "direction", "down" } });


Execute a variety of native, mobile commands that aren't associated with a specific endpoint

Syntax is execute("mobile: <commandName>", <JSON serializable argument>) (see Execute Script for more details on syntax).



Please refer to mobile commands section in UiAutomator2 driver repository.


Please refer to mobile commands section in Espresso driver repository.



Please refer to mobile commands section in XCUITest driver repository.


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 ?+ 1.6.4+ All
Windows Windows 10+ 1.6.0+ All

Appium Clients

Language Support Documentation
Java All
Python All
Javascript (WebdriverIO) All
Javascript (WD) All
Ruby All
C# All

HTTP API Specifications


POST /session/:session_id/execute

URL Parameters

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

JSON Parameters

name type description
script string The mobile command to execute
args array The JSON serializable arguments


The command result (any)

See Also