mob

Provides methods for mobile automation.

Locators:

Native application locators for
  • /XPATH - Locates element using an XPath 1.0 expression.
  • id=ID - Locates element by its id.
  • class=CLASS - Locates element by its class.
  • text=TEXT - Locates element by its visible text.
  • text-contains=TEXT - Locates element whose visible text contains the specified string.
  • desc=DESCRIPTION - Locates element by its description.
  • desc-contains=DESCRIPTION - Locates element whose description contains the specified string.
  • scrollable - Locates elements that are scrollable.

Native application locators for
  • /XPATH - Locates element using an XPath 1.0 expression.
  • id=ID - Locates element by its ID.
  • ~ACCESSIBILITY_ID - Locates element by its Accessibility Id.
Hybridand Webapplication locators for
  • /XPATH - Locates element using an XPath 1.0 expression.
  • id=ID - Locates element by its id.
  • name=NAME - Locates element by its name attribute.
  • link=TEXT - Locates anchor element whose text matches the given string.
  • link-contains=TEXT - Locates anchor element whose text contains the given string.
  • css=CSS_SELECTOR - Locates element using a CSS selector.


Pattern arguments:

Commands which expect a string matching pattern in their arguments, support following patterns unless specified otherwise:
  • regex:PATTERN - Match using regular expression.
  • PATTERN - Verbatim matching.

Methods

getCapabilities()→ {Object}

Returns currently defined device capabilities.

Returns:
Object - capabilities - Current capabilities object.

init(caps, appiumUrl)

Initializes a new Appium session.

