User's Requirement
The goal is to Create Automatically a TestSet consists of "Failed" and "Not Completed" test of an quicktest testset after its complete execution.
Proposed Solution
Insert of an automatic VAPI-XP test, at the end of the TestSet, that check all test status. It will create an automatic TestSet under Unattached folder with all the tests that are "Failed" or "Not Completed".
______________________________________________________________________________
Implementation on the Product
The scenario, in this example, provides the creation of a VAPI-XP test that must be insert into the automatic TestSet (consists of QTP Tests) to be analyzed.
This test will run on the client machine where Quality Center is running and will analyze all the QTP Tests of the Test Set, the execution status and if there is at least a Failed or Not Completed status it will create a TestSet with only those Tests in these status linked each other in sequential manner.
The VAPI-XP Test Creation is made from the TestPlan module selecting VAPI-XP as Test Type. We will select vbs scriptingh language that is more common for us. These are the steps:
1. During the creation of the test select VAPI-XP Type.
2. It will show you this form:
3. Use the default values (Language and Script Name) and click on "Next >>" button. It will show you this form:
4. Select "COM/DCOM Server Test" and click "Next >>" button.
The Creation Test Wizard shows you this form:
5. Just click "Next >>" button to go on:
Select "Finish" button to end the creation wizard of the VAPI-XP test. Now the VAPI-XP test is created but it don't do anything for the moment.
The Test contains vbs script code that we can see accessing to the "Test Script" tab of the test:
Let's analyze what have been created. There are comments about:
Now let's see how to check Instance Executions of this TestSet except this Test.
So under TODO section I'll put this code:
'1. Retrieve the TestInstance List (ListaTS)
Dim MyTempTestSet, ListaTS, i, isCreationNeed
'boolean variable for the creation if the temporary TestSet.
isCreationNeed = False
set ListaTS = CurrentTestSet.TSTestFactory.NewList("")
'2. For Cycle for all the Test Instance except this one.
for i = 1 to ListaTS.Count - 1
'3. Checl the instance execution status. If "Failed" or "Not Completed" check if the TestSet under Unattached has been already created, otherwise I'll created
if (ListaTS.Item(i).Status = "Failed" Or _
ListaTS.Item(i).Status = "Not Completed") then
if Not(isCreationNeed) then
set MyTempTestSet = TDConnection.TestSetFactory.AddItem("TemporaryTestSet_" & split(Date,"/")(2) & split(Date,"/")(1) & split(Date,"/")(0))
'Creation of a TestSet call as TemporaryTestSet_AAAAMMGG
isCreationNeed = True
end if
'4. insert the test case using TestID property
MyTempTestSet.TSTestFactory.AddItem(ListaTS.Item(i).TestID)
end if
next
'Points 5, 6 and 7 must do only if isCreationNeed is True
if isCreationNeed then
'5. Copy info about HostName of Failed Tests for Tests that have been inserted in the temporary testset.
'Creation of InstanceList of Temporary TestSet
set TempListTS = MyTempTestSet.TSTestFactory.NewList("")
'for cycl for each istance in the Temporary TestSet
for each tsts in TempListTS
'for cycle for each instance of the CurrentTestSet
for each elem in ListTS
if elem.TestId = tsts.TestID then
tsts.field("TC_HOST_NAME") = elem.field("TC_HOST_NAME")
tsts.Post
tsts.Refresh
exit for 'exit from the cycle because I set the info I needed.
end if
next
next
'6. Retrieve informations for the Notify
MyTempTestSet.Field("CY_MAIL_SETTINGS") = CurrentTestSet.Field("CY_MAIL_SETTINGS")
'7. Dependence Creation between test in the sequential order
Dim v_CY_Desc, QuerySEQ, MyComm, RecSet
v_CY_Desc = ""
'for cycle of the temporary testset except the last test instance
for i=1 to TempListTS.Count - 1
'Source loading
Set SourceTest = MyTempTestSet.TSTestFactory.Item(TempListTS.Item(i).ID)
Set TargetTest = MyTempTestSet.TSTestFactory.Item(TempListTS.Item(i+1).ID)
'Setting of the value of CY_DESCRIPTION field
v_CY_Desc = v_CY_Desc & "{" & vbNewLine & _
"CN_COND_ID:" & i-1 & "," & vbNewLine &
_
"CN_TYPE:1" & "," & vbNewLine & _
"CN_VALUE:1" & "," & vbNewLine & _
"CN_TARGET:" & TargetTest.ID & "," & vbNewLine
& _
"CN_SOURCE:" & SourceTest.ID & "," & vbNewLine
& _
"CN_DESCRIPTION:" & vbNewLine & _
"}" & vbNewLine
Set SourceTest = Nothing
Set TargetTest = Nothing
next
'Set the Update Query
QuerySEQ = "UPDATE CYCLE SET CY_DESCRIPTION = '" & v_CY_Desc & "' WHERE CY_CYCLE_ID = " & MyTempTestSet.ID & " ;"
'Creation Command Object
Set MyComm=TDConnection.Command
'Load Query into the Command Object
MyComm.CommandText = QuerySEQ
'Query Execution
Set RecSet = MyComm.Execute
'Destruction of the RecordSet e Command objects
Set RecSet = Nothing
Set MyComm = Nothing
'Post and Refresh for TemporaryTestSet Object
MyTempTestSet.Post
MyTempTestSet.Refresh
'Destruction Temporary TestSet Object
set MyTempTestSet = Nothing
end if
Finally the creation of the VAPI-XP Test have been done. The last thing to do is to insert this VAPI-XP Test at the end of the TestSet.
Questo sito è stato realizzato con Jimdo! Registra il tuo sito gratis su https://it.jimdo.com