简体   繁体   中英

Executing the test cases in alm from Excel by Test ID

I am trying to execute the test cases in QC ALM through an Excel macro. I am able to access the tests in testlist, but I am not able to find the particular test case I need to execute by its ID.

Below is the sample code I am using:

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

Any help to get TestCase in testset of testlab to execute would be great help.

I think you are looking for the TestId property of the TSTest object. So in your loop you could just test whether TestId matches the value from Excel:

If tsTest.TestId = testidfromexcel Then
    ' do something
End If

Or you can use a Filter to only get the TSTest instances from your Test Set that matches the respective test ID from Excel:

Set testSetFilter = tsTestFactory.Filter
testSetFilter.Filter("TC_TEST_ID") = testidfromexcel
Set tsTestList = testSetFilter.NewList()

Now your tsTestList should only contain test instances from the test with the ID from Excel.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM