OpenText™ Functional Testing for Developers JavaScript SDK

Mobile. DeviceTO

DeviceTO

Constructor

new DeviceTO()

Device orientation settings.

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 a search for the object in the AUT. OpenText Functional Testing for Developers interacts with the application only when a step runs that performs an operation on the AUT object.
Parameters:
Name Type Description
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 boolean <optional>
false Set this parameter to true to avoid limiting the returned objects to a specific test object type.
Returns:
a promise that is fulfilled with an array of test objects that match the supplied description.
Type
Promise.<Array.<TestObject>>

back() → {Promise.<void>}

Presses the device's Back button (Android only).
Returns:
a promise that is fulfilled when the Back button is pressed.
Type
Promise.<void>

callFTMethod(methodName) → {Promise.<void>|Promise.<any>}

Calls a method or property of an OpenText Functional Testing test object.
Parameters:
Name Type Description
methodName string The name of the method or property to call (additional arguments required by the method or property can be passed after this parameter).
Returns:
  • If the called method or property has no return value
    Type
    Promise.<void>
  • Returns a promise that contains the return value of the called method of property
    Type
    Promise.<any>

closeViewer() → {Promise.<void>}

Closes the RDP window for the device (if open).
Note: Calling this method does not release the device if it is locked.
Returns:
a promise that is fulfilled when the RDP window for the device is closed.
Type
Promise.<void>

description() → {*}

Returns the description for this test object. The test object must be obtained using the $ method, otherwise, this method returns null.
Returns:
the description for this test object.
Type
*

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

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:
a promise that is fulfilled with a boolean indicating whether the object exists.
Type
Promise.<boolean>

fleetType() → {Promise.<string>}

Returns the fleetType of the device as defined in OpenText Functional Testing Lab.
Returns:
a promise that is fulfilled with the fleetType of the device as defined in OpenText Functional Testing Lab.
Type
Promise.<string>

getLogs() → {Promise.<string>}

Returns the device logs collected since the device was locked.
Returns:
a promise that is fulfilled with the device logs collected since the device was locked.
Type
Promise.<string>

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>

getVitals() → {Promise.<string>}

Returns an accumulation of the device vitals from the time the device was locked, in one second intervals.
Returns:
a promise that is fulfilled with the device vitals collected since the device was locked.
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 boolean <optional>
false Set this parameter to true to avoid limiting the highlighted objects to a specific test object type.
Returns:
a promise that is fulfilled with the number of matches that are found and highlighted.
Type
Promise.<number>

home() → {Promise.<void>}

Presses the device's Home button (Android only).
Returns:
a promise that is fulfilled when the Home button is pressed.
Type
Promise.<void>

id() → {Promise.<string>}

Returns the ID of the device in the OpenText Functional Testing Lab.
Returns:
a promise that is fulfilled with the ID of the device in the OpenText Functional Testing Lab.
Type
Promise.<string>

isViewerOpen() → {Promise.<boolean>}

Checks if the RDP window for the device is open.
Returns:
a promise that is fulfilled with an indication of whether an RDP window for the device is open.
Type
Promise.<boolean>

location() → {Promise.<string>}

Returns the location of the device as defined in OpenText Functional Testing Lab.
Returns:
a promise that is fulfilled with the location of the device as defined in OpenText Functional Testing Lab.
Type
Promise.<string>

manufacturer() → {Promise.<string>}

Returns the manufacturer of the device.
Returns:
a promise that is fulfilled with the manufacturer of the device.
Type
Promise.<string>
Presses the device's Menu button (Android only).
Returns:
a promise that is fulfilled when the Menu button is pressed.
Type
Promise.<void>

model() → {Promise.<string>}

Returns the model name of the device.
Returns:
a promise that is fulfilled with the model name of the device.
Type
Promise.<string>

name() → {Promise.<string>}

Returns the name of the device as defined in OpenText Functional Testing Lab.
Returns:
a promise that is fulfilled with the name of the device as defined in OpenText Functional Testing Lab.
Type
Promise.<string>

networkVirtualizationEnd() → {Promise.<void>}

Stops the Network Virtualization service.
Returns:
a promise that is fulfilled when the Network Virtualization service is stopped.
Type
Promise.<void>

networkVirtualizationStart(profile) → {Promise.<void>}

