Skip to content

Latest commit

 

History

History
115 lines (90 loc) · 6.87 KB

README.md

File metadata and controls

115 lines (90 loc) · 6.87 KB

appium-selendroid-driver

NPM version Downloads Dependency Status devDependency Status

Build Status Coverage Status Greenkeeper badge

This driver is the Appium interface to the Selendroid test automation framework.

Using with Appium server

From the Appium server it is requested by specifying the desired capability automationName of Selendroid when starting a session.

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 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)

Custom binaries url

To use a mirror of the Selendroid driver binaries use npm config property selendroid_driver_cdnurl. Default is http://repo1.maven.org/maven2/io/selendroid/selendroid-standalone.

npm install appium-selendroid-driver --selendroid_driver_cdnurl=http://repo2.maven.org/maven2/io/selendroid/selendroid-standalone

Or add the property into your .npmrc file.

selendroid_driver_cdnurl=http://repo2.maven.org/maven2/io/selendroid/selendroid-standalone

Another option is to use PATH variable SELENDROID_DRIVER_CDNURL.

SELENDROID_DRIVER_CDNURL=http://repo2.maven.org/maven2/io/selendroid/selendroid-standalone npm install appium-selendroid-driver

Working on the package

Watch

gulp watch

Test

gulp once