This driver is the Appium interface to the Selendroid test automation framework.
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.
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) |
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
gulp watch
gulp once