Appium
#
shakePerform a shake action on the device.
Appium command. More details can be found in the official protocol docs.
#
Usage#
Support#
lockLock the device.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
seconds optional | number | how long to lock the screen (iOS only) |
#
Support
#
unlockUnlock the device.
Appium command. More details can be found in the official protocol docs.
#
Usage#
Support
#
isLockedCheck whether the device is locked or not.
Appium command. More details can be found in the official protocol docs.
#
Usage#
Returns- <boolean> isLocked: True if the device is locked, false if not
#
Support
#
startRecordingScreenStart recording the screen.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
options optional | object | command parameters that can contain keys like: remotePath, username, password, method, forceRestart, timeLimit, videoType, videoQuality, videoFps, bitRate, videoSize, bugReport (see more description in Appium docs) |
#
Support
#
stopRecordingScreenStop recording screen
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
remotePath optional | string | The path to the remote location, where the resulting video should be uploaded. The following protocols are supported http/https, ftp. This option only has an effect if there is screen recording process in progreess and forceRestart parameter is not set to true. Null or empty string value (the default setting) means the content of resulting file should be encoded as Base64. |
username optional | string | The name of the user for the remote authentication. |
password optional | string | The password for the remote authentication. |
method optional | string | The http multipart upload method name. The 'PUT' one is used by default. |
#
Returns- <string> response: Base64 encoded string. If remote_path is set, the response is empty string
#
Support
#
getPerformanceDataTypesReturns the information types of the system state which is supported to read as like cpu, memory, network traffic, and battery.
Appium command. More details can be found in the official protocol docs.
#
Usage#
Returns- <string[]> performanceTypes: The available performance data types (cpuinfo|batteryinfo|networkinfo|memoryinfo)
#
Support#
getPerformanceDataReturns the information of the system state which is supported to read as like cpu, memory, network traffic, and battery.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
packageName | string | the package name of the application |
dataType | string | the type of system state which wants to read. It should be one of the supported performance data types |
dataReadTimeout optional | number | the number of attempts to read |
#
Returns- <string[]> performanceData: The information type of the system state which is supported to read as like cpu, memory, network traffic, and battery
#
Support#
pressKeyCodePress a particular key on the device.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
keycode | number | keycode to press |
metastate optional | number | meta state to press the keycode with |
flags optional | number | flags for the keypress |
#
Support#
longPressKeyCodePress and hold a particular key code on the device.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
keycode | number | keycode to press on the device |
metastate optional | number | metastate for the keypress |
flags optional | number | flags for the keypress |
#
Support#
sendKeyEventSend a key code to the device.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
keycode | string | keycode to press |
metastate optional | string | meta state to press the keycode with |
#
rotateDeviceRotate the device in three dimensions.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
x | number | x offset to use for the center of the rotate gesture |
y | number | y offset to use for the center of the rotate gesture |
radius | number | the distance in points from the center to the edge of the circular path |
rotation | number | the length of rotation in radians |
touchCount | number | the number of touches to use in the specified gesture |
duration | number | the length of hold time for the specified gesture, in seconds |
element optional | string | the id of an element returned in a previous call to execute the rotation on |
#
Support#
getCurrentActivityGet the name of the current Android activity.
Appium command. More details can be found in the official protocol docs.
#
Usage#
Returns- <string> activity: Name of the current activity
#
Support#
getCurrentPackageGet the name of the current Android package.
Appium command. More details can be found in the official protocol docs.
#
Usage#
Returns- <string> package: Name of the current package
#
Support#
installAppInstall the given app onto the device.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
appPath | string | path to application .apk file |
#
Support
#
activateAppActivate the given app onto the device
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
appId optional | string | REQUIRED for Android |
bundleId optional | string | REQUIRED for iOS |
#
Support
#
removeAppRemove an app from the device.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
appId optional | string | REQUIRED for Android |
bundleId optional | string | REQUIRED for iOS |
#
Support
#
terminateAppTerminate the given app on the device
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
appId optional | string | REQUIRED for Android |
bundleId optional | string | REQUIRED for iOS |
#
Support
#
isAppInstalledCheck whether the specified app is installed on the device.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
appId optional | string | REQUIRED for Android |
bundleId optional | string | REQUIRED for iOS |
#
Returns- <boolean> isAppInstalled: Return true if installed, false if not
#
Support
#
queryAppStateGet the given app status on the device
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
appId optional | string | REQUIRED for Android |
bundleId optional | string | REQUIRED for iOS |
#
Returns- <number> appStatus: 0 is not installed. 1 is not running. 2 is running in background or suspended. 3 is running in background. 4 is running in foreground
#
Support
#
hideKeyboardHide soft keyboard.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
strategy optional | string | hide keyboard strategy (UIAutomation only), available strategies - 'press', 'pressKey', 'swipeDown', 'tapOut', 'tapOutside', 'default' |
key optional | string | key value if strategy is 'pressKey' |
keyCode optional | string | key code if strategy is 'pressKey' |
keyName optional | string | key name if strategy is 'pressKey' |
#
Support
#
isKeyboardShownWhether or not the soft keyboard is shown.
Appium command. More details can be found in the official protocol docs.
#
Usage#
Returns- <boolean> isKeyboardShown: True if the keyboard is shown
#
Support
#
pushFilePlace a file onto the device in a particular place.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
path | string | path to install the data to |
data | string | contents of file in base64 |
#
Support
#
pullFileRetrieve a file from the device's file system.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
path | string | path on the device to pull file from |
#
Returns- <string> response: Contents of file in base64
#
Support
#
pullFolderRetrieve a folder from the device's file system.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
path | string | path to an entire folder on the device |
#
Support
#
toggleAirplaneModeToggle airplane mode on device.
Appium command. More details can be found in the official protocol docs.
#
Usage#
Support#
toggleDataSwitch the state of data service.
Appium command. More details can be found in the official protocol docs.
#
Usage#
Support#
toggleWiFiSwitch the state of the wifi service.
Appium command. More details can be found in the official protocol docs.
#
Usage#
Support#
toggleLocationServicesSwitch the state of the location service.
Appium command. More details can be found in the official protocol docs.
#
Usage#
Support#
toggleNetworkSpeedSet network speed (Emulator only)
Appium command. More details can be found in the official protocol docs.
#
Usage#
Support#
openNotificationsOpen Android notifications (Emulator only).
Appium command. More details can be found in the official protocol docs.
#
Usage#
Support#
startActivityStart an Android activity by providing package name and activity name.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
appPackage | string | name of app |
appActivity | string | name of activity |
appWaitPackage optional | string | name of app to wait for |
appWaitActivity optional | string | name of activity to wait for |
intentAction optional | string | intent action which will be used to start activity |
intentCategory optional | string | intent category which will be used to start activity |
intentFlags optional | string | flags that will be used to start activity |
optionalIntentArguments optional | string | additional intent arguments that will be used to start activity |
dontStopAppOnReset optional | string | doesn’t stop the process of the app under test, before starting the app using adb |
#
Support#
getSystemBarsRetrieve visibility and bounds information of the status and navigation bars.
Appium command. More details can be found in the official protocol docs.
#
Usage#
Returns- <object[]> systemBars: Information about visibility and bounds of status and navigation bar
#
Support#
getDeviceTimeGet the time on the device.
Appium command. More details can be found in the official protocol docs.
#
Usage#
Returns- <string> time: Time on the device
#
Support
#
getDisplayDensityGet display density from device.
Appium command. More details can be found in the official protocol docs.
#
Usage#
Returns- <*> displayDensity:
#
Support#
touchIdSimulate a touch id event (iOS Simulator only). To enable this feature, the allowTouchIdEnroll
desired capability must be set to true and the Simulator must be enrolled. When you set allowTouchIdEnroll to true, it will set the Simulator to be enrolled by default. The enrollment state can be toggled. This call will only work if Appium process or its parent application (e.g. Terminal.app or Appium.app) has access to Mac OS accessibility in System Preferences > Security & Privacy > Privacy > Accessibility list.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
match | boolean | are we simulating a successful touch (true) or a failed touch (false) |
#
Support#
toggleEnrollTouchIdToggle the simulator being enrolled to accept touchId (iOS Simulator only). To enable this feature, the allowTouchIdEnroll
desired capability must be set to true. When allowTouchIdEnroll
is set to true the Simulator will be enrolled by default, and the 'Toggle Touch ID Enrollment' changes the enrollment state. This call will only work if the Appium process or its parent application (e.g., Terminal.app or Appium.app) has access to Mac OS accessibility in System Preferences > Security & Privacy > Privacy > Accessibility list.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
enabled optional | boolean | equals to true if TouchID enrollment should be enabled |
#
Support#
launchAppLaunch an app on device. iOS tests with XCUITest can also use the mobile: launchApp
method. See detailed documentation.
Appium command. More details can be found in the official protocol docs.
#
Usage#
Support
#
closeAppClose an app on device.
Appium command. More details can be found in the official protocol docs.
#
Usage#
Support
#
resetReset the currently running app for this session.
Appium command. More details can be found in the official protocol docs.
#
Usage#
Support
#
backgroundSend the currently running app for this session to the background. iOS tests with XCUITest can also use the mobile: terminateApp
method to terminate the current app (see detailed documentation), and the mobile: activateApp
to activate an existing application on the device under test and moves it to the foreground (see detailed documentation).
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
seconds | number, null | timeout to restore app, if 'null' app won't be restored |
#
Support
#
endCoverageGet test coverage data.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
intent | string | intent to broadcast |
path | string | path to .ec file |
#
Support#
getStringsGet app strings.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
language optional | string | language code |
stringFile optional | string | path to the string file |
#
Returns- <object> appStrings: all defined Strings from an app for the specified language and strings filename
#
Support
#
setValueImmediateAppium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
elementId | String | the id of an element returned in a previous call to Find Element(s) |
value | string | value to set on element |
#
Support#
replaceValueReplace the value to element directly.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
elementId | String | the id of an element returned in a previous call to Find Element(s) |
value | string | value to replace on element |
#
Support
#
getSettingsRetrieve the current settings on the device.
Appium command. More details can be found in the official protocol docs.
#
Usage#
Returns- <object> settings: JSON hash of all the currently specified settings, see Settings API
#
Support
#
updateSettingsUpdate the current setting on the device.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
settings | object | key/value object with settings to update |
#
Support
#
receiveAsyncResponseCallback url for asynchronous execution of JavaScript.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
response | object | response to receive on device |
#
gsmCallMake GSM call (Emulator only).
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
phoneNumber | string | the phone number to call to |
action | string | The action - 'call', 'accept', 'cancel', 'hold' |
#
Support#
gsmSignalSet GSM signal strength (Emulator only).
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
signalStrength | string | signal strength in the range [0, 4] |
signalStrengh optional | string | signal strength in the range [0, 4]. Please also set this parameter with the same value if you use Appium v1.11.0 or lower (see https://github.com/appium/appium/issues/12234). |
#
Support#
powerCapacitySet the battery percentage (Emulator only).
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
percent | number | percentage value in range [0, 100] |
#
Support#
powerACSet the state of the battery charger to connected or not (Emulator only).
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
state | string | set the state. on or off |
#
Support#
gsmVoiceSet GSM voice state (Emulator only).
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
state | string | state of GSM voice - 'unregistered', 'home', 'roaming', 'searching', 'denied', 'off', 'on' |
#
Support#
sendSmsSimulate an SMS message (Emulator only).
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
phoneNumber | string | the phone number to send the SMS too |
message | string | the SMS message |
#
Support#
fingerPrintAuthenticate users by using their finger print scans on supported emulators.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
fingerprintId | number | finger prints stored in Android Keystore system (from 1 to 10) |
#
Support#
setClipboardSet the content of the system clipboard
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
content | string | The actual base64 encoded clipboard content |
contentType optional | string | The type of the content to get. Plaintext, Image, URL. Android supports only plaintext |
label optional | string | Clipboard data label for Android |
#
Returns- <string> response: Response from Appium server
#
getClipboardGet the content of the system clipboard
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
contentType optional | string | The type of the content to get. Plaintext, Image, URL. Android supports only plaintext |
#
Returns- <string> response: Clipboard content as base64-encoded string or an empty string if the clipboard is empty
#
touchPerformThis functionality is only available from within a native context. 'Touch Perform' works similarly to the other singular touch interactions, except that this allows you to chain together more than one touch action as one command. This is useful because Appium commands are sent over the network and there's latency between commands. This latency can make certain touch interactions impossible because some interactions need to be performed in one sequence. Vertical, for example, requires pressing down, moving to a different y coordinate, and then releasing. For it to work, there can't be a delay between the interactions.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
actions | object[] | The type of action to perform (e.g. moveTo, release, press, tap, wait) |
#
Example#
Support
#
multiTouchPerformThis functionality is only available from within a native context. Perform a multi touch action sequence.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
actions | object[] | The type of action to perform (e.g. moveTo, release, press, tap, wait) |
#
Support
#
driverScriptThis command allows you to define a webdriverio script in a string and send it to the Appium server to be executed locally to the server itself, thus reducing latency that might otherwise occur along with each command.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
script | string | The script to execute. It has access to a 'driver' object which represents a webdriverio session attached to the current server. |
type optional | string | The language/framework used in the script. Currently, only 'webdriverio' is supported and is the default. |
timeout optional | number | The number of milliseconds the script should be allowed to run before being killed by the Appium server. Defaults to the equivalent of 1 hour. |
#
Returns- <object> result: An object containing two fields: 'result', which is the return value of the script itself, and 'logs', which contains 3 inner fields, 'log', 'warn', and 'error', which hold an array of strings logged by console.log, console.warn, and console.error in the script's execution.
#
getEventsGet events stored in appium server.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
type | string[] | Get events which are filtered with the type if the type is provided. |
#
Returns- <object> result: A JSON hash of events like
{'commands' => [{'cmd' => 123455, ....}], 'startTime' => 1572954894127, }
.
#
logEventStore a custom event.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
vendor | string | The name of vendor. It will be vendor in vendor:event . |
event | string | The name of event. It will be event in vendor:event . |
#
compareImagesPerforms images comparison using OpenCV framework features. It is expected that both OpenCV framework and opencv4nodejs module are installed on the machine where Appium server is running.
Appium command. More details can be found in the official protocol docs.
#
Usage#
ParametersName | Type | Details |
---|---|---|
mode | string | One of possible comparison modes: 'matchFeatures', 'getSimilarity', 'matchTemplate'. 'matchFeatures' is by default. |
firstImage | string | An image data. All image formats, that OpenCV library itself accepts, are supported. |
secondImage | string | An image data. All image formats, that OpenCV library itself accepts, are supported. |
options | object | The content of this dictionary depends on the actual mode value. See the documentation on appium-support module for more details. |
#
Returns- <object> result: The content of the resulting dictionary depends on the actual
mode
andoptions
values. See the documentation onappium-support
module for more details.