Skip to content
Chris Fuentes edited this page Mar 24, 2016 · 8 revisions

1. Core automation endpoints

This consists of two endpoints:

POST /1.0/query  {
    //options
}

POST /1.0/gesture {
    //options
}

options will consist of the normal bag of specifiers that can be used to identify an element. E.g.

{
    id : "foo",
    marked: "bar",
    index: 3,
    coordinates: /* { x : 0, y : 0 }  OR [  0, 0 ] */
}

For parent or child queries, you can nest options objects:

{
    type : "table",
    child: {
        marked: "banana"
    }
}

For gestures, the gesture will be specified in the body. Values include:

  • tap
  • enter_text
  • double_tap
  • swipe
  • draw etc... The required parameters will unfortunately be context sensitive for each gesture, so we'll need to have good documentation. E.g. swipe needs a start and end, but tap can use id, coordinates, marked, etc...

2. Utility Endpoints

These are the various endpoints for performing actions which do strictly affect the view hierarchy and target things like the device itself. E.g.:

POST /1.0/launchApp { bundleId : "com.apple.Banana" }
GET /1.0/screenshot
POST /1.0/changeVolume { volume: 2 }
Clone this wiki locally