Starts the Network Virtualization service using the specified network profile.
Parameters:
Name Type Description
profile string The name of the profile containing the conditions that you want to apply to the virtualized network. The profile must be set up in Network Virtualization.
Returns:
a promise that is fulfilled when the Network Virtualization service is started.
Type
Promise.<void>

openViewer() → {Promise.<void>}

Opens an RDP window for the device.
Note: If a window for the device is open already, another window will not be opened.
Returns:
a promise that is fulfilled when an RDP window for the device is opened.
Type
Promise.<void>

osType() → {Promise.<string>}

Returns the operating system currently running on the device.
Returns:
a promise that is fulfilled with the operating system currently running on the device.
Type
Promise.<string>

osVersion() → {Promise.<string>}

Returns the version of the operating system currently running on the device.
Returns:
a promise that is fulfilled with the version of the operating system currently running on the device.
Type
Promise.<string>

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

Performs a pan gesture on the device.
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.
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. The child object must be obtained using the $ method, otherwise, this method returns null.
Returns:
the parent test object of this test object.
Type
*

recentApps() → {Promise.<void>}

Opens the list of recent applications (Android only).
Returns:
a promise that is fulfilled when the list of recent applications is opened.
Type
Promise.<void>

sendCustomKey(keyId, durationopt) → {Promise.<void>}

Simulate pressing a custom device key.
Parameters:
Name Type Attributes Description
keyId string The ID of the key as defined by the device manufacturer.
duration number <optional>
The time (in milliseconds) to keep the key pressed. The default is 0 (zero).
Returns:
a promise that is fulfilled when the sendCustomKey operation is performed.
Type
Promise.<void>

sendKey(key, durationopt) → {Promise.<void>}

Simulates pressing a special key in the device keyboard, with the option to define the time to keep the key pressed.
Parameters:
Name Type Attributes Description
key Mobile.Device.Keys The key to be pressed.
duration number <optional>
The time (in milliseconds) to keep the key pressed. The default is 0 (zero).
Returns:
a promise that is fulfilled when the sendKey operation is performed.
Type
Promise.<void>

sendString(text, intervalopt) → {Promise.<void>}

Simulates entering text (a string) using the device keyboard, with the option to send each of the string characters in intervals of n milliseconds.
Parameters:
Name Type Attributes Description
text string The text to send to the device.
interval number <optional>
The time (in milliseconds) to wait before injecting each subsequent character. The value must be between 200 and 3000, or 0 (default), otherwise an exception is thrown.
Returns:
a promise that is fulfilled when the sendString operation is performed.
Type
Promise.<void>

setOrientation(orientation) → {Promise.<void>}

Sets the device orientation.
Parameters:
Name Type Description
orientation Mobile.Device.DeviceOrientation The orientation to set. You can use the DeviceOrientation object or just pass 'portrait' or 'landscape' as a string.
Returns:
a promise that is fulfilled when the device orientation is set.
Type
Promise.<void>

shake() → {Promise.<void>}

Performs a Shake gesture on the device (iOS only).
Returns:
a promise that is fulfilled when the Shake gesture is performed.
Type
Promise.<void>

simulateGPS(latitude, longitude) → {Promise.<void>}

Simulates a change in the device's GPS location (Android only).
Parameters:
Name Type Description
latitude number The latitude coordinate of the location.
longitude number The longitude coordinate of the location.
Returns:
a promise that is fulfilled when the GPS location is changed.
Type
Promise.<void>

simulateIncomingCall(from, eventResponseArgsopt) → {Promise.<void>}

Simulates an incoming call.
Parameters:
Name Type Attributes Description
from string The caller ID of the incoming call.
eventResponseArgs object <optional>
The simulated user response to the incoming call that interrupts the flow of the application.
Properties
Name Type Attributes Default Description
timeInBackground number <optional>
10 The time (in seconds) that the application remains in the background while the event is being handled.
respondToEvent boolean <optional>
false Indicates whether there is a response to the simulated event. Default: false.
Returns:
a promise that is fulfilled when the call is simulated.
Type
Promise.<void>

simulateIncomingSMS(from, text, eventResponseArgsopt) → {Promise.<void>}

