2016-05-12 6 views
1

ALMのテスト計画を操作するためにOTAを使用する方法はありますか?OTAを使用したALMテスト計画のパラメータ値の変更

たとえば、ALMには350個のテストプランがあり、それぞれのパラメータ設定を変更したいと考えています。手動で行うのは愚かです。

アップデート1:

多くの時間OTAに関する研究を行った後、ここで私は今、得たものです:

以下のコードを使用することにより、私はまだテスト計画に移動して、その名前を取得することができますが、

set tdc = createobject("TDApiOle80.TDConnection") 
tdc.InitConnectionEx "http://URL:8080/qcbin" 
tdc.Login "Username","Password" 
tdc.Connect "Domain","Project" 

If tdc.Connected = true Then 
    print "Connect successful!!!" 
End If 

Set TreeMgr = tdc.TreeManager 
    Set SubjRoot = TreeMgr.NodeByPath("Subject\") 
    Set TestFact = tdc.TestFactory 
    Set SubjectNodeList = SubjRoot.FindChildren("", False, "") 

For Each oSubjectNode In SubjectNodeList 
     'Print out the subject path 
     'Print oSubjectNode.Path 

     'Does this have any tests? 
     Set TestFilter = TestFact.Filter 
     TestFilter.Filter("TS_SUBJECT") = Chr(34) & oSubjectNode.Path & Chr(34) 
     Set TestList = TestFact.NewList(TestFilter.Text) 
     For Each oTest In TestList 
      print oTest.Name 
'=============get stuck here======================== 
       Set Components=oTest.BPComponent 
       Set Component=Components.Item(1) 
'=============trying to get components list========== 
      Next 

Next 

This postは、パラメータ値を編集する方法を提供しそうです...それでBPComponentsの完全なリストを取得する方法がわかりません。しかし、問題はTestオブジェクトがTest.Loadメソッドをサポートしていないことです。

アップデート2:

より調査した結果、私たちはUFT/QTPによってそれを行うことができるとは思いません。その理由は、OTAの公式ガイド(リンクhere)によれば、「TestBusinessProcessにキャストする」必要があるからです。 VBScriptにはDim AsCTypeのようなものがないので、これはVBScriptでは実行できないようです。

次のステップ:多分私はテストプランレベルではなく、コンポーネントレベルでそれをやろうとすることができますか?

答えて

0

自分で解決しました。

はここで詳細です:

まず、OTAを使用することによって、我々はコンポーネントレベルに触れることができません。テストプラン/ラボレベルを操作できます。つまり、OTAを使用してパラメータ値を変更する場合は、テスト計画レベルでグローバルパラメータを作成して変更する必要があります。

'=====================Initial ALM Connection==================' 
set tdc = createobject("TDApiOle80.TDConnection") 
tdc.InitConnectionEx "ALM URL" 
tdc.Login "UserName","Password" 
tdc.Connect "Domain","Project" 

If tdc.Connected = true Then 
    print "Connect successful!!!" 
else 
    'do something' 
End If 
'=====================Initial ALM Connection==================' 



'====================Get all test plans under a folder======================== 
    Set treeMng = tdc.TreeManager 
    Set sourceFolder = treeMng.NodeByPath("Subject\Path") 
    Set testF = sourceFolder.TestFactory 
    ' Find the test ID. 
    Set aFilter = testF.Filter 
    Set TestList = testF.NewList("") 
    For each test in TestList 
     print test.Name 
     '=========Can search a specific test plan here' 
     If test.Name = "TestCaseName" Then 
      set TestObj = test 
     End If 
    Next 
'====================Get all test plans under a folder======================== 


'====================Modify test plan name====================' 
'After get a specific TestObj 
TestObj.Name = "New Name" 
TestObj.Post 
'====================Modify test plan name====================' 


'====================Change parameter value===================== 
Set para = TestObj.TestParameterFactory 
Set paraList = Para.NewList("") 
For each a in paraList 
    If a.Name = "Para1" Then 
     a.Name = "Modified1" 
     a.DefaultValue = "ValueModified1" 
     a.Post 
     a.UnLockObject 
    End If 

    If a.Name = "para2" Then 
     a.Name = "Modified2" 
     a.DefaultValue = "ValueModified2" 
     a.Post 
     a.UnLockObject 
    End If 
Next 
'====================Change parameter value===================== 



'====================Search a specific test plan, copy and paste============== 
Set treeMng = tdc.TreeManager 
Set sourceFolder = treeMng.NodeByPath("Subject\Path") 
Set testF = sourceFolder.TestFactory 
' Find the test ID. 
Set aFilter = testF.Filter 
Set TestList = testF.NewList("") 
TestName = """Test_Case_Name""" 
aFilter.Filter("TS_NAME") = TestName 
Set TestsList = aFilter.NewList() 
Set Test = TestsList.Item(1) 
print Test.id 
Set iscp = testF 
clipboard = iscp.CopyToClipBoard(Test.ID, 0, "") 
Set destFolder = treeMng.NodeByPath("Subject\Path") 
Set testF = destFolder.TestFactory 
Set iscp = testF 
iscp.PasteFromClipBoard clipboard,destFolder.NodeID,0,1 
destFolder.Refresh 
'====================Search a specific test plan, copy and paste============== 

以下はいくつかのサンプルコードです

関連する問題