Files
appium/docs/mjsonwp/protocol-methods.md
T

21 KiB
Raw Blame History

Currently supported endpoints

The following are endpoints that are currently supported by the Appium server. Particular drivers may or may not implement functionality depending on the underlying system.

WebDriver endpoints

See the WebDriver W3C and JSON Wire Protocol specifications.

HTTP Method Path Details
GET /wd/hub/status Retrieve the server’s current status.
POST /wd/hub/session Create a new session.
GET /wd/hub/sessions Retrieve a list of currently active sessions.
GET /wd/hub/session/{sessionId} Retrieve the capabilities of the specified session.
DELETE /wd/hub/session/{sessionId} Delete the session.
POST /wd/hub/session/{sessionId}/timeouts Configure the amount of time that a particular type of operation can execute for before they are aborted and a
POST /wd/hub/session/{sessionId}/timeouts/async_script Set the amount of time that asynchronous scripts executed by /session/{sessionId/execute_async are permitted to run before they are aborted.
POST /wd/hub/session/{sessionId}/timeouts/implicit_wait Set the amount of time the driver should wait when searching for elements.
GET /wd/hub/session/{sessionId}/window_handle Retrieve the current window handle.
GET /wd/hub/session/{sessionId}/window_handles Retrieve the list of all window handles available to the session.
GET /wd/hub/session/{sessionId}/url Retrieve the URL of the current page.
POST /wd/hub/session/{sessionId}/url Navigate to a new URL.
POST /wd/hub/session/{sessionId}/forward Navigate forwards in the browser history, if possible.
POST /wd/hub/session/{sessionId}/back Navigate backwards in the browser history, if possible.
POST /wd/hub/session/{sessionId}/refresh Refresh the current page.
POST /wd/hub/session/{sessionId}/execute Inject a snippet of JavaScript into the page for execution in the current context.
POST /wd/hub/session/{sessionId}/execute_async Inject a snippet of JavaScript into the page for asynchronous execution in the context of the currently selected frame.
GET /wd/hub/session/{sessionId}/screenshot Take a screenshot of the current page.
GET /wd/hub/session/{sessionId}/ime/available_engines List all available input engines on the machine.
GET /wd/hub/session/{sessionId}/ime/active_engine Get the name of the active IME engine.
GET /wd/hub/session/{sessionId}/ime/activated Indicates whether IME input is active at the moment (not if it is available).
POST /wd/hub/session/{sessionId}/ime/deactivate De-activates the currently-active IME engine.
POST /wd/hub/session/{sessionId}/ime/activate Make an engine that is available active.
POST /wd/hub/session/{sessionId}/frame Change focus to another frame on the page.
POST /wd/hub/session/{sessionId}/window Change focus to another window.
GET /wd/hub/session/{sessionId}/window/{windowhandle}/size Get the size of the specified window.
POST /wd/hub/session/{sessionId}/window/{windowhandle}/maximize Maximize the specified window if not already maximized.
GET /wd/hub/session/{sessionId}/cookie Retrieve all cookies visible to the current page.
POST /wd/hub/session/{sessionId}/cookie Set a cookie.
DELETE /wd/hub/session/{sessionId}/cookie Delete all cookies visible to the current page.
DELETE /wd/hub/session/{sessionId}/cookie/{name} Delete the cookie with the given name.
GET /wd/hub/session/{sessionId}/source Get the current page source.
GET /wd/hub/session/{sessionId}/title Get the current page title.
POST /wd/hub/session/{sessionId}/element Search for an element on the page, starting from the document root.
POST /wd/hub/session/{sessionId}/elements Search for multiple elements on the page, starting from the document root.
POST /wd/hub/session/{sessionId}/element/active Get the element on the page that currently has focus.
POST /wd/hub/session/{sessionId}/element/{elementId}/element Search for an element on the page, starting from the identified element.
POST /wd/hub/session/{sessionId}/element/{elementId}/elements Search for multiple elements on the page, starting from the identified element.
POST /wd/hub/session/{sessionId}/element/{elementId}/click Click on an element.
POST /wd/hub/session/{sessionId}/element/{elementId}/submit Submit a form element.
GET /wd/hub/session/{sessionId}/element/{elementId}/text Returns the visible text for the element.
POST /wd/hub/session/{sessionId}/element/{elementId}/value Send a sequence of key strokes to an element.
POST /wd/hub/session/{sessionId}/keys Send a sequence of key strokes to the active element.
GET /wd/hub/session/{sessionId}/element/{elementId}/name Query for an element's tag name.
POST /wd/hub/session/{sessionId}/element/{elementId}/clear Clear a text element's value.
GET /wd/hub/session/{sessionId}/element/{elementId}/selected Determine if an element is currently selected.
GET /wd/hub/session/{sessionId}/element/{elementId}/enabled Determine if an element is currently enabled.
GET /wd/hub/session/{sessionId}/element/{elementId}/attribute/{name} Get the value of an element's attribute.
GET /wd/hub/session/{sessionId}/element/{elementId}/equals/{otherId} Test if two element IDs refer to the same element.
GET /wd/hub/session/{sessionId}/element/{elementId}/displayed Determine if an element is currently displayed.
GET /wd/hub/session/{sessionId}/element/{elementId}/location Determine an element's location on the page.
GET /wd/hub/session/{sessionId}/element/{elementId}/location_in_view Determine an element's location on the screen once it has been scrolled into view.
GET /wd/hub/session/{sessionId}/element/{elementId}/size Determine an element's size in pixels.
GET /wd/hub/session/{sessionId}/element/{elementId}/css/{propertyName} Query the value of an element's computed CSS property.
GET /wd/hub/session/{sessionId}/orientation Get the current device orientation.
POST /wd/hub/session/{sessionId}/orientation Set the device orientation
GET /wd/hub/session/{sessionId}/alert_text Gets the text of the currently displayed dialog
POST /wd/hub/session/{sessionId}/alert_text Sends keystrokes to the currently displayed dialog
POST /wd/hub/session/{sessionId}/accept_alert Accepts the currently displayed alert dialog.
POST /wd/hub/session/{sessionId}/dismiss_alert Dismisses the currently displayed alert dialog.
POST /wd/hub/session/{sessionId}/moveto Move the pointer by an offset of the specificed element.
POST /wd/hub/session/{sessionId}/click Click on the current pointer position.
POST /wd/hub/session/{sessionId}/touch/click Single tap on the touch enabled device.
POST /wd/hub/session/{sessionId}/touch/down Finger down on the screen.
POST /wd/hub/session/{sessionId}/touch/up Finger up on the screen.
POST /wd/hub/session/{sessionId}/touch/move Finger move on the screen.
POST /wd/hub/session/{sessionId}/touch/longclick Long press on the touch screen using finger motion events.
POST /wd/hub/session/{sessionId}/touch/flick Flick on the touch screen using finger motion events.
GET /wd/hub/session/{sessionId}/location Get the current geo location.
POST /wd/hub/session/{sessionId}/location Set the current geo location.
POST /wd/hub/session/{sessionId}/log Get the log for a given log type.
GET /wd/hub/session/{sessionId}/log/types Get available log types.

Mobile JSON Wire Protocol endpoints

See https://github.com/SeleniumHQ/mobile-spec/blob/master/spec-draft.md

HTTP Method Path Details
GET /wd/hub/session/{sessionId}/context Retrieves the current context.
POST /wd/hub/session/{sessionId}/context Switches to the given context.
GET /wd/hub/session/{sessionId}/contexts Retrieves an array of strings representing available contexts.
GET /wd/hub/session/{sessionId}/element/{elementId}/pageIndex
GET /wd/hub/session/{sessionId}/network_connection Retrieves the current network connection type.
POST /wd/hub/session/{sessionId}/network_connection Sets the network connection to the given type.
POST /wd/hub/session/{sessionId}/touch/perform Perform the given touch action sequence.
POST /wd/hub/session/{sessionId}/touch/multi/perform Perform the given multi-touch action sequence.
POST /wd/hub/session/{sessionId}/receive_async_response Callback url for asynchronous execution of JavaScript.

Appium extension endpoints

See https://w3c.github.io/webdriver/webdriver-spec.html#protocol-extensions

HTTP Method Path Details
POST /wd/hub/session/{sessionId}/appium/device/shake Perform a shake action on the device.
POST /wd/hub/session/{sessionId}/appium/device/lock Lock the device.
POST /wd/hub/session/{sessionId}/appium/device/unlock Unlock the device.
POST /wd/hub/session/{sessionId}/appium/device/is_locked Check whether the device is locked or not.
POST /wd/hub/session/{sessionId}/appium/start_recording_screen start recording the screen.
POST /wd/hub/session/{sessionId}/appium/stop_recording_screen stop recording the screen.
POST /wd/hub/session/{sessionId}/appium/performanceData/types returns the information types of the system state which is supported to read as like cpu, memory, network traffic, and battery.
POST /wd/hub/session/{sessionId}/appium/getPerformanceData returns the information of the system state which is supported to read as like cpu, memory, network traffic, and battery.
POST /wd/hub/session/{sessionId}/appium/device/press_keycode Press a particular key code on the device.
POST /wd/hub/session/{sessionId}/appium/device/long_press_keycode Press and hold a particular key code on the device.
POST /wd/hub/session/{sessionId}/appium/device/keyevent Send a key code to the device.
POST /wd/hub/session/{sessionId}/appium/device/rotate Rotate the device in three dimensions.
GET /wd/hub/session/{sessionId}/appium/device/current_activity Retrieve the current activity running on the device.
GET /wd/hub/session/{sessionId}/appium/device/current_package Retrieve the current package running on the device.
POST /wd/hub/session/{sessionId}/appium/device/install_app Install the given app onto the device.
POST /wd/hub/session/{sessionId}/appium/device/remove_app Remote an app from the device.
POST /wd/hub/session/{sessionId}/appium/device/app_installed Check whether the specified app is installed on the device.
POST /wd/hub/session/{sessionId}/appium/device/hide_keyboard Hide the soft keyboard.
GET /wd/hub/session/{sessionId}/appium/device/is_keyboard_shown Whether or not the soft keyboard is shown.
POST /wd/hub/session/{sessionId}/appium/device/push_file Place a file onto the device in a particular place.
POST /wd/hub/session/{sessionId}/appium/device/pull_file Retrieve a file from the device's file system.
POST /wd/hub/session/{sessionId}/appium/device/pull_folder Retrieve a folder from the device's file system.
POST /wd/hub/session/{sessionId}/appium/device/toggle_airplane_mode Switch the state of airplane mode.
POST /wd/hub/session/{sessionId}/appium/device/toggle_data Switch the state of data service.
POST /wd/hub/session/{sessionId}/appium/device/toggle_wifi Switch the state of the wifi service.
POST /wd/hub/session/{sessionId}/appium/device/toggle_location_services Switch the state of the location service.
POST /wd/hub/session/{sessionId}/appium/device/open_notifications Open the notifications pane on the device.
POST /wd/hub/session/{sessionId}/appium/device/start_activity Start the specified activity on the device.
GET /wd/hub/session/{sessionId}/appium/device/system_bars Retrieve visibility and bounds information of the status and navigation bars.
GET /wd/hub/session/{sessionId}/appium/device/display_density Retrieve the display density of the device.
POST /wd/hub/session/{sessionId}/appium/simulator/toggle_touch_id_enrollment Toggle enrollment of touch id on the simulator.
POST /wd/hub/session/{sessionId}/appium/simulator/touch_id Simulate a successful or failed touch id event on the simulator.
POST /wd/hub/session/{sessionId}/appium/app/launch Launch the given application on the device.
POST /wd/hub/session/{sessionId}/appium/app/close Close the given application.
POST /wd/hub/session/{sessionId}/appium/app/reset Reset the device.
POST /wd/hub/session/{sessionId}/appium/app/background Send the current application to the background.
POST /wd/hub/session/{sessionId}/appium/app/end_test_coverage End test coverage on the device.
POST /wd/hub/session/{sessionId}/appium/app/strings Retrieve the application's strings file.
POST /wd/hub/session/{sessionId}/appium/element/{elementId}/value Retrieve the value from the given element.
POST /wd/hub/session/{sessionId}/appium/element/{elementId}/replace_value Replace the value of the given element.
GET /wd/hub/session/{sessionId}/appium/settings Retrieve a JSON hash of all the currently specified settings.
POST /wd/hub/session/{sessionId}/appium/settings Update the current setting on the device.
POST /wd/hub/session/{sessionId}/appium/receive_async_response Callback url for asynchronous execution of JavaScript.

Not implemented

The following routes are not implemented by any Appium driver, and will throw an error.

HTTP Method Path Details
POST /wd/hub/session/{sessionId}/frame/parent Change focus to the parent frame.
POST /wd/hub/session/{sessionId}/window/{windowhandle}/size Change the size of the specified window.
GET /wd/hub/session/{sessionId}/window/{windowhandle}/position Get the position of the specified window.
POST /wd/hub/session/{sessionId}/window/{windowhandle}/position Change the position of the specified window.
GET /wd/hub/session/{sessionId}/element/{elementId} Describe the identified element.
POST /wd/hub/session/{sessionId}/buttondown Click and hold the left mouse button (at the coordinates set by the last moveto command).
POST /wd/hub/session/{sessionId}/buttonup Releases the mouse button previously held (where the mouse is currently at).
POST /wd/hub/session/{sessionId}/doubleclick Double-clicks at the current mouse coordinates (set by moveto).
POST /wd/hub/session/{sessionId}/touch/scroll Scroll on the touch screen using finger based motion events.
POST /wd/hub/session/{sessionId}/touch/doubleclick Double tap on the touch screen using finger motion events.
GET /wd/hub/session/{sessionId}/local_storage Get all keys of the storage.
POST /wd/hub/session/{sessionId}/local_storage Set the storage item for the given key.
DELETE /wd/hub/session/{sessionId}/local_storage Clear the storage.
GET /wd/hub/session/{sessionId}/local_storage/key/{key} Get the storage item for the given key.
DELETE /wd/hub/session/{sessionId}/local_storage/key/{key} Remove the storage item for the given key.
GET /wd/hub/session/{sessionId}/local_storage/size Get the number of items in the storage.
GET /wd/hub/session/{sessionId}/session_storage Get all keys of the storage.
POST /wd/hub/session/{sessionId}/session_storage Set the storage item for the given key.
DELETE /wd/hub/session/{sessionId}/session_storage Clear the storage.
GET /wd/hub/session/{sessionId}/session_storage/key/{key} Get the storage item for the given key.
DELETE /wd/hub/session/{sessionId}/session_storage/key/{key} Remove the storage item for the given key.
GET /wd/hub/session/{sessionId}/session_storage/size Get the number of items in the storage.
GET /wd/hub/session/{sessionId}/application_cache/status Get the status of the html5 application cache.