2016-11-09 4 views
3

Excelマクロを使用してQC ALMでテストケースを実行しようとしています。私はテストリストのテストにアクセスできますが、IDで実行する必要のある特定のテストケースを見つけることができません。テストIDでExcelからalmのテストケースを実行する

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を得るためにすべてのヘルプは大きな助けになります:以下

は、私が使用していたサンプルコードです。

答えて

2

あなたはTSTestオブジェクトのTestIdプロパティを探していると思います。

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

それとも、ExcelのみからそれぞれのテストIDと一致するテストセットからTSTestのインスタンスを取得するためにフィルターを使用することができます:

だからあなたのループであなただけのテストIDは、Excelから値と一致するかどうかをテストすることができ
Set testSetFilter = tsTestFactory.Filter 
testSetFilter.Filter("TC_TEST_ID") = testidfromexcel 
Set tsTestList = testSetFilter.NewList() 

これで、tsTestListには、ExcelのIDを持つテストのテストインスタンスのみを含めるようになりました。

+0

2番目は私が探しているブロックです。インスタンスを取得することができます。助けてくれてありがとう@ロナルド:) –

関連する問題