【问题标题】:Updating the status of selected test cases in Test Lab更新测试实验室中选定测试用例的状态
【发布时间】:2016-06-13 19:22:52
【问题描述】:

我正在尝试使用 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

附图可以帮助你理解我所说的“选定的测试用例”或“选定的项目”的意思。

【问题讨论】:

    标签: vbscript hp-quality-center


    【解决方案1】:

    这是我找到的解决方案:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多