forked from appium/appium
-
Notifications
You must be signed in to change notification settings - Fork 0
JSON Wire Protocol: Supported Methods
Dan Cuellar edited this page Sep 8, 2013
·
6 revisions
This is the initial subset of the Selenium WebDriver wire protocol that is currently supported in Appium. This provides the minimal set of navigation and element interactions to perform an automation test. Future versions will support more of the wire protocol. We’ll be matching WebDriver commands to those available in Apple’s UIAutomation documentation as close as possible.
HTTP Method | Path | Summary | status |
---|---|---|---|
GET | /status | Query the server’s current status. | YES |
POST | /session | Create a new session. | YES |
GET | /session/:sessionId | Retrieve the capabilities of the specified session. | YES |
DELETE | /session/:sessionId | Delete the session. | YES |
GET | /sessions | Returns a list of the currently active sessions. | |
POST | /session/:sessionId/frame | Change focus to another frame on the page. | YES |
GET | /session/:sessionId/url | Retrieve the URL of the current page. | |
POST | /session/:sessionId/url | Navigate to a new URL. | |
GET | /session/:sessionId/title | Get the current page title. | YES |
POST | /session/:sessionId/forward | Navigate forwards in the browser history, if possible. | |
POST | /session/:sessionId/back | Navigate backwards in the browser history, if possible. | |
POST | /session/:sessionId/refresh | Refresh the current page. | |
POST | /session/:sessionId/element | Search for an element on the page, starting from the document root. | YES |
POST | /session/:sessionId/elements | Search for multiple elements on the page, starting from the document root. | YES |
POST | /session/:sessionId/element/:id/click | Click on an element. | YES |
GET | /session/:sessionId/element/:id/text | Returns the visible text for the element. | YES |
POST | /session/:sessionId/element/:id/value | Send a sequence of key strokes to an element. | YES |
GET | /session/:sessionId/element/:id/displayed | Determine if an element is currently displayed. | |
GET | /session/:sessionId/element/:id/enabled | Determine if an element is currently enabled. | |
GET | /session/:sessionId/element/:id/selected | Determine if an `OPTION` element, or an `INPUT` element of type `checkbox` or `radiobutton` is currently selected. | |
GET | /session/:sessionId/element/:id/attribute/:name | Get the value of an element’s attribute. | YES |
GET | /session/:sessionId/element/:id/location | Determine an element’s location on the page. | YES |
GET | /session/:sessionId/element/:id/size | Determine an element’s size in pixels. | YES |
POST | /session/:sessionId/element/:id/element | Search for an element on the page, starting from the identified element. | YES |
POST | /session/:sessionId/element/:id/clear | Clear a `TEXTAREA` or `text INPUT` element’s value. | YES |
POST | /session/:sessionId/element/:id/elements | Search for multiple elements on the page, starting from the identified element. | YES |
GET | /session/:sessionId/element/:id/name | Query for an element’s tag name. | |
GET | /session/:sessionId/element/:id/equals/:other | Test if two element IDs refer to the same DOM element. | |
POST | /session/:sessionId/moveto | Move the mouse by an offset of the specificed element. | |
POST | /session/:sessionId/click | Click any mouse button (at the coordinates set by the last moveto command). | |
POST | /session/:sessionId/execute | Inject a snippet of !JavaScript into the page for execution in the context of the currently selected frame. | YES |
GET | /session/:sessionId/source | Get the current page source. | YES |
GET | /session/:sessionId/orientation | Get the current browser orientation. | YES |
POST | /session/:sessionId/orientation | Set the browser orientation. | YES |
POST | /session/:sessionId/timeouts/implicit_wait | Set the amount of time the driver should wait when searching for elements. | YES |
POST | /session/:sessionId/keys | Send a sequence of key strokes to the active element. | YES |
POST | session/:sessionId/touch/flick | Flick on the touch screen using finger motion events. | YES |
GET | /session/:sessionId/window_handle | Retrieve the current window handle. | YES |
GET | /session/:sessionId/window_handles | Retrieve the list of all window handles available to the session. | YES |
POST | /session/:sessionId/window | Change focus to another window. | YES |
GET | /session/:sessionId/screenshot | Take a screenshot of the current page. | YES |
POST | /session/:sessionId/alert_text | Sends keystrokes to a JavaScript `prompt()` dialog. | YES |
POST | /session/:sessionId/accept_alert | Accepts the currently displayed alert dialog. | YES |
POST | /session/:sessionId/dismiss_alert | Dismisses the currently displayed alert dialog. | YES |
GET | /session/:sessionId/cookie | Retrieve all cookies visible to the current page. | |
POST | /session/:sessionId/cookie | Set a cookie. | |
DELETE | /session/:sessionId/cookie | Delete all cookies visible to the current page. | |
DELETE | /session/:sessionId/cookie/:name | Delete the cookie with the given name. | |
POST | /session/:sessionId/log | Get the log for a given log type. | |
GET | /session/:sessionId/log/types | Get available log types. |
For more information on finding and interacting with elements, and which locator strategies are supported in Appium, visit Finding and interacting with elements.
HTTP Method | Path | Summary |
---|---|---|
POST | /session/:sessionId/timeouts | Configure the amount of time that a particular type of operation can execute for before they are aborted and a Timeout error is returned to the client. |
POST | /session/:sessionId/timeouts/async_script | Set the amount of time, in milliseconds, that asynchronous scripts executed by `/session/:sessionId/execute_async` are permitted to run before they are aborted and a Timeout error is returned to the client. |
POST | /session/:sessionId/execute_async | Inject a snippet of !JavaScript into the page for execution in the context of the currently selected frame. |
GET | /session/:sessionId/ime/available_engines | List all available engines on the machine. |
GET | /session/:sessionId/ime/active_engine | Get the name of the active IME engine. |
GET | /session/:sessionId/ime/activated | Indicates whether IME input is active at the moment (not if it’s available. |
POST | /session/:sessionId/ime/deactivate | De-activates the currently-active IME engine. |
POST | /session/:sessionId/ime/activate | Make an engines that is available (appears on the listreturned by getAvailableEngines) active. |
DELETE | /session/:sessionId/window | Close the current window. |
POST | /session/:sessionId/window/:windowHandle/size | Change the size of the specified window. |
GET | /session/:sessionId/window/:windowHandle/size | Get the size of the specified window. |
POST | /session/:sessionId/window/:windowHandle/position | Change the position of the specified window. |
GET | /session/:sessionId/window/:windowHandle/position | Get the position of the specified window. |
POST | /session/:sessionId/window/:windowHandle/maximize | Maximize the specified window if not already maximized. |
GET | /session/:sessionId/element/:id | Describe the identified element. |
POST | /session/:sessionId/element/active | Get the element on the page that currently has focus. |
POST | /session/:sessionId/element/:id/submit | Submit a `FORM` element. |
GET | /session/:sessionId/element/:id/location_in_view | Determine an element’s location on the screen once it has been scrolled into view. |
GET | /session/:sessionId/element/:id/css/:propertyName | Query the value of an element’s computed CSS property. |
POST | /session/:sessionId/buttondown | Click and hold the left mouse button (at the coordinates set by the last moveto command). |
POST | /session/:sessionId/buttonup | Releases the mouse button previously held (where the mouse is currently at). |
POST | /session/:sessionId/doubleclick | Double-clicks at the current mouse coordinates (set by moveto). |
POST | /session/:sessionId/touch/click | Single tap on the touch enabled device. |
POST | /session/:sessionId/touch/down | Finger down on the screen. |
POST | /session/:sessionId/touch/up | Finger up on the screen. |
POST | session/:sessionId/touch/move | Finger move on the screen. |
POST | session/:sessionId/touch/scroll | Scroll on the touch screen using finger based motion events. |
POST | session/:sessionId/touch/scroll | Scroll on the touch screen using finger based motion events. |
POST | session/:sessionId/touch/doubleclick | Double tap on the touch screen using finger motion events. |
POST | session/:sessionId/touch/longclick | Long press on the touch screen using finger motion events. |
GET | /session/:sessionId/location | Get the current geo location. |
POST | /session/:sessionId/location | Set the current geo location. |
GET | /session/:sessionId/local_storage | Get all keys of the storage. |
POST | /session/:sessionId/local_storage | Set the storage item for the given key. |
DELETE | /session/:sessionId/local_storage | Clear the storage. |
GET | /session/:sessionId/local_storage/key/:key | Get the storage item for the given key. |
DELETE | /session/:sessionId/local_storage/key/:key | Remove the storage item for the given key. |
GET | /session/:sessionId/local_storage/size | Get the number of items in the storage. |
GET | /session/:sessionId/location | Get the current geo location. |
POST | /session/:sessionId/location | Set the current geo location. |
GET | /session/:sessionId/local_storage | Get all keys of the storage. |
POST | /session/:sessionId/local_storage | Set the storage item for the given key. |
DELETE | /session/:sessionId/local_storage | Clear the storage. |
GET | /session/:sessionId/local_storage/key/:key | Get the storage item for the given key. |
DELETE | /session/:sessionId/local_storage/key/:key | Remove the storage item for the given key. |
GET | /session/:sessionId/local_storage/size | Get the number of items in the storage. |
GET | /session/:sessionId/session_storage | Get all keys of the storage. |
POST | /session/:sessionId/session_storage | Set the storage item for the given key. |
DELETE | /session/:sessionId/session_storage | Clear the storage. |
GET | /session/:sessionId/session_storage/key/:key | Get the storage item for the given key. |
DELETE | /session/:sessionId/session_storage/key/:key | Remove the storage item for the given key. |
GET | /session/:sessionId/session_storage/size | Get the number of items in the storage. |