通过测试 ID 从 Excel 执行 alm 中的测试用例
Executing the test cases in alm from Excel by Test ID
我正在尝试通过 Excel 宏在 QC ALM 中执行测试用例。我可以访问测试列表中的测试,但无法通过 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
任何有助于让测试实验室的测试集中的 TestCase 执行的帮助都将大有帮助。
我认为您正在寻找 TSTest 对象的 TestId 属性。因此,在您的循环中,您可以只测试 TestId 是否与 Excel:
中的值匹配
If tsTest.TestId = testidfromexcel Then
' do something
End If
或者您可以使用过滤器仅从您的测试集中获取与来自 Excel 的相应测试 ID 相匹配的 TSTest 实例:
Set testSetFilter = tsTestFactory.Filter
testSetFilter.Filter("TC_TEST_ID") = testidfromexcel
Set tsTestList = testSetFilter.NewList()
现在您的 tsTestList 应该只包含 ID 来自 Excel 的测试的测试实例。
我正在尝试通过 Excel 宏在 QC ALM 中执行测试用例。我可以访问测试列表中的测试,但无法通过 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
任何有助于让测试实验室的测试集中的 TestCase 执行的帮助都将大有帮助。
我认为您正在寻找 TSTest 对象的 TestId 属性。因此,在您的循环中,您可以只测试 TestId 是否与 Excel:
中的值匹配If tsTest.TestId = testidfromexcel Then
' do something
End If
或者您可以使用过滤器仅从您的测试集中获取与来自 Excel 的相应测试 ID 相匹配的 TSTest 实例:
Set testSetFilter = tsTestFactory.Filter
testSetFilter.Filter("TC_TEST_ID") = testidfromexcel
Set tsTestList = testSetFilter.NewList()
现在您的 tsTestList 应该只包含 ID 来自 Excel 的测试的测试实例。