Storing Database Checkpoints in HP Unified Functional Testing 12.x

HP Unified Functional Testing (UFT) is an automated testing tool to automate actions against GUI’s or API’s.

In order to connect to a database you either have to request a checkpoint or output value for database type in the Design menu as shown below:

 

UFT - Database Checkpoint

 

 

However, what if we want to save the value in a temporary variable to insertion into a text-element on a GUI or submit to an API function?

We can use Visual Basic (psuedo at least)!

We start with declaring our variable in Editor view of our Action by toggling this button:

Editor view toggle switch

 

 

Then using VB we can declare the variable and call a function to set it’s value:

Dim VariableX
VariableX = GetDBValue(inputX)

 

Where GetDBValue() will be the function shown below to initiate a connection and execute our string sql statement. The variable declaration above must be placed before the function below, and before you run something like:

Browser(“Internet Explorer”).Page(“Create account_6”).WebEdit(“input3”).Set VariableX

 

The following image is what the function looks like whilst completed in UFT (with XXX to be replaced with your details):

UFT-functionCall

 

If you want to copy & paste without the formatting, here is the code snippet of the image above.

Function GetDBValue(inputX)
Set connX=CreateObject("ADODB.Connection")
Set recSetX = CreateObject("ADODB.Recordset")
 
'Insert MachineDataSource(e.g DB2 ODBC),Username,Password,Alias
connX.open ="DSN=xxx;UID=xxx;PWD=xxx;DBALIAS=xxx;"
 
'Construct our query, reminder to use '' for added security
sqlStatementString = "select xxx from XXX.xxx where xxx = '" + inputX + "'"
 
recSetX.open sqlStatementString, connX 'Execute query!
Value = recSetX.fields.item(0) 'Select first element found (you can interate this!)
recSetX.Close 'Close the result listener
connX.Close 'Close the database connection
GetDBValue=Value 'Output function
End Function

 

I have added comments so you understand the functions of the call, the only difference to Visual Basic is there is no return but the return is calling the function as a variable at the end with the output value you want, UFT will read it as the GET result of the function. Simply call the function with FunctionName(Inputs,Inputs2) etc and you can GET,SET or simply execute void like any other Visual Basic function.

 

Hope this helps someone looking for a quick easy way to talk to a database within UFT.

 

Stay tuned for more software tips, reviews, coding projects and the like.

Leave a Reply

Your email address will not be published.