2016-05-26 4 views
0

具体的に選択されたテストケースに対してVBScriptを使用してテストケースステータスを更新しようとしていますが、選択した(強調表示されたテストケース)行を特定できません。テストラボで選択したテストケースのステータスを更新する

「輸出選択」または「レポート選択」のようなQCの機能が

誰かがVBAまたはVBSインクルードに識別するためにどのように私を助けることができる...選択した項目を識別することが可能である意味...がありますQCで選択された項目を削除し、ステータスのみを更新しますか?ここで

は私が積み重ねられていたコードの断片である:

Sub change_status() 
    'code with connections etc 

    'start iterating through all test cases 
    For Each TestCase In TestSetTestsList 
     'identify the test case was selected/highlighted 
     If TestCase.Field("selected") = True Then 
      TestCase.Field("TS_STATUS") = "passed" '"failed" etc 
      TestCase.Post 
      TestCase.Refresh 
     End If 
    Next 

    MsgBox ("The status successfully updated for all selected test cases") 
End Sub 

添付された画像は、あなたが、私が「選択されたテストケース」または「選択項目」によって何を意味するかを理解するのに役立ちます。

selected test cases

答えて

0

そして、ここで私が見つけた解決策である:

Function TestSet_CanRemoveTests(Tests) 

result = msgbox ("Would you like to update the status?", vbYesNo, "Update Status") 
Select Case result 
Case vbYes 
val = "Passed = 1 ; No Run = 2 ; Blocked = 3 ; Failed = 4; Not Delivered = 5; N/A = 6" 
title = "Choose status" 
myValue = InputBox(val, title) 
     If myValue="1" Then 
     stts = "Passed" 
     ElseIf myValue="2" Then 
     stts = "No Run" 
     ElseIf myValue="3" Then 
     stts = "Blocked" 
     BugID = inputbox ("Please insert a Defect ID you would like to link with:", "Defect ID") 
       Select case BugID 
        case false 
        TestSet_CanRemoveTests = false 
        Exit Function 
       End Select 
     ElseIf myValue="4" Then 
     stts = "Failed" 
     ElseIf myValue="5" Then 
     stts = "Not Delivered" 
     ElseIf myValue="6" Then 
     stts = "N/A" 
     ElseIf myValue = false then 
     TestSet_CanRemoveTests = false 
     Exit Function 
     End If 


For Each TestCase in Tests 
Set MyTest = TsTestFactory.Item(TestCase) 'without TDConnection 

If myValue = "3" then 
Set objBugLinkFac = MyTest.BugLinkFactory 
Set objLink = objBugLinkFac.AddItem(BugID) 

objLink.LinkType = "Related" 
objLink.Post 

MyTest.Field("TC_STATUS") = stts 
MyTest.Post 

Set objLink = Nothing 
Set objBugLinkFac = Nothing 

Else: 
MyTest.Field("TC_STATUS") = stts 
MyTest.Post 
End If 

Set MyTest = Nothing 
t = t + 1 
Next 

msgbox("Done! Total number of affected tests is - " & t) 
TestSet_CanRemoveTests = false 

Case vbNo 
TestSet_CanRemoveTests = DefaultRes 
End Select 
'On Error GoTo 0 
End Function 
関連する問題