Parameters:
Name Type Description
caps String= optionalDesired capabilities. If not specified capabilities will be taken from suite definition.
appiumUrl String= optionalRemote Appium server URL (default: http://localhost:4723/wd/hub).

transaction(name)

Opens new transaction.

The transaction will persist till a new one is opened. Transaction names must be unique.

Parameters:
Name Type Description
name String The transaction name.

dispose()

Ends the current session.

alertAccept()

Accepts an alert or a confirmation dialog.

In case of an alert box this command is identical to alertDismiss.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.click("id=Submit");// Clicks an element and opens an alert.
mob.alertAccept();//Automatically press on 'OK' button in the alert pop-up.

alertDismiss()

Dismisses an alert or a confirmation dialog.

In case of an alert box this command is identical to alertAccept.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.click("id=Submit");// Clicks an element and opens an alert.
mob.alertDismiss();//Automatically press on 'Cancel' button in the alert pop-up.

assertText(locator, pattern, timeout)

Asserts element's inner text.

Text pattern can be any of the supported string matching patterns. If the element is not interactable, then it will allways return empty string as its text.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.assertText("id=UserName","John Doe");// Asserts if an element’s text is as expected.
Parameters:
Name Type Description
locator (String|Element) Element locator.
pattern String Assertion text or pattern.
timeout Number= optionalTimeout in milliseconds. Default is 60 seconds.

assertTitle(pattern, timeout)

Asserts the page title.

Assertion pattern can be any of the supported string matching patterns.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.assertTitle("Your websites title!");// Asserts if the title of the page.
Parameters:
Name Type Description
pattern String Assertion text or pattern.
timeout Number= optionalTimeout in milliseconds. Default is 60 seconds.

assertValue(locator, pattern, timeout)

Asserts element's value.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.assertValue("id=UserName", "John Doe");// Asserts if the value of an element.
Parameters:
Name Type Description
locator (String|Element) Element locator.
pattern String Value pattern.
timeout Number= optionalTimeout in milliseconds. Default is 60 seconds.

back()

Navigate backwards in the browser history or simulates back button on Android device.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.click("id=NextPage);// Clicks an element and opens an alert.
mob.back();//Navigate back to previous page.

clear(locator, timeout)

Clears element's value or content


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.type("id=Password", "Password");//Types a password to a field.
mob.clear("id=Password");//Clears the characters from the field of an element.
Parameters:
Name Type Description
locator (String|Element) Element locator.
timeout Number= optionalTimeout in milliseconds. Default is 60 seconds.

click(locator, timeout)

Clicks on an element.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.click("id=Submit");// Clicks an element.
Parameters:
Name Type Description
locator (String|Element) Element locator.
timeout Number= optionalTimeout in milliseconds. Default is 60 seconds.

clickHidden(locator, clickParent)

Clicks on a non-visible element.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.clickHidden("id=hiddenContent);// Clicks an hidden element.
Parameters:
Name Type Description
locator (String|Element) Element locator.
clickParent Boolean= optionalIf true, then parent of the element is clicked.

clickLong(locator, duration, timeout)

Performs a long click/touch on an element.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.clickLong("id=Mark",6000);// Clicks an element for a certain duration.
Parameters:
Name Type Description
locator (String|Element) Element locator.
duration Number Touch duration in milliseconds.
timeout Number= optionalTimeout in milliseconds. Default is 60 seconds.

clickMultipleTimes(locator, taps, timeout)

Performs tap on an element multiple times in quick succession.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.clickMultipleTimes("id=Mark",4);// Clicks an element certain amount of times.
Parameters:
Name Type Description
locator (String|Element) Element locator.
taps Number Number of taps.
timeout Number= optionalTimeout in milliseconds. Default is 60 seconds.

closeApp()

Closes the currently open app.


Usage example

mob.init(caps); // Starts a mobile session and opens app from desired capabilities
mob.launchApp(); // Launch the app.
mob.closeApp(); // Close the app.

dragAndDrop(locator, xoffset, yoffset, timeout)

Tap on an element, drag by the specified offset, and release.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.dragAndDrop("id=Mark",-80,100);// Tap on an element, drag by the specified offset, and release.
Parameters:
Name Type Description
locator (String|Element) Element locator on which to perform the initial tap.
xoffset Number Horizontal offset. Positive for right direction; Negative for left.
yoffset Number Vertical offset. Positive for down direction; Negative for up.
timeout Number= optionalTimeout in milliseconds. Default is 60 seconds.

enableNetwork(wifi, data)

Enable or disable wifi or data.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.enableNetwork(true,false);//Enable wifi and disable data.
Parameters:
Name Type Description
wifi Boolean Enable (true) or disable (false) wifi.
data Boolean Enable (true) or disable (false) data.

execute(script, arg)→ {Object}

Executes JavaScript in the context of the currently selected frame or window.

If return value is null or there is no return value, null is returned.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.execute(function(){
   angular.element("#closeBtn").trigger('ng-click').click()
});//Executes / injects a javascript functions.
Parameters:
Name Type Description
script (String|Function) The JavaScript to execute.
arg ...Object optionalOptional arguments to be passed to the JavaScript function.
Returns:
Object - The return value.

findElement(locator, parent, timeout)→ {Element}

Finds an element.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
var el = mob.findElement("id=Password");
mob.click(el);
Parameters:
Name Type Description
locator String Element locator.
parent Element= optionalOptional parent element for relative search.
timeout Number= optionalTimeout in milliseconds. Default is 60 seconds.
Returns:
Element - A Element object.

findElements(locator, parent, timeout)→ {Array.<Element>}

Finds elements.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
var els = mob.findElements("//div");
for (let el of els) {
  var text = mob.getText(el);
  log.info(text);
}
Parameters:
Name Type Description
locator String Element locator.
parent Element= optionalOptional parent element for relative search.
timeout Number= optionalTimeout in milliseconds. Default is 60 seconds.
Returns:
Array.<Element> - Collection of Element objects.

alertText()→ {String}

Gets the text displayed by an alert or confirm dialog.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.click("id=Submit");// Clicks an element and opens an alert.
var a = mob.alertText();//Gets alert text.
Returns:
String - Alert's text.

getAppiumLogs()→ {Array.<Object>}

Collects logs from the Appium server.


Usage example

mob.init(caps); //Starts a mobile session and opens app from desired capabilities
mob.getAppiumLogs(); //Collects logs from the Appium server
Returns:
Array.<Object> - A list of logs.

getCurrentActivity()

Gets current Android app's activity name.


Usage example

mob.init(caps); // Starts a mobile session and opens app from desired capabilities
let activity = mob.getCurrentActivity(); // Gets current Android activity.

getCurrentPackage()

Gets current Android app's package name.


Usage example

mob.init(caps); // Starts a mobile session and opens app from desired capabilities
let package = mob.getCurrentPackage(); // Gets current Android package.

getDeviceLogs()→ {Array.<Object>}

Collects logs from the mobile device.


Usage example

mob.init(caps); //Starts a mobile session and opens app from desired capabilities
mob.getDeviceLogs(); //Collects logs from the browser console or mobile device
Returns:
Array.<Object> - A list of logs.

getDeviceTime()→ {String}

Gets the time on the device.


Usage example

mob.init(caps); //Starts a mobile session and opens app from desired capabilities
mob.getDeviceTime(); //Gets the device time
Returns:
String - Time.

getLocation(locator, timeout)→ {Object}

Get element's location.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
var loc = mob.getLocation("id=element");//Get element's location.
var x = loc.x;
var y = loc.y;
Parameters:
Name Type Description
locator (String|Element) Element locator.
timeout Number= optionalTimeout in milliseconds. Default is 60 seconds.
Returns:
Object - X and Y location of the element relative to top-left page corner.

getSource()→ {String}

Gets the source code of the page.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
var a = mob.getSource();//Gets the source code of the page.
Returns:
String - HTML in case of web or hybrid application or XML in case of native.

getText(locator, timeout)→ {String}

Returns the text (rendered text shown to the user; whitespace-trimmed) of an element.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
var a = mob.getText("id=TextArea");//Gets the text from an element.
Parameters:
Name Type Description
locator (String|Element) Element locator.
timeout Number= optionalTimeout in milliseconds. Default is 60 seconds.
Returns:
String - Element's text.

getValue(locator, timeout)→ {String}

Gets element's value (whitespace-trimmed).


Usage example

mob.init(caps);
var a = mob.getValue("id=ValueArea");//Gets the value from an element.
Parameters:
Name Type Description
locator (String|Element) Element locator.
timeout Number= optionalTimeout in milliseconds. Default is 60 seconds.
Returns:
String - Element's value.

hideKeyboard(strategy, key, keyCode, keyName)

Hides device keyboard.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.type("id=Password", "Password");//Types a password to a field.
mob.hideKeyboard("pressKey", "Done");//Hides device keyboard.
Parameters:
Name Type Description
strategy String= optionalStrategy to use for closing the keyboard - 'press', 'pressKey', 'swipeDown', 'tapOut', 'tapOutside', 'default'.
key String= optionalKey value if strategy is 'pressKey'.
keyCode String= optionalKey code if strategy is 'pressKey'.
keyName String= optionalKey name if strategy is 'pressKey'.

installApp(appLocalPath)

Install an app on the remote device.


Usage example

mob.init(caps); // Starts a mobile session and opens app from desired capabilities
mob.installApp('/mylocalappfile.apk'); // Install the app.
Parameters:
Name Type Description
appLocalPath String The local file path to APK or IPA file.

isAppInstalled(app)

Determines if an app is installed on the device.


Usage example

mob.init(caps); //Starts a mobile session and opens app from desired capabilities
let installed = mob.isAppInstalled('com.android.calculator2'); // Determines if calculator app is installed.
Parameters:
Name Type Description
app String App's ID.

isCheckable(locator, timeout)→ {Boolean}

Determines if checkbox or radio element is checkable.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.isCheckable("id=checkBox");//Determines if checkbox or radio element is checkable.
Parameters:
Name Type Description
locator (String|Element) Element locator.
timeout Number= optionalTimeout in milliseconds. Default is 60 seconds.
Returns:
Boolean - true if element is checkable. false otherwise.

isChecked(locator, timeout)→ {Boolean}

Determines if checkbox or radio element is checked.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.isChecked("id=checkBox");//Determines if checkbox or radio element is checked.
Parameters:
Name Type Description
locator (String|Element) Element locator.
timeout Number= optionalTimeout in milliseconds. Default is 60 seconds.
Returns:
Boolean - true if element is checked. false otherwise.

isClickable(locator, timeout)→ {Boolean}

Determines if an element is clickable.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.isClickable("id=Element");//Determines if element is clickable.
Parameters:
Name Type Description
locator (String|Element) Element locator.
timeout Number= optionalTimeout in milliseconds. Default is 60 seconds.
Returns:
Boolean - true if element is clickable. false otherwise.

isExist(locator, timeout)→ {Boolean}

Wait for an element to become available.

The element is not necessary needs to be visible.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.isExist("id=Element");//Determines if element exists.
Parameters:
Name Type Description
locator (String|Element) Element locator.
timeout Number= optionalTime in milliseconds to wait for the element. Default is 60 seconds.
Returns:
Boolean - true if the element exists. false otherwise.

isSelected(locator, timeout)→ {Boolean}

Determines if an element is selected.


Usage example

mob.init(caps);
var a = mob.isSelected("id=Selection");
if (a) {
  ...
} else {
  ...
}
Parameters:
Name Type Description
locator (String|Element) Element locator.
timeout Number= optionalTimeout in milliseconds. Default is 60 seconds.
Returns:
Boolean - true if element is selected. false otherwise.

isVisible(locator, timeout)→ {Boolean}

Checks if element is present and visible. Returns false if element was not found or wasn't visible within the specified timeout.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.isVisible("id=Selection");//Determines if element is visible.
Parameters:
Name Type Description
locator (String|Element) An element locator.
timeout Number= optionalTimeout in milliseconds to wait for element to appear. Default is 60 seconds.
Returns:
Boolean - True if element was found and it was visible. False otherwise.

isWebViewContext()→ {Boolean}

Checks if the current context is of WebView type.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.isWebViewContext();//Checks if the current context is of WebView type.
Returns:
Boolean - true if the context name is WEBVIEW or CHROMIUM.

launchApp()

Launches the app defined in the current session's capabilities.


Usage example

mob.init(caps); // Starts a mobile session and opens app from desired capabilities
mob.launchApp(); // Launch the app defined in the session's capabilities.

open(url)

Opens an URL.

The open command waits for the page to load before proceeding.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.open('www.yourwebsite.com');//Opens an URL.
Parameters:
Name Type Description
url String The URL to open; may be relative or absolute.

pause(ms)

Pauses test execution for given amount of milliseconds.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.pause(10*1000);//Pauses the execution for 10 seconds (10000ms)
Parameters:
Name Type Description
ms Number milliseconds to pause the execution.

removeApp(app)

Remove an app from the device.


Usage example

mob.init(caps); // Starts a mobile session and opens app from desired capabilities
mob.removeApp('com.android.calculator2'); // Remove the calculator app from the device.
Parameters:
Name Type Description
app String App's ID.

resetApp()

Reset the currently running app's state (e.g. local settings) on the device.


Usage example

mob.init(caps); // Starts a mobile session and opens app from desired capabilities
mob.resetApp(); // Reset curently running app

scrollIntoElement(scrollElmLocator, findElmLocator, xoffset, yoffset, retries, timeout)

Scrolls the view element until a specified target element inside the view is found.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.scrollIntoElement('id=bottomPanel','id=Button',0,-30,50);//Scrolls the view element until a specified target element inside the view is found.
Parameters:
Name Type Description
scrollElmLocator String View element to scroll.
findElmLocator String Target element to find in the view.
xoffset Number= optionalIndicates the size in pixels of the horizontal scroll step (positive - scroll right, negative - scroll left). Default is 0.
yoffset Number= optionalIndicates the size in pixels of the vertical scroll step (positive - scroll up, negative - scroll down). Default is -30.
retries Number= optionalIndicates the number of scroll retries before giving up if element not found. Default is 50.
timeout Number= optionalTimeout in milliseconds. Default is 60 seconds.

scrollIntoView(locator, alignToTop, timeout)

Scrolls the page or a container element to the location of the specified element.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.scrollIntoView('id=bottomPanel',true);//Scrolls the element into the visible area of the browser window.
Parameters:
Name Type Description
locator (String|Element) An element locator.
alignToTop Boolean= optionalIf true, the top of the element will be aligned to the top of the visible area of the scrollable ancestor. This is the default. If false, the bottom of the element will be aligned to the bottom of the visible area of the scrollable ancestor.
timeout Number= optionalTimeout in milliseconds. Default is 60 seconds.

selectFrame(frameLocator)

Selects a frame or an iframe within the current window.

Available frame locators:

  • 'parent' - Select parent frame.
  • 'top' - Select top window.
  • NUMBER - Select frame by its 0-based index.
  • LOCATOR - Locator identifying the frame (relative to the top window). Multiple locators can be passed in order to switch between nested frames.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.selectFrame("//iframe[@id='frame1']", "//iframe[@id='nested_frame']");
Parameters:
Name Type Description
frameLocator ...(String|Number) optionalA locator identifying the frame or iframe. Or a series of locators.

sendKeys(value)

Send a sequence of keyboard strokes to the active window or element.

Refer to Key Codes for the list of supported raw keyboard key codes.


Usage example

mob.init();//Opens browser session.
mob.open("www.yourwebsite.com");// Opens a website.
mob.sendKeys("Hello World");
mob.sendKeys(["Backspace", "Backspace", "Enter"]); // send two Backspace key codes and Enter.
// Unicode representation can be used directly as well:
mob.sendKeys("Hello World\uE003\uE003\uE007");
Parameters:
Name Type Description
value (String|Array.<String>) Sequence of key strokes to send. Can be either a string or an array of strings for sending raw key codes.

{0}()

undefined

{0}()

undefined

{0}()

undefined

setContext(context)

Sets a specific context (NATIVE_APP, WEBVIEW, etc.).


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.setContext('NATIVE_APP');//Sets a specific context (NATIVE_APP, WEBVIEW, etc.).
Parameters:
Name Type Description
context String The context name.

setNativeContext()

Sets context to NATIVE_APP.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.setNativeContext();//Sets context to NATIVE_APP.

setTimeout(timeout)

Specifies the amount of time that Oxygen will wait for actions to complete.

This includes the open command, waitFor* commands, and commands which wait for elements to appear in DOM or become visible before operating on them.
If command wasn't able to complete within the specified period it will fail the test.
The default time-out is 60 seconds.


Usage example

mob.init();//Opens browser session.
mob.setTimeout(60000);//Sets the time out to amount of milliseconds .
Parameters:
Name Type Description
timeout Number A time-out in milliseconds.

setWebViewContext()→ {String}

Sets context to the first available WEBVIEW or CHROMIUM (Crosswalk WebView) view.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.setWebViewContext();//Sets context to the first available WEBVIEW or CHROMIUM (Crosswalk WebView) view.
Returns:
String - Context name, or null if no web context found.

shake()

Perform shake action on the device

Supported on Android and iOS 9 or earlier versions.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.shake();//Perform shake action on the device.

smsClickLink(timeout)

Clicks SMS message URL.

SMSPopup application must be installed and running on the device to use this command. https://github.com/oxygenhq/android-smspopup/releases


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.click("id=sendSmS");// Clicks an element.
mob.smsClickLink(60000);//Clicks SMS message URL.
Parameters:
Name Type Description
timeout Number= optionalTime in milliseconds to wait for sms popup. Default is 60 seconds.

smsGetText(timeout)→ {String}

Gets SMS text on Android phone.

SMSPopup application must be installed and running on the device to use this command. https://github.com/oxygenhq/android-smspopup/releases


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.click("id=sendSmS");// Clicks an element.
var a = mob.smsGetText(60000);//Gets SMS text on Android phone.
Parameters:
Name Type Description
timeout Number= optionalTime in milliseconds to wait for sms popup. Default is 60 seconds.
Returns:
String - SMS text.

swipe(locator, xoffset, yoffset, timeout)

Perform a swipe on an element.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.swipe("id=Element",-60,0,150);//Perform a swipe on the screen or an element.
Parameters:
Name Type Description
locator (String|Element) Locator of the element to swipe on.
xoffset Number Horizontal offset.
yoffset Number Vertical offset. Negative value indicates swipe down and positive indicates swipe up direction.
timeout Number= optionalTimeout in milliseconds. Default is 60 seconds.

swipeScreen(x1, y1, x1, y1)

Perform a swipe on the screen.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.swipeScreen(100, 20, 300, 500);//Perform a swipe on the screen
Parameters:
Name Type Description
x1 Number Starting X position (top-left screen corner is the origin)
y1 Number Starting Y position.
x1 Number Ending X position.
y1 Number Ending Y position.

takeScreenshot()→ {String}

Take a screenshot of the current page or screen and return it as base64 encoded string.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
var ss = mob.takeScreenshot();//Take a screenshot of the current page or screen and return it as base64 encoded string.
require("fs").writeFileSync("c:\\screenshot.png", ss, 'base64');
Returns:
String - Screenshot image encoded as a base64 string.

tap(x, y)

Perform tap at the specified coordinate.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.tap(60,300);//Perform tap at the specified coordinate.
Parameters:
Name Type Description
x Number x offset.
y Number y offset.

type(locator, value, timeout)

Send a sequence of key strokes to an element (clears value before).

Refer to Key Codes for the list of supported raw keyboard key codes.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.type('id=TextArea', 'hello world\uE007');
Parameters:
Name Type Description
locator (String|Element) An element locator.
value String The value to type.
timeout Number= optionalTimeout in milliseconds. Default is 60 seconds.

unlockPattern(locator, cols, rows, pattern, timeout)

Unlocks a pattern lock


1 2 3
4 5 6
7 8 9
a b c
Parameters:
Name Type Description
locator (String|Element) Element locator for the pattern lock.
cols Number Number of columns in the pattern.
rows Number Number of rows in the pattern.
pattern String Pattern sequence. Pins are hexadecimal and case sensitive. See example.
timeout Number= optionalTimeout in milliseconds. Default is 60 seconds.

waitForExist(locator, timeout)

Wait for an element for the provided amount of milliseconds to exist in DOM.

The element is not necessary needs to be visible.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.waitForExist('id=Element');//Wait for an element for the provided amount of milliseconds to exist in DOM.
Parameters:
Name Type Description
locator (String|Element) Element locator.
timeout Number= optionalTime in milliseconds to wait for the element. Default is 60 seconds.

waitForVisible(locator, timeout)

Waits for element to become visible.


Usage example

mob.init(caps);//Starts a mobile session and opens app from desired capabilities
mob.waitForVisible("id=Title", 45*1000);//Waits for an element to  be visible.
Parameters:
Name Type Description
locator (String|Element) Element locator.
timeout Number= optionalTime in milliseconds to wait for the element. Default is 60 seconds.