To learn more about using JavaScript in LeanFT, see Setting up and working with the JavaScript SDK.
For JavaScript code samples, see Code Samples - JavaScript.

UiObjectTO

Mobile. UiObjectTO

UiObjectTO

Constructor

new UiObjectTO()

A generic object in a mobile application.

Members

displayName

Returns the object display name defined in the Application Model.

Methods

$(description) → {*}

Creates a child test object of this test object. This operation does not cause LeanFT to search for the object in the AUT. LeanFT interacts with the application only when a step runs that performs an operation on the AUT object.
Parameters:
Name Type Description
description The description of the test object. Can be a full test object description or a string. If a string is provided, it is interpreted as a CSS selector with a default test object type of WebElement.
Returns:
the new child test object with the provided description.
Type
*

$$(description, dontFilterByTypeopt) → {Promise.<Array.<TestObject>>}

Returns all child objects of this object that match the supplied test object description.
Parameters:
Name Type Attributes Default Description
description A description object that defines the test object type and the set of properties and values that should be common to all objects that are returned.
dontFilterByType bool <optional>
false Set this parameter to true to avoid limiting the returned objects to a specific test object type.
Returns:
an array of test objects that match the supplied description.
Type
Promise.<Array.<TestObject>>

accessibilityId() → {Promise.<string>}

The accessibility ID of the mobile object.
Returns:
a promise that is fulfilled with the accessibility ID of the mobile object.
Type
Promise.<string>

className() → {Promise.<string>}

The test object class name used by Mobile Center.
Returns:
a promise that is fulfilled with the test object class name used by Mobile Center.
Type
Promise.<string>

container() → {Promise.<string>}

Information about the table container, if the object is in a table. (iOS only)
Returns:
a promise that is fulfilled with the information about the table container, if the object is in a table. (iOS only)
Type
Promise.<string>

description() → {*}

Returns the description for this test object.
Returns:
the description for this test object.
Type
*

exists(timeoutopt) → {Promise.<bool>}

Checks whether this object exists in the AUT.
Parameters:
Name Type Attributes Description
timeout Number <optional>
The time (in seconds) to wait for this object before returning a result of true or false.
By default, uses the object synchronization timeout defined in the runtime engine settings.
Returns:
an indication of whether the object exists.
Type
Promise.<bool>

getTextLocations(text, rectangleopt) → {Promise.<object>}

Returns all rectangular areas containing the specified text within this object.
Parameters:
Name Type Attributes Description
text String The text to search for in the test object.
rectangle Object <optional>
The rectangular area in the test object to search for the text.
Returns:
a promise that is fulfilled with an array of rectangles containing all rectangular areas containing the specified text within this object.
Type
Promise.<object>

getVisibleText(rectangleopt) → {Promise.<string>}

Returns all visible text from this object.
Parameters:
Name Type Attributes Description
rectangle Object <optional>
The rectangular area in the test object to return the text from.
Returns:
a promise that is fulfilled with all the visible text from this object.
Type
Promise.<string>

highlight() → {Promise.<void>}

Highlights this object in the AUT.
Remark: This may be useful when debugging a test.
Returns:
a promise that is fulfilled when the highlighting operation ends.
Type
Promise.<void>

highlightMatches(description, dontFilterByTypeopt) → {Promise.<Number>}

Highlights all children that match the supplied test object description.
Parameters:
Name Type Attributes Default Description
description A description object that defines the test object type and the set of properties and values that should be common to all objects that are highlighted.
dontFilterByType bool <optional>
false Set this parameter to true to avoid limiting the highlighted objects to a specific test object type.
Returns:
the number of matches that are found and highlighted.
Type
Promise.<Number>

isCheckable() → {Promise.<bool>}

Indicates whether the mobile object can be checked.
Returns:
a promise that is fulfilled with an indication of whether the mobile object can be checked.
Type
Promise.<bool>

isChecked() → {Promise.<bool>}

Indicates whether the mobile object is checked. (Relevant for objects that can have a check mark.)
Returns:
a promise that is fulfilled with an indication of whether the mobile object is checked. (Relevant for objects that can have a check mark.)
Type
Promise.<bool>

isClickable() → {Promise.<bool>}

Indicates whether the object can be tapped.
Returns:
a promise that is fulfilled with an indication of whether the object can be tapped.
Type
Promise.<bool>

isEnabled() → {Promise.<bool>}

Indicates whether the mobile object is enabled.
Returns:
a promise that is fulfilled with an indication of whether the mobile object is enabled.
Type
Promise.<bool>

isFocusable() → {Promise.<bool>}

Indicates whether the object is focusable.
Returns:
a promise that is fulfilled with an indication of whether the object is focusable.
Type
Promise.<bool>

isFocused() → {Promise.<bool>}

Indicates whether the mobile object is in focus.
Returns:
a promise that is fulfilled with an indication of whether the mobile object is in focus.
Type
Promise.<bool>

location() → {Promise.<Point>}

The location of the mobile object, format: {x: 0, y: 0}
Returns:
a promise that is fulfilled with the location of the mobile object.
Type
Promise.<Point>

longPress(longPressArgsopt) → {Promise.<void>}

Taps and holds the object for a short time.
Parameters:
Name Type Attributes Description
longPressArgs Object <optional>
Arguments object that defines the behavior of the longPress operation.
Properties
Name Type Attributes Default Description
duration number <optional>
0 The number of seconds to continue pressing (iOS only).
numberOfTouchPoints number <optional>
1 The number of points to tap, similar to the number of fingers you would use for the gesture on a real device. (iOS only)
location Location <optional>
The location where the operation is performed.
gesture string <optional>
"" The gesture class designed by the mobile application developer to handle this gesture on this object. (iOS only)
Returns:
a promise that is fulfilled after long-pressing the center of the object or the specific location defined by the user.
Type
Promise.<void>

