AIObject Object
Description
An internal object used to perform operations on an object identified using AI.
IMPORTANT
AI-based testing is supported on the following technologies:
Web, mobile, and SAP GUI for Windows.
AI objects are supported in UFT One only when:
- The UFT One Web Add-in, Mobile Add-in, or SAP Solutions Add-in is installed and loaded.
- The UFT One AI Features are installed and AI is enabled in the UFT One options. For details, see the UFT One Help Center.
To retrieve an AIObject object, use the AIUtil.AIObject default property.
Operations
The sections below list the built-in methods and properties that you can use as operations for the AIObject object.
Note: You can also view a list and descriptions of the AIObject properties that you can retrieve using the GetObjectProperty and GetAllProperties methods. You can then use the properties to check the object's location or content.
Methods
CaptureBitmap | Saves a screen capture of the AIObject as a .png or .bmp image using the specified file name. |
CheckExists | A checkpoint that checks whether the object currently exists in the set context. |
CheckState | A checkpoint that checks the state of the object. |
Click | Clicks the AI object. |
DoubleClick | Double-clicks the AI object. |
GetAllProperties | Retrieves all of the AIObject's properties and their values from the application. |
GetObjectProperty | Retrieves the value of the specified object property from the application. |
GetValue | Retrieves the object's value. |
Highlight | Highlights the object in the application. |
Hover | Holds the cursor over the object. |
LongClick | Presses and holds the AI object for a specified number of seconds. |
MultiClick | Clicks the AI object the specified number of times. |
RightClick | Right-clicks the AI object. |
Search | Performs a search operation using an AIObject of type “Search”. |
Select | Selects an item from a combo box. |
SetState | Sets the state of a check box or toggle button to On or Off. |
SetText | Sets the value of the object. Relevant for text boxes, input controls, and combo boxes. |
SetTextSecure | Sets the encoded value of the object. Relevant for text boxes, input controls, and combo boxes. |
Type | Types the specified string in the object. |
TypeSecure | Types the specified encoded string in the object. |
Properties
Exist | Checks whether the object currently exists in the set context. |
CaptureBitmap Method
Description
Saves a screen capture of the object as a .png or .bmp image using the specified file name.
Syntax
AIUtil.AIObject(ControlType, [text], [locator], [locatorData]).CaptureBitmap FullFileName, [OverrideExisting]
Or
AIUtil(ControlType, [text], [locator], [locatorData]).CaptureBitmap FullFileName, [OverrideExisting]
Note: You can omit the AIObject property in the syntax, because AIObject is the default property for the AIUtil object.
Arguments
Parameter | Description |
---|---|
FullFileName | Required. A String value. The path to the file to store the screen capture. The file extension indicates whether to save the capture as a .png or .bmp file. |
OverrideExisting | Optional. A Boolean value. Indicates what to do if a file by the specified name already exists: True: Replace the existing file with the new capture. False (Default): The step fails if a file by the specified name already exists. |
Return Type
None
Example
'The following example uses the CaptureBitmap method to capture an image, after which the image is
'uploaded to the database.set ObjBrowser=Browser("creationtime:=0")
ObjBrowser.Highlight
ObjBrowser.navigate "https://www.advantageonlineshopping.com/#/"
AIUtil.SetContext ObjBrowser
AIUtil("profile").CaptureBitmap "c:\user.bmp"
UploadImageToDataBase "c:\user.bmp"
CheckExists Method
Description
A checkpoint that checks whether the object currently exists in the set context.
Syntax
AIUtil.AIObject(ControlType, [text], [locator], [locatorData]).CheckExists expected
Or
AIUtil(ControlType, [text], [locator], [locatorData]).CheckExists expected
Note: You can omit the AIObject property in the syntax, because AIObject is the default property for the AIUtil object.
Arguments
Parameter | Description |
---|---|
expected | A Boolean value. Specifies whether this checkpoint expects the object to exist. Possible values: true. The checkpoint passes if the object is found within the set context before the timeout expires. false. The checkpoint passes if the object is not found by the time the timeout expires. |
Remarks
This method uses the timeout defined in the Object Synchronization Timeout option in the Run pane of the Test Settings dialog box.
UFT One directly performs this method without verifying object identification even if you enable it in Options > GUI Testing > AI or use the AIUtil.RunSettings.VerifyIdentification.Enable step.
Return Type
A Boolean value.
Returns TRUE if the checkpoint passes, otherwise FALSE.
A TRUE return value reports a Passed step to the run results; a FALSE return value reports a Failed step to the run results.
Example
set ObjBrowser=Browser("creationtime:=0")
ObjBrowser.Highlight
ObjBrowser.navigate "https://www.advantageonlineshopping.com/#/"
AIUtil.SetContext ObjBrowser
AIUtil("profile").Click
'Check if clicking on profile worked
AIUtil("button", "SIGN IN").CheckExists true
AIUtil("input", "Username").Type "cdlsqa1"
AIUtil("input", "Password").TypeSecure "5e8febb7e9a9125c7611c19937e73b9696c9"
AIUtil("button", "SIGN IN").Click
wait 3'Check if clicking on SIGN IN button worked
AIUtil("button", "SIGN IN WITH FACEBOOK").CheckExists false
CheckState Method
Description
A checkpoint that checks the state of the object.
Syntax
AIUtil.AIObject(ControlType, [text], [locator], [locatorData]).CheckState expectedState
Or
AIUtil(ControlType, [text], [locator], [locatorData]).CheckState expectedState
Note: You can omit the AIObject property in the syntax, because AIObject is the default property for the AIUtil object.
Arguments
Parameter | Description |
---|---|
expectedState | A String value. Specifies the expected state of an object such as check box, radio button, or toggle. Possible values: On. The checkpoint passes if the object's state is ON. Off. The checkpoint passes if the object's state is OFF. Note: The state check is case insensitive. |
Return Type
A Boolean value.
Returns TRUE if the checkpoint passes, otherwise FALSE.
A TRUE return value reports a Passed step to the run results; a FALSE return value reports a Failed step to the run results.
Example
'The following example checks whether the Color check box is selected AIUtil.SetContext Device("device") 'Set the context for AI AIUtil("Checkbox", "Color").CheckState On
Click Method
Description
Clicks the AI object.
Syntax
AIUtil.AIObject(ControlType, [text], [locator], [locatorData]).Click [x], [y]
or
AIUtil(ControlType, [text], [locator], [locatorData]).Click [x], [y]
Note: You can omit the AIObject property in the syntax, because AIObject is the default property for the AIUtil object.
Arguments
Parameter | Description |
---|---|
x |
Optional. An integer value. The x-coordinate of the click. Note that the specified coordinates are relative to the upper left corner of the object. The default value is the middle of the object (-9999). |
y |
Optional. An integer value. The y-coordinate of the click. Note that the specified coordinates are relative to the upper left corner of the object. The default value is the middle of the object (-9999). |
Return Type
None
Example
'The following example clicks a point on the login button. AIUtil.SetContext Device("device") 'Set the context for AI AIUtil("button", "Log In").Click 10, 10
DoubleClick Method
Description
Double-clicks the AI object.
Syntax
AIUtil.AIObject(ControlType, [text], [locator], [locatorData]).DoubleClick [x], [y]
or
AIUtil(ControlType, [text], [locator], [locatorData]).DoubleClick [x], [y]
Note: You can omit the AIObject property in the syntax, because AIObject is the default property for the AIUtil object.
Arguments
Parameter | Description |
---|---|
x |
Optional. An integer value. The x-coordinate of the double-click. Note that the specified coordinates are relative to the upper left corner of the object. The default value is the middle of the object (-9999). |
y |
Optional. An integer value. The y-coordinate of the double-click. Note that the specified coordinates are relative to the upper left corner of the object. The default value is the middle of the object (-9999). |
Return Type
None
IMPORTANT
The DoubleClick method is not supported on mobile applications.
Example
'The following example double-clicks a point on the open button. AIUtil.SetContext Device("device") 'Set the context for AI AIUtil("button", "Log In").DoubleClick 10, 10
GetAllProperties Method
Description
Retrieves all of the AIObject's properties and their values from the application.
Syntax
AIUtil.AIObject(ControlType, [text], [locator], [locatorData]).GetAllProperties
Or
AIUtil(ControlType, [text], [locator], [locatorData]).GetAllProperties
Note: You can omit the AIObject property in the syntax, because AIObject is the default property for the AIUtil object.
Return Type
A Dictionary object
Example
'The following example retrieves the properties of a button AIObject and prints them.
AIUtil.SetContext Browser("creationtime:=0") 'Set the context for AI
Set properties = AIUtil("button", "login").GetAllProperties
For i = 0 To properties.count - 1
print properties.keys()(i) & ":" & properties(properties.keys()(i))
Next
'Print just one of the retrieved properties.
print "height:'" & properties("height") & "'"
GetObjectProperty Method
Description
Retrieves the value of the specified object property from the object in the application.
Syntax
AIUtil.AIObject(ControlType, [text], [locator], [locatorData]).GetObjectProperty (property)
Or
AIUtil(ControlType, [text], [locator], [locatorData]).GetObjectProperty (property)
Note: You can omit the AIObject property in the syntax, because AIObject is the default property for the AIUtil object.
Arguments
Parameter | Description |
---|---|
property | Required. A String. The name of the property whose value to return. |
Return Type
A Variant.
Example
'The following example retrieves the height property of an AI button and prints it.
AIUtil.SetContext Browser("creationtime:=0") 'Set the context for AI
print "height:'" & AIUtil("button", "login").GetObjectProperty ("height") & "'"
GetValue Method
Description
Returns the object's value.
Syntax
AIUtil.AIObject(ControlType, [text], [locator], [locatorData]).GetValue
Or
AIUtil(ControlType, [text], [locator], [locatorData]).GetValue
Return Type
A string. A Boolean value.
Example
'The following example retrieves the value of a button. AIUtil.SetContext Browser("creationtime:=0") 'Set the context for AI AIUtil.FindTextBlock("TABLETS").Click Print AIUtil("button", "BUY NOW").GetValue
Highlight Method
Description
Highlights the object in the application.
Syntax
AIUtil.AIObject(ControlType, [text], [locator], [locatorData]).Highlight
or
AIUtil(ControlType, [text], [locator], [locatorData]).Highlight
Note: You can omit the AIObject property in the syntax, because AIObject is the default property for the AIUtil object.
Return Type
None
Example
'The following example draws a rectangle that flashes for a second around the identified check box AIUtil.SetContext Device("device") 'Set the context for AI AIUtil("checkbox", "Select me").Highlight
Hover Method
Description
Holds the cursor over the object.
Syntax
AIUtil.AIObject(ControlType, [text], [locator], [locatorData]).Hover [duration]
or
AIUtil(ControlType, [text], [locator], [locatorData]).Hover [duration]
Note: You can omit the AIObject property in the syntax, because AIObject is the default property for the AIUtil object.
Arguments
Parameter | Description |
---|---|
duration |
Optional. An Integer value. The whole number of seconds to hold the cursor over the object. Default: 2 seconds. |
Return Type
None
IMPORTANT
This method is supported only on Web applications running in a Web browser on a Desktop computer and not on mobile devices.
Before a Hover step, use the AIUtil.IsMobileContext to make sure the current AI context is a desktop web browser.
Designing your test this way makes it easier to use the same test for your web application on various platforms.
Example
'The following example checks that the browser is not on a ' mobile device before performing a Hover step AIUtil.SetContext Browser("browser") 'Set the context for AI IsMobile = AIUtil.IsMobileContext If IsMobile = False Then AIUtil("menu").Hover AIUtil.FindText ("Clothing").Click 'Click the menu item displayed when hovering End If
LongClick Method
Description
Presses and holds the AI object for a specified number of seconds.
Syntax
AIUtil.AIObject(ControlType, [text], [locator], [locatorData]).LongClick [duration], [x], [y]
or
AIUtil(ControlType, [text], [locator], [locatorData]).LongClick [duration], [x], [y]
Note: You can omit the AIObject property in the syntax, because AIObject is the default property for the AIUtil object.
Arguments
Parameter | Description |
---|---|
duration | Optional. A double floating value. The number of seconds to press the object. Default: 2 seconds |
x |
Optional. An integer value. The x-coordinate of the long click. Note that the specified coordinates are relative to the upper left corner of the object. The default value is the middle of the object (-9999). |
y |
Optional. An integer value. The y-coordinate of the long click. Note that the specified coordinates are relative to the upper left corner of the object. The default value is the middle of the object (-9999). |
Return Type
None
Example
'The following example long-clicks the shopping cart for 1.5 seconds. AIUtil.SetContext Browser("MyBrowser") 'Set the context for AI AIUtil("cart").LongClick 1.5
MultiClick Method
Description
Clicks the AI object the specified number of times.
Syntax
AIUtil.AIObject(ControlType, [text], [locator], [locatorData]).MultiClick [numberOfClicks ], [interval], [x], [y]
or
AIUtil(ControlType, [text], [locator], [locatorData]).MultiClick [numberOfClicks ], [interval], [x], [y]
Note: You can omit the AIObject property in the syntax, because AIObject is the default property for the AIUtil object.
Arguments
Parameter | Description |
---|---|
numberOfClicks | Required. An integer value. The number of times to click. |
interval | Optional. A double floating value. The number of seconds between clicks. The default value is 0.5 seconds. |
x |
Optional. An integer value. The x-coordinate of the clicks. Note that the specified coordinates are relative to the upper left corner of the object. The default value is the middle of the object (-9999). |
y |
Optional. An integer value. The y-coordinate of the clicks. Note that the specified coordinates are relative to the upper left corner of the object. The default value is the middle of the object (-9999). |
Return Type
None
Example
'The following example clicks the magic button 3 times, with half a second between each click AIUtil.SetContext Device("device") 'Set the context for AI AIUtil("button", "magic").MultiClick 3
RightClick Method
Description
Right-clicks the AI object.
Syntax
AIUtil.AIObject(ControlType, [text], [locator], [locatorData]).RightClick [x], [y]
or
AIUtil(ControlType, [text], [locator], [locatorData]).RightClick [x], [y]
Note: You can omit the AIObject property in the syntax, because AIObject is the default property for the AIUtil object.
Arguments
Parameter | Description |
---|---|
x |
Optional. An integer value. The x-coordinate of the long click. Note that the specified coordinates are relative to the upper left corner of the object. The default value is the middle of the object (-9999). |
y |
Optional. An integer value. The y-coordinate of the long click. Note that the specified coordinates are relative to the upper left corner of the object. The default value is the middle of the object (-9999). |
Return Type
None
IMPORTANT
The RightClick method is not supported on mobile applications.
Example
'The following example right-clicks the library button. AIUtil.SetContext Browser("MyBrowser") 'Set the context for AI AIUtil("button", "library").RightClick
Search Method
Description
Performs a search operation using an AIObject of type “Search”.
Syntax
AIUtil.AIObject("Search").Search [text]
or
AIUtil("Search").Search [text]
Note: You can omit the AIObject property in the syntax, because AIObject is the default property for the AIUtil object.
Arguments
Parameter | Description |
---|---|
text |
Required. A String value. The string to enter in the search box. |
Return Type
None
IMPORTANT
The Search method is supported only for AIObjects of type "Search". The method enters the specified string in the search box and presses Enter.
Example
'The following example finds a search box on the mobile device 'and searches for the word "MyNewApp". AIUtil.SetContext Device("device") 'Set the context for AI AIUtil("Search").Search "MyNewApp"
Select Method
Description
Selects an item from a combo box.
Syntax
AIUtil.AIObject(ControlType, [text], [locator], [locatorData]).Select Item
or
AIUtil(ControlType, [text], [locator], [locatorData]).Select Item
Note: You can omit the AIObject property in the syntax, because AIObject is the default property for the AIUtil object.
Arguments
Parameter | Description |
---|---|
Item |
Required. A String value. |
Return Type
None.
IMPORTANT
Mobile testing: | The Select action is supported on a combo box identified by AI only if UFT One can also identify the combo box as a MobileDropDown. |
Non-mobile testing: | UFT One first tries to identify the combo box as a WebList, as the select operation is most efficient when using the object's native commands. Otherwise, UFT One uses the AI capabilities to support the Select operation. In this case, the operation is affected by the AIRunSettings.ComboBoxSelect settings. These runtime settings tell UFT One how far and in which direction to scroll the combo box's list in search of the specified value. The AI-based Select operation is supported on combo boxes with a single-column drop-down list that opens by clicking the box. |
Example
'The following example selects an item in a combo box. AIUtil.SetContext Device("device") 'Set the context for AI AIUtil("combo box", "Color").Select "Blue"
SetState Method
Description
Sets the state of a check box or toggle button to On or Off.
Syntax
AIUtil.AIObject(ControlType, [text], [locator], [locatorData]).SetState State
or
AIUtil(ControlType, [text], [locator], [locatorData]).SetState State
Note: You can omit the AIObject property in the syntax, because AIObject is the default property for the AIUtil object.
Arguments
Parameter | Description |
---|---|
State |
Required. A String value. Possible values: On, Off (case-insensitive) |
Return Type
None.
IMPORTANT
This method is supported for ControlType Toggle, Check box, and Radio button.
A radio button object represents one button in a radio group. Therefore, SetState on a radio button can only set the button to On. To set a radio button to Off, you must use SetState to set a different radio button in the group to On.
Example
'The following example selects a check box, by setting its State to On. AIUtil.SetContext Device("device") 'Set the context for AI AIUtil("checkbox", "Select me").SetState "On"
SetText Method
Description
Sets the value of the object.
Syntax
AIUtil.AIObject(ControlType, [text], [locator], [locatorData]).SetText [text]
or
AIUtil(ControlType, [text], [locator], [locatorData]).SetText [text]
Note: You can omit the AIObject property in the syntax, because AIObject is the default property for the AIUtil object.
Arguments
Parameter | Description |
---|---|
text |
Required. A String value. The string to set in the object. |
Return Type
None
IMPORTANT
This method is relevant for AIObjects that represent text boxes, input controls, and combo boxes.
This method is not supported for mobile applications.
Example
'The following example enters a user name in the edit box. AIUtil.SetContext Browser("MyBrowser") 'Set the context for AI AIUtil("input", "USER NAME").SetText "AIUser"
SetTextSecure Method
Description
Sets the encoded value of the object.
Syntax
AIUtil.AIObject(ControlType, [text], [locator], [locatorData]).SetTextSecure [encodedText]
or
AIUtil(ControlType, [text], [locator], [locatorData]).SetTextSecure [encodedText]
Note: You can omit the AIObject property in the syntax, because AIObject is the default property for the AIUtil object.
Arguments
Parameter | Description |
---|---|
encodedText |
Required. A String value. The encoded string to set in the object. |
Return Type
None
IMPORTANT
This method is relevant for AIObjects that represent text boxes, input controls, and combo boxes.
This method is not supported for mobile applications.
To find the encoded value to use as the argument for the SetTextSecure method, do one of the following:
Use the Password Encoder utility (available from the Windows Start menu).
Parameterize the argument and use the Data Table encryption option (right-click each unencrypted value in the password column and choose Data > Encrypt).
For more information, see the UFT One Help Center.
Note: While the SetTextSecure method enables you to hide passwords on the screen when running a test, it is not intended to be a secure way to protect password information.
Example
'The following example enters an encoded password in the edit box. AIUtil.SetContext Browser("MyBrowser") 'Set the context for AI AIUtil("input", "PASSWORD").SetTextSecure "5cfe0d56013bbd8b5742b597cadc92352a6c"
Type Method
Description
Types the specified string in the object.
Syntax
AIUtil.AIObject(ControlType, [text], [locator], [locatorData]).Type [text]
or
AIUtil(ControlType, [text], [locator], [locatorData]).Type [text]
Note: You can omit the AIObject property in the syntax, because AIObject is the default property for the AIUtil object.
Arguments
Parameter | Description |
---|---|
text |
Required. A String value. The string to type. |
Return Type
None
Example
'The following example types a user name in the edit box. AIUtil.SetContext Device("device") 'Set the context for AI AIUtil("input", "USER NAME").Type "AIUser"
TypeSecure Method
Description
Types the specified encoded string in the object.
Syntax
AIUtil.AIObject(ControlType, [text], [locator], [locatorData]).TypeSecure [text]
or
AIUtil(ControlType, [text], [locator], [locatorData]).TypeSecure [text]
Note: You can omit the AIObject property in the syntax, because AIObject is the default property for the AIUtil object.
Arguments
Parameter | Description |
---|---|
text |
Required. A String value. The encoded string to type. |
Return Type
None
IMPORTANT
To find the encoded value to use as the argument for the TypeSecure method, do one of the following:
Use the Password Encoder utility (available from the Windows Start menu).
Parameterize the argument and use the Data Table encryption option (right-click each unencrypted value in the password column and choose Data > Encrypt).
For more information, see the UFT One Help Center.
While the TypeSecure method enables you to hide passwords on the screen when running a test, it is not intended to be a secure way to protect password information.
Example
'The following example types an encoded password in the edit box. AIUtil.SetContext Device("device") 'Set the context for AI AIUtil("input", "PASSWORD").TypeSecure "5cfe0d56013bbd8b5742b597cadc92352a6c"
Exist Property
Description
Checks whether the object currently exists in the set context.
Syntax
AIUtil.AIObject(ControlType, [text], [locator], [locatorData]).Exist([TimeOut])
or
AIUtil(ControlType, [text], [locator], [locatorData]).Exist([TimeOut])
Note: You can omit the AIObject property in the syntax, because AIObject is the default property for the AIUtil object.
Arguments
Parameter | Description |
---|---|
TimeOut | Optional. An unsigned long integer value. The length of time (in seconds) to search for the object before returning a True or False value.
Note: A value of 0 is not supported for Mobile test objects. For more information on the Object Synchronization Timeout, see the UFT One Help Center. |
Return Type
A Boolean value indicating whether the object exists.
Remarks
The Exist property can only be used in statements that use its return value. For example, assignment, print, and if statements.
UFT One directly performs this method without verifying object identification even if you enable it in Options > GUI Testing > AI or use the AIUtil.RunSettings.VerifyIdentification.Enable step.
Example
'This example checks whether a hamburger menu is displayed on the mobile device 'Set mobile device as current context. AIUtil.SetContext Device("Device") Dim objExist 'Check if the target object exists objExist = AIUtil("hamburger_menu").Exist if(objExist) then 'If exist report pass. reporter.ReportEvent micPass, "Found Obj", "Object exists" Else 'If not exist report failed. reporter.ReportEvent micFail, "Found Obj", "Object not exists" EndIf
See also: