Unified Functional Testing (UFT) is an advanced and powerful tool to do functional as well as regression test automation for a software application. UFT provides out of box support for web services API testing and no longer requires web services add-in. This feature is available in UFT 11.50 onwards. You can test web services in UFT by using UFT API testing features.
Language supported by UFT
Primarily UFT uses VB Script as a scripting language. However, UFT also supports javascript, and Windows shell script.
Technologies support by UFT
UFT supports different flavors following technologies
- Delphi
- Flex
- Java
- Mobile
- .NET
- Oracle
- PeopleSoft
- PowerBuilder
- Qt
- SAP Solutions
- Siebel
- Standard Windows Testing Support
- Stingray
- Terminal Emulator
- VisualAge Smalltalk
- Visual Basic
- Web
- Windows
Operating systems supported by UFT
The following versions of Windows OS are supported by UFT
- Server 2008 R2 SP1
- Windows 7 SP1 (32-bit)
- Windows 7 SP1 (64-bit)
- Windows 8.1
- Server 2012
- Server 2012 R2
- Windows 10 (Version 1511, 1607)
- Windows 10 (64-bit) (Version 1703)
- Windows 10 (64 –bit)(Version 1709)
- Windows Server 2016
Browser Supported by UFT
- Internet Explorer version 10 to 11.00 EPM *
- Edge version 13.10586 – 14.14393 and 15.15063
- Firefox version 38 and earlier.38 to 56. 57, 58 Beta
- Chrome version 18.00 to 64 Beta
- Safari on Mac version 9.x to 10.x
How UFT Identifies Objects
Every software application consists of different objects like buttons, Text Boxes, Radio buttons, and drop-downs, etc. For UFT every object is a test object and each object has certain properties (e.g. ID, Name, Index, etc.).
During the recording of a script, UFT learns the properties of the objects on which an operation is performed and stores the test objects in a file called Object Repository.
At the time of execution, UFT compares the stored object properties with actual object properties. If the stored object properties match with the runtime object properties, UFT uniquely identifies the object and perform the required operation else it throws runtime error “Cannot identify Object not found”
Let’s consider the following example:
Below is a sample screenshot of the HP Mercury demo tour application.
The following is the HTML Source Code for the SIGN-ON hyperlink.
1 2 3 |
<a href="mercurysignon.php">SIGN-ON</a> |
The following are a few key properties of the SIGN-ON hyperlink.
- HTML Tag for the hyperlink is “A“
- HTML Text is “SIGN-ON“
If you open the object repository, you will see the above two properties in the Test Object Details section.
Now let’s see what happens after modifying the SIGN-ON text to SIGN-IN
At runtime, there happens a mismatch in the text property of the SIGN-ON test object and the script shows the error “Cannot identify the object <<Test Object Name>>“. In this case, the test object is the SIGN-ON hyperlink.
Mandatory and Assistive properties
As per the above screenshot, “html tag” and “text” of the link are the mandatory properties. During execution, if UFT is not able to uniquely identify the object it will start adding one assistive property with one mandatory property one by one until UFT is able to identify the required object.
Ordinal identifiers
Types of ordinal Identifier
- Index
- Location
- Creation Time (applicable only for web browser and no other objects)
WebEdit(“Name:=UserId”, “Index:=2”)
Now it seems that both Index and location are the same. So, what the difference between them.
The Index is the order, a developer has coded the controls inside the application. However, Location is the order in which it appears on the screen.
Creation time is assigned to the browsers in the sequence they are opened. If you have opened three different browsers, the creation time of the first browser would be 0, and so on.
Smart Identification
If UFT is unable to find any object that matches the learned object description, or if it finds more than one object that fits the description, then UFT ignores the learned description and uses the Smart Identification mechanism (if defined and enabled) to try to identify the object.
These are the most fundamental properties of a particular test object class; those whose values cannot be changed without changing the essence of the original object. For example, if a Web link’s tag was changed from “Html tag:=A” to any other value, you could no longer call it the same object.
Optional Filter Properties
Visual Relation Identifiers (VRI)
Recommended Posts
- DataTable in UFT One | Example of Datatable Methods
- How to Use Virtual object in UFT to Identify Non-Standard Class Objects
- Actions in UFT One with Examples
- How to Use Environment Variables in UFT
- How to Use Insight Object in UFT
- How to Use WaitProperty | Dynamic Wait in UFT
- Delete Browser Cookie, Cache, and History in UFT
- VBScript Loops: Do Loop, For Loop, For Each, and While Loop