Skip to content

Commit

Permalink
Add readme data
Browse files Browse the repository at this point in the history
  • Loading branch information
imurchie committed Nov 2, 2015
1 parent 2251d86 commit f27217a
Showing 1 changed file with 74 additions and 7 deletions.
81 changes: 74 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,83 @@
appium-selendroid-driver
===================
## appium-selendroid-driver

Work in progress, stay tuned!
This driver is the Appium interface to the [Selendroid](http://selendroid.io/) test automation framework. From the Appium server it is requested by specifying the desired capability `automationName` of `Selendroid` when starting a session.

## Watch

### Using with Appium server

Most of the Selenium methods are handled by the Selendroid framework itself. This package simply handles the setting up of the session by instrumenting the application and making sure that both the application and the Selendroid server are signed with the same keys. It then provides a method for proxying through the [appium-jsonwp-proxy](https://github.com/appium/jsonwp-proxy) to the Selendroid server running on the device.

`proxyReqRes (request, response)`

Some methods, however, are handled locally, if they either don't work in the Selendroid implementation, or they are Appium additions that are not currently supported by Selendroid.

#### Methods not proxied to Selendroid

The following methods are implemented by the `appium-selendroid-driver`, either in full or by appropriately fixing state and then proxying to the Selendroid server.

| Methods |
|---------------------------------------------------------------------------|
| `activateIMEEngine (engine)` |
| `availableIMEEngines ()` |
| `background (seconds)` |
| `closeApp ()` |
| `deactivateIMEEngine ()` |
| `endCoverage (intent, path)` |
| `getActiveIMEEngine ()` |
| `getContexts ()` |
| `getCurrentActivity ()` |
| `getCurrentContext ()` |
| `getLog (type)` |
| `getLogTypes ()` |
| `getNetworkConnection ()` |
| `getSettings ()` |
| `getStrings (language, stringFile)` |
| `hideKeyboard (strategy, key, keyCode, keyName)` |
| `installApp (appPath)` |
| `isAppInstalled (bundleId)` |
| `isIMEActivated ()` |
| `isLocked ()` |
| `keyevent (keycode, metastate)` |
| `keys (value)` |
| `launchApp ()` |
| `lock (seconds)` |
| `longPressKeyCode (keycode, metastate)` |
| `mobileRotation (x, y, radius, rotation, touchCount, duration, element)` |
| `mobileShake ()` |
| `openNotifications ()` |
| `performMultiAction (actions, elementId)` |
| `pressKeyCode (keycode, metastate)` |
| `pullFile (path)` |
| `pullFolder (path)` |
| `pushFile (path, data)` |
| `receiveAsyncResponse (response)` |
| `removeApp (appId, bundleId)` |
| `replaceValue (value)` |
| `reset ()` |
| `setContext (name)` |
| `setGeoLocation (location)` |
| `setNetworkConnection (type)` |
| `setValue (value)` |
| `setValueImmediate (value)` |
| `startActivity (appPackage, appActivity)` |
| `toggleData ()` |
| `toggleFlightMode ()` |
| `toggleLocationServices ()` |
| `toggleWiFi ()` |
| `unlock ()` |
| `updateSettings (settings)` |


### Working on the package

#### Watch

```
npm run watch
gulp watch
```

## Test
#### Test

```
npm test
gulp once
```

0 comments on commit f27217a

Please sign in to comment.