通过测试ID从Excel执行alm中的测试用例

通过测试ID从Excel执行alm中的测试用例,excel,alm,hp-quality-center,vba,Excel,Alm,Hp Quality Center,Vba,我试图通过Excel宏在QC ALM中执行测试用例。我能够访问testlist中的测试,但是我无法找到需要通过其ID执行的特定测试用例 下面是我正在使用的示例代码: Set tsTreeMgr = tdConnection.testsettreemanager Set tsFolder = tsTreeMgr.NodeByPath(nPath) ' --Search for the test set passed as an argument to the example code Set ts

我试图通过Excel宏在QC ALM中执行测试用例。我能够访问testlist中的测试,但是我无法找到需要通过其ID执行的特定测试用例

下面是我正在使用的示例代码:

Set tsTreeMgr = tdConnection.testsettreemanager
Set tsFolder = tsTreeMgr.NodeByPath(nPath)
' --Search for the test set passed as an argument to the example code
Set tsList = tsFolder.FindTestSets("Test Set Name")

'------Accessing the Test Cases inside the Test SEt ----

Set theTestSet = tsList.Item(1)
For Each testsetfound In tsList
    Set tsFolder = testsetfound.TestSetFolder
    Set tsTestFactory = testsetfound.tsTestFactory
    Set tsTestList = tsTestFactory.NewList("")

    For Each tsTest In tsTestList
        MsgBox (tsTest.Name+","+ tsTest.ID)
        testrunname = "Test Case name from excel sheet"
        '----Accesssing the Run Factory ---
        Set RunFactory = tsTest.RunFactory
        Set obj_theRun = RunFactory.AddItem(CStr(testrunname))
        obj_theRun.Status = "Passed"
        obj_theRun.Post
    Next
Next

让testlab的testset中的TestCase执行的任何帮助都将是巨大的帮助

我认为您正在查找TSTest对象的TestId属性。因此,在循环中,您可以测试TestId是否与Excel中的值匹配:

If tsTest.TestId = testidfromexcel Then
    ' do something
End If
Set testSetFilter = tsTestFactory.Filter
testSetFilter.Filter("TC_TEST_ID") = testidfromexcel
Set tsTestList = testSetFilter.NewList()
或者,您可以使用筛选器仅从测试集中获取与Excel中相应测试ID匹配的TSTest实例:

If tsTest.TestId = testidfromexcel Then
    ' do something
End If
Set testSetFilter = tsTestFactory.Filter
testSetFilter.Filter("TC_TEST_ID") = testidfromexcel
Set tsTestList = testSetFilter.NewList()

现在,您的tsTestList应该只包含ID来自Excel的测试中的测试实例。

2是我要查找的块。能够获取实例。谢谢你的帮助@Ronald:)