Simulates an incoming SMS.
Parameters:
Name Type Attributes Description
from string The caller ID of the incoming SMS message.
text string The text of the incoming SMS message.
eventResponseArgs object <optional>
The simulated user response to the incoming SMS that interrupts the flow of the application.
Properties
Name Type Attributes Default Description
timeInBackground number <optional>
10 The time (in seconds) that the application remains in the background while the event is being handled.
respondToEvent boolean <optional>
false Indicates whether there is a response to the simulated event. Default: false.
Returns:
a promise that is fulfilled when the incoming SMS is simulated.
Type
Promise.<void>

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>

source() → {Promise.<Mobile.DeviceSource>}

Returns the source of the device.
Returns:
a promise that is fulfilled with the source of the device.
Type
Promise.<Mobile.DeviceSource>

swipe(direction, startLocationopt) → {Promise.<void>}

Swipes the device in the specified direction starting from the specified location.
Parameters:
Name Type Attributes Description
direction SwipeDirection The direction of the swipe (the SwipeDirection object can be used).
startLocation Location <optional>
The coordinates from which to start the swipe. Default value: the leading edge of the element or device.
Returns:
a promise that is fulfilled when the swipe operation is performed.
Type
Promise.<void>

touch(x, y) → {Promise.<void>}

Touches the device at the specified coordinates (Android only).
Parameters:
Name Type Description
x number The x coordinate to touch.
y number The y coordinate to touch.
Returns:
a promise that is fulfilled when the touch operation is performed.
Type
Promise.<void>

unlock() → {Promise.<void>}

Unlocks the device in OpenText Functional Testing Lab if the device is not locked by another device object. This method also closes the RDP window.
Returns:
a promise that is fulfilled when the device is unlocked.
Type
Promise.<void>

uploadMedia(mediaInfo, mediaId, optionsopt) → {Promise.<void>}

Upload the media object data to the device for camera or video simulation, with the option to save the file. The files are deleted when the device is released.
Parameters:
Name Type Attributes Description
mediaInfo Object The MediaInfo of the media file to upload.
Properties
Name Type Description
Base64Data string A base64 string representation of the media file (image or video).
MimeType string The mime type of the media file. Possible values:
For BMP media type: "image/bmp"
For GIF media type: "image/gif"
For JPG media type: "image/jpeg"
For PNG media type: "image/png"
For TIF (iOS only) media type: "image/tiff"
For MP4 media type: "video/mp4"
For 3GP (Android only) media type: "video/3gpp"
For MKV (Android only) media type: "video/x-matroska"
For MOV (iOS only) media type: "video/quicktime"
For M4V (iOS only) media type: "video/mp4"
mediaId string The unique ID of the uploaded media. The ID is used to start the simulation using Application.startCameraSimulationMode.
options Object <optional>
Upload options.
Properties
Name Type Attributes Description
saveToPicturesFolder boolean <optional>
Boolean Indicates whether the uploaded media file is saved to the Pictures folder or not.
Returns:
a promise that is fulfilled when the uploadMedia operation is performed.
Type
Promise.<void>

uploadMediaUrl(mediaUrl, mediaId, optionsopt) → {Promise.<void>}

Upload a media file to the device for camera or video simulation, with the option to save the file. The files are deleted when the device is released.
Parameters:
Name Type Attributes Description
mediaUrl string The URL, including the extension, of the media file (image or video). Supported formats: JPG, GIF, PNG, BMP, TIF (iOS only), MP4, 3GP (Android only), MKV (Android only), MOV (iOS only), M4V (iOS only).
mediaId string The unique ID of the uploaded media. The ID is used to start the simulation using Application.startCameraSimulationModeWiredName.
options Object <optional>
Upload options.
Properties
Name Type Attributes Description
saveToPicturesFolder boolean <optional>
Boolean indicating whether the uploaded media file is saved to the Pictures folder or not.
Returns:
a promise that is fulfilled when the uploadMediaUrl operation is performed.
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, 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.
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 promise that is fulfilled with a boolean representing the comparison result.
Type
Promise.<boolean>

verifyImageMatchWithMask(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 promise that is fulfilled with a boolean representing the comparison result.
Type
Promise.<boolean>

waitUntilExists(timeoutopt) → {Promise.<boolean>}

Waits until this test object exists or until the specified timeout elapses. This method is useful for synchronizing your test with your application.
Parameters:
Name Type Attributes Description
timeout number <optional>
The time (in seconds) to wait for this object to exist.
By default, uses the object synchronization timeout defined in the runtime engine settings.
Returns:
a promise that is fulfilled with a boolean indicating whether the object exists.
Type
Promise.<boolean>