category / JsonWireProtocol method | wd methods |
GET /status Query the server's current status. |
status(cb) -> cb(err, status) |
POST /session Create a new session. |
init(desired, cb) -> cb(err, sessionID, capabilities) Initialize the browser. capabilities return may be absent, depending on driver. |
GET /sessions Returns a list of the currently active sessions. |
sessions(cb) -> cb(err, sessions)
Alternate strategy to get session capabilities from server session list: |
GET /session/:sessionId Retrieve the capabilities of the specified session. |
sessionCapabilities(cb) -> cb(err, capabilities) |
DELETE /session/:sessionId Delete the session. |
quit(cb) -> cb(err) Destroy the browser. |
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. |
setPageLoadTimeout(ms, cb) -> cb(err)
setCommandTimeout(ms, cb) -> cb(err) |
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. |
setAsyncScriptTimeout(ms, cb) -> cb(err) |
POST /session/:sessionId/timeouts/implicit_wait Set the amount of time the driver should wait when searching for elements. |
setImplicitWaitTimeout(ms, cb) -> cb(err) |
GET /session/:sessionId/window_handle Retrieve the current window handle. |
windowHandle(cb) -> cb(err, handle) |
GET /session/:sessionId/window_handles Retrieve the list of all window handles available to the session. |
windowHandles(cb) -> cb(err, arrayOfHandles) |
GET /session/:sessionId/url Retrieve the URL of the current page. |
url(cb) -> cb(err, url) |
POST /session/:sessionId/url Navigate to a new URL. |
get(url,cb) -> cb(err) Get a new url. |
POST /session/:sessionId/forward Navigate forwards in the browser history, if possible. |
forward(cb) -> cb(err) |
POST /session/:sessionId/back Navigate backwards in the browser history, if possible. |
back(cb) -> cb(err) |
POST /session/:sessionId/refresh Refresh the current page. |
refresh(cb) -> cb(err) |
POST /session/:sessionId/execute Inject a snippet of JavaScript into the page for execution in the context of the currently selected frame. |
execute(code, args, cb) -> cb(err, result)
Safely execute script within an eval block, always returning:
Evaluate expression (using execute):
Safely evaluate expression, always returning (using safeExecute): |
POST /session/:sessionId/execute_async Inject a snippet of JavaScript into the page for execution in the context of the currently selected frame. |
executeAsync(code, args, cb) -> cb(err, result)
Safely execute async script within an eval block, always returning: |
GET /session/:sessionId/screenshot Take a screenshot of the current page. |
takeScreenshot(cb) -> cb(err, screenshot) |
GET /session/:sessionId/ime/available_engines List all available engines on the machine. |
availableIMEEngines(cb) -> cb(err, engines) |
GET /session/:sessionId/ime/active_engine Get the name of the active IME engine. |
activeIMEEngine(cb) -> cb(err, activeEngine) |
GET /session/:sessionId/ime/activated Indicates whether IME input is active at the moment (not if it's available). |
activatedIMEEngine(cb) -> cb(err, active) |
POST /session/:sessionId/ime/deactivate De-activates the currently-active IME engine. |
deactivateIMEEngine(cb) -> cb(err) |
POST /session/:sessionId/ime/activate Make an engines that is available (appears on the listreturned by getAvailableEngines) active. |
activateIMEEngine(cb, engine) -> cb(err) |
POST /session/:sessionId/frame Change focus to another frame on the page. |
frame(frameRef, cb) -> cb(err) |
POST /session/:sessionId/window Change focus to another window. |
window(name, cb) -> cb(err) |
DELETE /session/:sessionId/window Close the current window. |
close(cb) -> cb(err) |
POST /session/:sessionId/window/:windowHandle/size Change the size of the specified window. |
windowSize(handle, width, height, cb) -> cb(err)
setWindowSize(width, height, handle, cb) -> cb(err) |
GET /session/:sessionId/window/:windowHandle/size Get the size of the specified window. |
getWindowSize(handle, cb) -> cb(err, size) getWindowSize(cb) -> cb(err, size) handle: window handle to get size (optional, default: 'current') |
POST /session/:sessionId/window/:windowHandle/position Change the position of the specified window. |
setWindowPosition(x, y, handle, cb) -> cb(err) setWindowPosition(x, y, cb) -> cb(err) x: the x-coordinate in pixels to set the window position y: the y-coordinate in pixels to set the window position handle: window handle to set position for (optional, default: 'current') |
GET /session/:sessionId/window/:windowHandle/position Get the position of the specified window. |
getWindowPosition(handle, cb) -> cb(err, position) getWindowPosition(cb) -> cb(err, position) handle: window handle to get position (optional, default: 'current') |
POST /session/:sessionId/window/:windowHandle/maximize Maximize the specified window if not already maximized. |
maximize(handle, cb) -> cb(err) |
GET /session/:sessionId/cookie Retrieve all cookies visible to the current page. |
allCookies() -> cb(err, cookies) |
POST /session/:sessionId/cookie Set a cookie. |
setCookie(cookie, cb) -> cb(err) cookie example: {name:'fruit', value:'apple'} Optional cookie fields: path, domain, secure, expiry |
DELETE /session/:sessionId/cookie Delete all cookies visible to the current page. |
deleteAllCookies(cb) -> cb(err) |
DELETE /session/:sessionId/cookie/:name Delete the cookie with the given name. |
deleteCookie(name, cb) -> cb(err) |
GET /session/:sessionId/source Get the current page source. |
source(cb) -> cb(err, source) |
GET /session/:sessionId/title Get the current page title. |
title(cb) -> cb(err, title) |
POST /session/:sessionId/element Search for an element on the page, starting from the document root. |
element(using, value, cb) -> cb(err, element)
elementByClassName(value, cb) -> cb(err, element) |
POST /session/:sessionId/elements Search for multiple elements on the page, starting from the document root. |
elements(using, value, cb) -> cb(err, elements)
elementsByClassName(value, cb) -> cb(err, elements)
Retrieve an element avoiding not found exception and returning null instead:
elementByClassNameOrNull(value, cb) -> cb(err, element)
Retrieve an element avoiding not found exception and returning undefined instead:
elementByClassNameIfExists(value, cb) -> cb(err, element)
Check if element exists:
hasElementByClassName(value, cb) -> cb(err, boolean) |
POST /session/:sessionId/element/active Get the element on the page that currently has focus. |
active(cb) -> cb(err, element) |
POST /session/:sessionId/element/:id/element Search for an element on the page, starting from the identified element. |
element.element(using, value, cb) -> cb(err, element)
element.elementByClassName(value, cb) -> cb(err, element) |
POST /session/:sessionId/element/:id/elements Search for multiple elements on the page, starting from the identified element. |
element.elements(using, value, cb) -> cb(err, elements)
element.elementsByClassName(value, cb) -> cb(err, elements) |
POST /session/:sessionId/element/:id/click Click on an element. |
clickElement(element, cb) -> cb(err)
element.click(cb) -> cb(err) |
POST /session/:sessionId/element/:id/submit Submit a FORM element. |
submit(element, cb) -> cb(err)
element.submit(cb) -> cb(err) |
GET /session/:sessionId/element/:id/text Returns the visible text for the element. |
text(element, cb) -> cb(err, text)
element.text(cb) -> cb(err, text)
Check if text is present:
element.textPresent(searchText, cb) -> cb(err, boolean) |
POST /session/:sessionId/element/:id/value Send a sequence of key strokes to an element. |
type(element, keys, cb) -> cb(err)
element.type(keys, cb) -> cb(err)
element.keys(keys, cb) -> cb(err) |
POST /session/:sessionId/keys Send a sequence of key strokes to the active element. |
keys(keys, cb) -> cb(err) Press keys (keys may still be down at the end of command). special key map: wd.SPECIAL_KEYS (see lib/special-keys.js) |
GET /session/:sessionId/element/:id/name Query for an element's tag name. |
getTagName(element, cb) -> cb(err, name)
element.getTagName(cb) -> cb(err, name) |
POST /session/:sessionId/element/:id/clear Clear a TEXTAREA or text INPUT element's value. |
clear(element, cb) -> cb(err)
element.clear(cb) -> cb(err) |
GET /session/:sessionId/element/:id/selected Determine if an OPTION element, or an INPUT element of type checkbox or radiobutton is currently selected. |
isSelected(element, cb) -> cb(err, selected)
element.isSelected(cb) -> cb(err, selected) |
GET /session/:sessionId/element/:id/enabled Determine if an element is currently enabled. |
isEnabled(element, cb) -> cb(err, enabled)
element.isEnabled(cb) -> cb(err, enabled) |
GET /session/:sessionId/element/:id/attribute/:name Get the value of an element's attribute. |
getAttribute(element, attrName, cb) -> cb(err, value)
element.getAttribute(attrName, cb) -> cb(err, value)
Get element value (in value attribute):
element.getValue(cb) -> cb(err, value) |
GET /session/:sessionId/element/:id/equals/:other Test if two element IDs refer to the same DOM element. |
element.equals(other, cb) -> cb(err, value)
equalsElement(element, other , cb) -> cb(err, value) |
GET /session/:sessionId/element/:id/displayed Determine if an element is currently displayed. |
isDisplayed(element, cb) -> cb(err, displayed)
element.isDisplayed(cb) -> cb(err, displayed) |
GET /session/:sessionId/element/:id/location Determine an element's location on the page. |
getLocation(element, cb) -> cb(err, location)
element.getLocation(cb) -> cb(err, location)
element.getLocationInView(cb) -> cb(err, location) |
GET /session/:sessionId/element/:id/location_in_view Determine an element's location on the screen once it has been scrolled into view. |
getLocationInView(element, cb) -> cb(err, location) |
GET /session/:sessionId/element/:id/size Determine an element's size in pixels. |
getSize(element, cb) -> cb(err, size)
element.getSize(cb) -> cb(err, size) |
GET /session/:sessionId/element/:id/css/:propertyName Query the value of an element's computed CSS property. |
getComputedCss(element, cssProperty , cb) -> cb(err, value)
element.getComputedCss(cssProperty , cb) -> cb(err, value) |
GET /session/:sessionId/orientation Get the current browser orientation. |
getOrientation(cb) -> cb(err, orientation) |
POST /session/:sessionId/orientation Set the browser orientation. |
setOrientation(orientation) -> cb(err) |
GET /session/:sessionId/alert_text Gets the text of the currently displayed JavaScript alert(), confirm(), or prompt() dialog. |
alertText(cb) -> cb(err, text) |
POST /session/:sessionId/alert_text Sends keystrokes to a JavaScript prompt() dialog. |
alertKeys(keys, cb) -> cb(err) |
POST /session/:sessionId/accept_alert Accepts the currently displayed alert dialog. |
acceptAlert(cb) -> cb(err) |
POST /session/:sessionId/dismiss_alert Dismisses the currently displayed alert dialog. |
dismissAlert(cb) -> cb(err) |
POST /session/:sessionId/moveto Move the mouse by an offset of the specificed element. |
moveTo(element, xoffset, yoffset, cb) -> cb(err)
element.moveTo(xoffset, yoffset, cb) -> cb(err) |
POST /session/:sessionId/click Click any mouse button (at the coordinates set by the last moveto command). |
click(button, cb) -> cb(err) Click on current element. Buttons: {left: 0, middle: 1 , right: 2} |
POST /session/:sessionId/buttondown Click and hold the left mouse button (at the coordinates set by the last moveto command). |
buttonDown(button ,cb) -> cb(err) button is optional. {LEFT = 0, MIDDLE = 1 , RIGHT = 2}. LEFT if not specified. |
POST /session/:sessionId/buttonup Releases the mouse button previously held (where the mouse is currently at). |
buttonUp(button, cb) -> cb(err) button is optional. {LEFT = 0, MIDDLE = 1 , RIGHT = 2}. LEFT if not specified. |
POST /session/:sessionId/doubleclick Double-clicks at the current mouse coordinates (set by moveto). |
doubleclick(cb) -> cb(err)
element.doubleClick(cb) -> cb(err) |
POST /session/:sessionId/touch/click Single tap on the touch enabled device. |
tap(element) -> cb(err)
element.tap(cb) -> cb(err) |
POST /session/:sessionId/touch/flick Flick on the touch screen using finger motion events. |
flick(xspeed, yspeed, swipe, cb) -> cb(err)
element.flick(xoffset, yoffset, speed, cb) -> cb(err) |
GET /session/:sessionId/location Get the current geo location. |
getGeoLocation(cb) -> cb(err, geoLocationObj) |
POST /session/:sessionId/location Set the current geo location. |
setGeoLocation(lat, lon, alt, cb) -> cb(err) |
POST /session/:sessionId/local_storage Set the storage item for the given key. |
setLocalStorageKey(key, value, cb) -> cb(err) # uses safeExecute() due to localStorage bug in Selenium |
DELETE /session/:sessionId/local_storage Clear the storage. |
clearLocalStorage(cb) -> cb(err) # uses safeExecute() due to localStorage bug in Selenium |
GET /session/:sessionId/local_storage/key/:key Get the storage item for the given key. |
getLocalStorageKey(key, cb) -> cb(err) # uses safeEval() due to localStorage bug in Selenium |
DELETE /session/:sessionId/local_storage/key/:key Remove the storage item for the given key. |
removeLocalStorageKey(key, cb) -> cb(err) # uses safeExecute() due to localStorage bug in Selenium |
POST /session/:sessionId/log Get the log for a given log type. |
log(logType, cb) -> cb(err, arrayOfLogs) |
GET /session/:sessionId/log/types Get available log types. |
logTypes(cb) -> cb(err, arrayOfLogTypes) |
GET /session/:sessionId/context Get the current context (mjsonWire). |
currentContext(cb) -> cb(err) |
POST /session/:sessionId/context Set the current context (mjsonWire). |
context(contextRef, cb) -> cb(err, context) |
GET /session/:sessionId/contexts Get a list of the available contexts (mjsonWire). |
contexts(cb) -> cb(err, handle) |
POST /session/:sessionId/touch/perform Perform touch action (mjsonWire). |
performTouchAction(touchAction) -> cb(err) |
POST /session/:sessionId/touch/multi/perform Perform multitouch action (mjsonWire). |
performMultiAction(element, multiAction) -> cb(err, touchStateObjects)
element.performMultiAction(actions) -> cb(err, touchStateObjects) |
POST /session/:sessionId/appium/device/shake Shake device (mjsonWire). |
shakeDevice(cb) -> cb(err)
shake(cb) -> cb(err) |
POST /session/:sessionId/appium/device/lock Lock device (mjsonWire). |
lockDevice(seconds, cb) -> cb(err)
lock(seconds, cb) -> cb(err)
unlockDevice(cb) -> cb(err)
unlock(cb) -> cb(err) |
POST /session/:sessionId/appium/device/keyevent Send key event to device (DEPRECATED) (mjsonWire). |
deviceKeyEvent(keycode, metastate, cb) -> cb(err)
pressDeviceKey(keycode, metastate, cb) -> cb(err) |
POST /session/:sessionId/appium/device/press_keycode Send key event to device (mjsonWire). |
pressKeycode(keycode, metastate, cb) -> cb(err) |
POST /session/:sessionId/appium/device/long_press_keycode Press and hold a particular key code on the device (mjsonWire). |
longPressKeycode(keycode, metastate, cb) -> cb(err) |
POST /session/:sessionId/appium/device/rotate Rotate device (mjsonWire). |
rotateDevice(element, opts, cb) -> cb(err)
rotate(element, opts, cb) -> cb(err)
element.rotate(opts, cb) -> cb(err) |
GET /session/:sessionId/appium/device/current_activity Get current activity (mjsonWire). |
getCurrentDeviceActivity(cb) -> cb(err)
getCurrentActivity(cb) -> cb(err) |
GET /session/:sessionId/appium/device/current_package Get current package (mjsonWire). |
getCurrentPackage(cb) -> cb(err) |
POST /session/:sessionId/appium/device/install_app Install app (mjsonWire). |
installAppOnDevice(appPath, cb) -> cb(err)
installApp(appPath, cb) -> cb(err) |
POST /session/:sessionId/appium/device/remove_app Remove app (mjsonWire). |
removeAppFromDevice(appId, cb) -> cb(err)
removeApp(appId, cb) -> cb(err) |
POST /session/:sessionId/appium/device/app_installed Check if the app is installed (mjsonWire). |
isAppInstalledOnDevice(bundleId, cb) -> cb(isInstalled, err)
isAppInstalled(bundleId, cb) -> cb(isInstalled, err) |
POST /session/:sessionId/appium/device/push_file Push file to device (mjsonWire). |
pushFileToDevice(pathOnDevice, base64Data, cb) -> cb(err)
pushFile(pathOnDevice, base64Data, cb) -> cb(err) |
POST /session/:sessionId/appium/device/pull_file Pull file from device (mjsonWire). |
pullFileFromDevice(pathOnDevice, cb) -> cb(base64EncodedData, err)
pullFile(pathOnDevice, cb) -> cb(base64EncodedData, err) |
POST /session/:sessionId/appium/device/pull_folder Pull folder from device (mjsonWire). |
pullFolderFromDevice(pathOnDevice, cb) -> cb(base64EncodedData, err)
pullFolder(pathOnDevice, cb) -> cb(base64EncodedData, err) |
POST /session/:sessionId/appium/device/toggle_airplane_mode Toggle airplane mode (mjsonWire). |
toggleAirplaneModeOnDevice(cb) -> cb(err)
toggleAirplaneMode(cb) -> cb(err)
toggleFlightMode(cb) -> cb(err) |
POST /session/:sessionId/appium/device/toggle_wifi Toggle wifi (mjsonWire). |
toggleWiFiOnDevice(cb) -> cb(err)
toggleWiFi(cb) -> cb(err) |
POST /session/:sessionId/appium/device/toggle_location_services Toggle location services (mjsonWire). |
toggleLocationServicesOnDevice(cb) -> cb(err)
toggleLocationServices(cb) -> cb(err) |
POST /session/:sessionId/appium/device/toggle_data Toggle data (mjsonWire). |
toggleDataOnDevice(cb) -> cb(err)
toggleData(cb) -> cb(err) |
POST /session/:sessionId/appium/device/start_activity Start an Android activity (mjsonWire). |
startActivity(options, cb) -> cb(err) Start an arbitrary Android activity during a session. The 'options' parameter should implement the interface {appPackage, appActivity, [appWaitPackage], [appWaitActivity]}. |
POST /session/:sessionId/appium/device/get_clipboard Get the content of the system clipboard (mjsonWire). |
getClipboard(contentType, cb) -> cb(err) Return clipboard content as base64-encoded string or an empty string if the clipboard is empty The type of the content to get: plaintext, image, url. Android supports only plaintext |
POST /session/:sessionId/appium/device/set_clipboard Set the content of the system clipboard (mjsonWire). |
setClipboard(content, contentType, cb) -> cb(err) Content is the actual base64 encoded clipboard content Supported content type: plaintext, image, url. Android supports only plaintext |
POST /session/:sessionId/appium/app/launch Launch app (mjsonWire). |
launchApp(cb) -> cb(err) |
POST /session/:sessionId/appium/app/close Close app (mjsonWire). |
closeApp(cb) -> cb(err) |
POST /session/:sessionId/appium/app/reset Reset app (mjsonWire). |
resetApp(cb) -> cb(err) |
POST /session/:sessionId/appium/app/background Background app (mjsonWire). |
backgroundApp(seconds, cb) -> cb(err) |
POST /session/:sessionId/appium/app/end_test_coverage End test coverage (mjsonWire). |
endTestCoverageForApp(intentToBroadcast, pathOnDevice) -> cb(base64Data,err)
endTestCoverage(intentToBroadcast, pathOnDevice) -> cb(base64Data,err)
endCoverage(intentToBroadcast, pathOnDevice) -> cb(base64Data,err) |
POST /session/:sessionId/appium/app/complex_find Find within app (mjsonWire). |
complexFindInApp(selector) -> cb(element(s))
complexFind(selector) -> cb(element(s)) |
POST /session/:sessionId/appium/app/strings Retrieve app strings (mjsonWire). |
getAppStrings(cb) -> cb(err) |
POST /session/:sessionId/appium/element/:elementId?/value Set element immediate value (mjsonWire). |
setImmediateValueInApp(element, value, cb) -> cb(err)
setImmediateValue(element, value, cb) -> cb(err)
element.setImmediateValueInApp(value, cb) -> cb(err)
element.setImmediateValue(value, cb) -> cb(err) |
GET /session/:sessionId/network_connection Get appium selendroid network connection type (mjsonWire). |
getNetworkConnection(cb) -> cb(err, networkConnectionInfo) |
POST /session/:sessionId/network_connection Set appium selendroid network connection type (mjsonWire). |
setNetworkConnection(type, cb) -> cb(err) |
GET /session/:sessionId/appium/device/is_keyboard_shown Whether or not the soft keyboard is shown (mjsonWire). |
isKeyboardShown() -> cb(err) |
POST /session/:sessionId/appium/device/hide_keyboard Hide keyboard (mjsonWire). |
hideKeyboard() -> cb(err) hideKeyboard(keyName, cb) -> cb(err) hideKeyboard({strategy: 'pressKey', key:'<key>'}) -> cb(err) hideKeyboard({strategy: 'tapOutside'}) -> cb(err) |
POST /session/:sessionId/appium/device/open_notifications Open Notifications (mjsonWire). |
openNotifications(cb) -> cb(err) |
POST /session/:sessionId/appium/performanceData/types Get the types of system state which is supported like cpu, memory, network traffic, and battery (mjsonWire). |
getSupportedPerformanceDataTypes(cb) -> cb(err) |
POST /session/:sessionId/appium/getPerformanceData Get the system state like cpu, memory, network traffic, and battery (mjsonWire). |
getPerformanceData(packageName, dataType, dataReadTimeout, cb) -> cb(err) |
POST /session/:sessionId/appium/simulator/touch_id TouchID (mjsonWire). |
touchId(cb) -> cb(err) |
extra |
attach(sessionID, cb) -> cb(err) Connect to an already-active session. |
extra |
detach(cb) -> cb(err) Detach from the current session. |
extra | |
extra |
Retrieves the current session id. getSessionId(cb) -> cb(err, sessionId) getSessionId() |
extra |
Opens a new window (using Javascript window.open): newWindow(url, name, cb) -> cb(err) newWindow(url, cb) -> cb(err) name: optional window name Window can later be accessed by name with the window method, or by getting the last handle returned by the windowHandles method. |
extra |
windowName(cb) -> cb(err, name) |
extra |
configureHttp(opts) opts example: {timeout:60000, retries: 3, 'retryDelay': 15, baseUrl='http://example.com/'} more info in README. |
extra |
waitFor(asserter, timeout, pollFreq, cb) -> cb(err, return_value) timeout and pollFreq are optional (default 1000ms/200ms) waitFor(opts, cb) -> cb(err) opts with the following fields: timeout, pollFreq, asserter. asserter like: function(browser , cb) -> cb(err, satisfied, return_value) |
extra |
waitForElement(using, value, asserter, timeout, pollFreq, cb) -> cb(err, el) waitForElement(using, value, timeout, pollFreq, cb) -> cb(err, el) timeout and pollFreq are optional (default 1000ms/200ms) waitForElement(using, value, opts, cb) -> cb(err, el) opts with the following fields: timeout, pollFreq, asserter. asserter like: function(element , cb) -> cb(err, satisfied, el) |
extra |
waitForElements(using, value, asserter, timeout, pollFreq, cb) -> cb(err, els) waitForElements(using, value, timeout, pollFreq, cb) -> cb(err, els) timeout and pollFreq are optional (default 1000ms/200ms) waitForElements(using, value, opts, cb) -> cb(err, els) opts with the following fields: timeout, pollFreq, asserter. asserter like: function(element , cb) -> cb(err, satisfied, el) |
extra |
saveScreenshot(path, cb) -> cb(err, filePath) path maybe a full file path, a directory path (finishing with /), the screenshot name, or left blank (will create a file in the system temp dir). |
extra |
waitForElementByClassName(value, asserter, timeout, pollFreq, cb) -> cb(err, el) waitForElementByCssSelector(value, asserter, timeout, pollFreq, cb) -> cb(err, el) waitForElementById(value, asserter, timeout, pollFreq, cb) -> cb(err, el) waitForElementByName(value, asserter, timeout, pollFreq, cb) -> cb(err, el) waitForElementByLinkText(value, asserter, timeout, pollFreq, cb) -> cb(err, el) waitForElementByPartialLinkText(value, asserter, timeout, pollFreq, cb) -> cb(err, el) waitForElementByTagName(value, asserter, timeout, pollFreq, cb) -> cb(err, el) waitForElementByXPath(value, asserter, timeout, pollFreq, cb) -> cb(err, el) waitForElementByCss(value, asserter, timeout, pollFreq, cb) -> cb(err, el) waitForElementByIosUIAutomation(value, asserter, timeout, pollFreq, cb) -> cb(err, el) waitForElementByIosClassChain(value, asserter, timeout, pollFreq, cb) -> cb(err, el) waitForElementByAndroidUIAutomator(value, asserter, timeout, pollFreq, cb) -> cb(err, el) waitForElementByAccessibilityId(value, asserter, timeout, pollFreq, cb) -> cb(err, el) asserter, timeout, pollFreq are optional, opts may be passed instead, as in waitForElement. |
extra |
waitForElementsByClassName(value, asserter, timeout, pollFreq, cb) -> cb(err, els) waitForElementsByCssSelector(value, asserter, timeout, pollFreq, cb) -> cb(err, els) waitForElementsById(value, asserter, timeout, pollFreq, cb) -> cb(err, els) waitForElementsByName(value, asserter, timeout, pollFreq, cb) -> cb(err, els) waitForElementsByLinkText(value, asserter, timeout, pollFreq, cb) -> cb(err, els) waitForElementsByPartialLinkText(value, asserter, timeout, pollFreq, cb) -> cb(err, els) waitForElementsByTagName(value, asserter, timeout, pollFreq, cb) -> cb(err, els) waitForElementsByXPath(value, asserter, timeout, pollFreq, cb) -> cb(err, els) waitForElementsByCss(value, asserter, timeout, pollFreq, cb) -> cb(err, els) waitForElementsByIosUIAutomation(value, asserter, timeout, pollFreq, cb) -> cb(err, el) waitForElementsByIosClassChain(value, asserter, timeout, pollFreq, cb) -> cb(err, el) waitForElementsByAndroidUIAutomator(value, asserter, timeout, pollFreq, cb) -> cb(err, el) waitForElementsByAccessibilityId(value, asserter, timeout, pollFreq, cb) -> cb(err, el) asserter, timeout, pollFreq are optional, opts may be passed instead, as in waitForElements. |
extra |
Retrieves the pageIndex element (added for Appium): getPageIndex(element, cb) -> cb(err, pageIndex) |
extra |
Uploads a local file using undocumented POST /session/:sessionId/file uploadFile(filepath, cb) -> cb(err, filepath) |
extra |
Waits for JavaScript condition to be true (async script polling within browser): waitForConditionInBrowser(conditionExpr, timeout, pollFreq, cb) -> cb(err, boolean) conditionExpr: condition expression, should return a boolean timeout and pollFreq are optional, default: 1000/100. return true if condition satisfied, error otherwise. |
extra |
sauceJobUpdate(jsonData, cb) -> cb(err) |
extra |
sauceJobStatus(hasPassed, cb) -> cb(err) |
extra |
sleep(ms, cb) -> cb(err) |
extra |
noop(cb) -> cb(err) |
extra |
Equivalent to the python sendKeys binding. Upload file if a local file is detected, otherwise behaves like type. element.sendKeys(keys, cb) -> cb(err) |
extra |
Equivalent to the python sendKeys binding, but replaces texts instead of keeping original. Upload file if a local file is detected, otherwise behaves like type. element.setText(keys, cb) -> cb(err) |
extra |
isVisible(cb) -> cb(err, boolean) |
extra |
element.sleep(ms, cb) -> cb(err) |
extra |
element.noop(cb) -> cb(err) |
asserter |
asserters.nonEmptyText |
asserter |
asserters.textInclude(content) -> Asserter |
asserter |
asserters.isVisible |
asserter |
asserters.isHidden |
asserter |
asserters.jsCondition(jsConditionExpr) -> Asserter jsConditionExpr: js script expression, should evaluate as boolean. |
wd |
wd.configureHttp(opts) opts example: {timeout:60000, retries: 3, 'retryDelay': 15, baseUrl='http://example.com/'} more info in README. |
wd |
wd.showHideDeprecation(boolean) |
wd |
wd.addAsyncMethod(name, func) |
wd |
wd.addElementAsyncMethod(name, func) |
wd |
wd.addPromiseMethod(name, func) |
wd |
wd.addElementPromiseMethod(name, func) |
wd |
wd.addPromiseChainMethod(name, func) |
wd |
wd.addElementPromiseChainMethod(name, func) |
wd |
wd.removeMethod(name, func) |
MISSING: POST /session/:sessionId/appium/device/is_locked |
isLocked(cb) -> cb(err) |
MISSING: GET /session/:sessionId/appium/settings |
settings(cb) -> cb(err, settingsObject) |
MISSING: POST /session/:sessionId/appium/settings |
updateSettings(settingsObject, cb) -> cb(err) |
Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
wd/doc/api.md
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
1993 lines (1993 sloc)
71.5 KB