nativeClass() → {Promise.<string>}

The native class of the mobile object.
Returns:
a promise that is fulfilled with the native class of the mobile object.
Type
Promise.<string>

panByLocations(start, end) → {Promise.<void>}

Performs a pan gesture on the object, by location (iOS Only).
Parameters:
Name Type Description
start Location The location at which to start the pan gesture.
end Location The location at which to end the pan gesture.
Returns:
a promise that is fulfilled after the pan operation has occurred.
Type
Promise.<void>

panByPoints(start, end, panArgsopt) → {Promise.<void>}

Performs a pan gesture on the object, using points (iOS Only).
Parameters:
Name Type Attributes Description
start Point The point at which to start the pan gesture.
end Point The point at which to end the pan gesture.
panArgs Object <optional>
Arguments object that defines the behavior of the pan operation:
Properties
Name Type Attributes Default Description
velocity number <optional>
The speed at which to perform the pan operation.
gesture string <optional>
"" The gesture class designed by the mobile application developer to handle this gesture on this object. (iOS Only)
Returns:
a promise that is fulfilled after the pan operation has occurred.
Type
Promise.<void>

parent() → {*}

Returns the parent test object of this test object.
Returns:
the parent test object of this test object.
Type
*

pinch(scale, pinchArgsopt) → {Promise.<void>}

Performs a pinch gesture on the object (iOS only).
Parameters:
Name Type Attributes Description
scale number The scale for the pinch gesture. This number is the ratio between the start distance and the end distance between the two touch points used for the pinch. For example, if you were to touch a screen with your fingers 6 cm apart, and pinch until your fingers were 3 cm apart, the scale would be 0.5.
pinchArgs <optional>
Arguments object that defines the behavior of the pinch operation.
Properties
Name Type Attributes Default Description
velocity number <optional>
The speed at which to perform the pinch operation.
location Location <optional>
The location at which to perform operation.
gesture string <optional>
"" The gesture class designed by the mobile application developer to handle this gesture on this object. (iOS only)
Returns:
a promise that is fulfilled after the pinch has occurred.
Type
Promise.<void>

resourceId() → {Promise.<string>}

The resource ID of the object. (Android only)
Returns:
a promise that is fulfilled with the resource ID of the object. (Android only)
Type
Promise.<string>

setFocus() → {Promise.<void>}

Brings the object into focus.
Returns:
a promise that is fulfilled after the focus operation has occurred.
Type
Promise.<void>

size() → {Promise.<Size>}

The size of the mobile object, format: {width: 0, height: 0}
Returns:
a promise that is fulfilled with the size of the mobile object.
Type
Promise.<Size>

snapshot(optionsopt) → {Promise.<string>}

Captures and returns a Base64 representation of this test object.
Parameters:
Name Type Attributes Description
options Object <optional>
An options object that defines the image capture preferences.
Properties
Name Type Attributes Default Description
format string <optional>
"png" The format of the image. Possible values: png, bmp.
Returns:
a promise that is fulfilled with the Base64 string of the test object's image.
Type
Promise.<string>

swipe(swipeDirection, swipeArgsopt) → {Promise.<void>}

Swipes the object in the specified direction.
Parameters:
Name Type Attributes Description
swipeDirection SwipeDirection The direction of the swipe.
swipeArgs object <optional>
Arguments object that defines the behavior of the swipe operation, format:
Properties
Name Type Attributes Default Description
location Location <optional>
The location where the operation is performed.
gesture string <optional>
"" The gesture class designed by the mobile application developer to handle this gesture on this object. (iOS only)
Returns:
a promise that is fulfilled after the swipe has occurred.
Type
Promise.<void>

tap(tapArgsopt) → {Promise.<void>}

Taps the center of the object.
Parameters:
Name Type Attributes Description
tapArgs Object <optional>
Arguments object that defines the behavior of the tap operation.
Properties
Name Type Attributes Default Description
numberOfTaps number <optional>
1 The number of times to tap the object (iOS only).
location Location <optional>
The location where the operation is performed.
numberOfTouchPoints number <optional>
1 The number of points to tap, similar to the number of fingers you would use for the gesture on a real device. (iOS only)
gesture string <optional>
"" The gesture class designed by the mobile application developer to handle this gesture on this object. (iOS only)
Returns:
a promise that is fulfilled after tapping the center of the object or the specific location defined by the user.
Type
Promise.<void>

verifyImageExists(imageToFind, similarityopt) → {Promise.<object>}

Checks whether a snapshot of this object contains the supplied image.
Parameters:
Name Type Attributes Description
imageToFind String A Base64 string representation of the image to look for within the test object's snapshot.
similarity Number <optional>
The minimum similarity between the two images (as a percentage), above which the find is considered a match. Default = 100.
Returns:
a promise that is fulfilled with an object representing the point where the image was located, or null if it was not found.
Type
Promise.<object>

verifyImageMatch(expectedImage, maskAreaImage, pixelToleranceopt, rgbToleranceopt) → {Promise.<Boolean>}

Checks whether a snapshot of this object and the supplied image are a match.
Parameters:
Name Type Attributes Description
expectedImage String A Base64 string representation of the image to compare to the test object snapshot.
maskAreaImage String A Base64 string representation of the image mask area to use in the image comparison.
pixelTolerance Number <optional>
The percentage of pixels that can differ between the two images, and still be considered a match. Default = 0.
rgbTolerance Number <optional>
The percentage by which the RGB values of the pixels in the two images can differ, and still be considered a match. Default = 0.
Returns:
a Boolean representing the comparison result.
Type
Promise.<Boolean>