In the CI (Continuous Integration) world, we would be in the position to trigger UFT/QTP scripts from outside of ALM/QC and there we may have 2 options like;
1. Running UFT tests stored in plain Windows File System folder
2. Running UFT tests stored in ALM
Both these options are being utilized by lot of testers effectively and working great. Here I would like to give some light on what if we need to update results to particular test set instance in ALM while triggering tests from outside of ALM.
You should have seen the result options in the dialog which pops up when we are trying start running from UFT/QTP itself and we will select the option and hit OK to start running. Here we need to select those options from API.
Dim oUFT, appUFTResults, uftTestParamDef, uftTestParams, oFSO
'Launch UFT
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oUFT = CreateObject("QuickTest.Application")
Set appUFTResults = CreateObject("QuickTest.RunResultsOptions")
oUFT.Launch
oUFT.Visible = True
'Connect to ALM
If Not oUFT.TDConnection.IsConnected Then
oUFT.TDConnection.Connect "ALM URL", "ALM_DOMAIN", "ALM_PROJECT", "ALM_UserID", "ALM_Password", False 'True if it's encrypted password
End If
'Open the test
oUFT.Open "[ALM] Subject\MYTestInALM", True
'Set params and run
Set uftTestParamDef = oUFT.Test.ParameterDefinitions
Set uftTestParams = uftTestParamDef.GetParameters()
uftTestParams.Item("MyTestParameter").Value = "ValueToPass" 'if you want to pass Test Parameters
'appUFTResults.ResultsLocation = "" 'if you are storing in Windows File System
appUFTResults.TDTestSet = "Root\TESTSET_FOLDER\TEST_SET"
appUFTResults.TDTestInstance = 1
oUFT.Test.Run appUFTResults, True, uftTestParams
'Close
oUFT.TDConnection.Disconnect
oUFT.Quit
End Sub
{
//Launch UFT
System.Type uftType = System.Type.GetTypeFromProgID("QuickTest.Application");
dynamic oUFT = System.Activator.CreateInstance(uftType);
oUFT.Visible = true;
oUFT.Launch();
System.Type uftResultType = System.Type.GetTypeFromProgID("QuickTest.RunResultsOptions");
dynamic oUFTResults = System.Activator.CreateInstance(uftResultType);
//Connect to ALM
if (!oUFT.TDConnection.IsConnected)
{
oUFT.TDConnection.Connect("ALM URL", "ALM_DOMAIN", "ALM_PROJECT", "ALM_UserID", "ALM_Password", false);
}
//Open the test
oUFT.Open(@"[ALM] Subject\MyTestInALM", true, false);
//Set params and run
dynamic oUFTTestParamDef = oUFT.Test.ParameterDefinitions;
dynamic oUFTTestParams = oUFTTestParamDef.GetParameters();
oUFTTestParams["MyTestParameter"].Value = "ValueToPass";
//appUFTResults.ResultsLocation = ""
oUFTResults.TDTestSet = @"Root\TESTSET_FOLDER\TEST_SET";
oUFTResults.TDTestInstance = 1;
oUFT.Test.Run(oUFTResults, true, oUFTTestParams);
//Close
oUFT.TDConnection.Disconnect();
oUFT.Quit();
}
1. Running UFT tests stored in plain Windows File System folder
2. Running UFT tests stored in ALM
Both these options are being utilized by lot of testers effectively and working great. Here I would like to give some light on what if we need to update results to particular test set instance in ALM while triggering tests from outside of ALM.
You should have seen the result options in the dialog which pops up when we are trying start running from UFT/QTP itself and we will select the option and hit OK to start running. Here we need to select those options from API.
VBScript:
Sub LaunchAndRunUFT()Dim oUFT, appUFTResults, uftTestParamDef, uftTestParams, oFSO
'Launch UFT
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oUFT = CreateObject("QuickTest.Application")
Set appUFTResults = CreateObject("QuickTest.RunResultsOptions")
oUFT.Launch
oUFT.Visible = True
'Connect to ALM
If Not oUFT.TDConnection.IsConnected Then
oUFT.TDConnection.Connect "ALM URL", "ALM_DOMAIN", "ALM_PROJECT", "ALM_UserID", "ALM_Password", False 'True if it's encrypted password
End If
'Open the test
oUFT.Open "[ALM] Subject\MYTestInALM", True
'Set params and run
Set uftTestParamDef = oUFT.Test.ParameterDefinitions
Set uftTestParams = uftTestParamDef.GetParameters()
uftTestParams.Item("MyTestParameter").Value = "ValueToPass" 'if you want to pass Test Parameters
'appUFTResults.ResultsLocation = "" 'if you are storing in Windows File System
appUFTResults.TDTestSet = "Root\TESTSET_FOLDER\TEST_SET"
appUFTResults.TDTestInstance = 1
oUFT.Test.Run appUFTResults, True, uftTestParams
'Close
oUFT.TDConnection.Disconnect
oUFT.Quit
End Sub
.Net (C#):
public void LaunchAndRunUFT(){
//Launch UFT
System.Type uftType = System.Type.GetTypeFromProgID("QuickTest.Application");
dynamic oUFT = System.Activator.CreateInstance(uftType);
oUFT.Visible = true;
oUFT.Launch();
System.Type uftResultType = System.Type.GetTypeFromProgID("QuickTest.RunResultsOptions");
dynamic oUFTResults = System.Activator.CreateInstance(uftResultType);
//Connect to ALM
if (!oUFT.TDConnection.IsConnected)
{
oUFT.TDConnection.Connect("ALM URL", "ALM_DOMAIN", "ALM_PROJECT", "ALM_UserID", "ALM_Password", false);
}
//Open the test
oUFT.Open(@"[ALM] Subject\MyTestInALM", true, false);
//Set params and run
dynamic oUFTTestParamDef = oUFT.Test.ParameterDefinitions;
dynamic oUFTTestParams = oUFTTestParamDef.GetParameters();
oUFTTestParams["MyTestParameter"].Value = "ValueToPass";
//appUFTResults.ResultsLocation = ""
oUFTResults.TDTestSet = @"Root\TESTSET_FOLDER\TEST_SET";
oUFTResults.TDTestInstance = 1;
oUFT.Test.Run(oUFTResults, true, oUFTTestParams);
//Close
oUFT.TDConnection.Disconnect();
oUFT.Quit();
}
Thanks for sharing this information
ReplyDeletedata science training in Marathahalli
best data science courses in Marathahalli
data science institute in Marathahalli
data science certification Marathahalli
data analytics training in Marathahalli
data science training institute in Marathahalli
Nice Blog...
ReplyDeleteselenium training centers in Bangalore
best software testing training institutes in Bangalore with placements
automation testing courses in Bangalore
selenium testing course in Bangalore
software testing institutes in Bangalore
selenium training in Bangalore
best selenium training in Bangalore
selenium course in Bangalore
digital marketing courses in BTM with placement
ReplyDeletedigital marketing training in btm
seo training in btm
This comment has been removed by the author.
ReplyDelete