2013-06-12 56 views
0

我試圖以編程方式調用ALM中的測試套件。當我執行代碼時(當我的機器充當測試運行器時),我沒有在本地機器上運行指定的測試套件的問題。但是,當我試圖指向遠程服務器來運行所述測試套件時,我遇到了一個問題。代碼和錯誤消息張貼在這裏:遠程執行HP ALM測試套件時出現問題

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using TDAPIOLELib; 


     // Connect to ALM 
     ITDConnection itdc = new TDConnection(); 
     itdc.InitConnectionEx(url); 
     itdc.ConnectProjectEx(domain, projectName, username, pswd); 

     if (itdc.ProjectConnected) 
     { 
      List<string> testInfo = new List<string>(); 

      string testFolder = "Root\\<Folder>\\<Folder>"; 
      testSetName = "<TestSuite>"; 

      TestSetFactory tsFactory = (TestSetFactory)itdc.TestSetFactory; 
      TestSetTreeManager tsTreeMgr = (TestSetTreeManager)itdc.TestSetTreeManager; 

      TestSetFolder tsFolder = (TestSetFolder)tsTreeMgr.get_NodeByPath(testFolder); 
      List tList = tsFolder.FindTestSets(testSetName, false, null); 
      TestSet testset = tList[1]; 

      TSScheduler scheduler = testset.StartExecution("<RemoteServerName>"); // Contain server name unless local 
      // scheduler.RunAllLocally = true; // Included when ran local 
      scheduler.Run();     
     } 

錯誤消息我在「調度」報關行收到是「沒有註冊類(從HRESULT異常:0x80040154的(REGDB_E_CLASSNOTREG))」。

我已經在我的本地機器和我試圖執行的機器上註冊了OTAClient.dll。

任何建議,將不勝感激。

  • 下一個步驟
    • 呼叫一個年輕的老牧師。

回答

2

我想出了問題所在。如果在這個庫上有更多的文檔,這將是很好的。

您需要在執行開始之前設置一些TSScheduler屬性。所以這條線:

TSScheduler scheduler = testset.StartExecution("<RemoteServerName>"); // Contain server name unless local 
// scheduler.RunAllLocally = true; // Included when ran local 
scheduler.Run(); 

成爲本:

TSScheduler scheduler = testset.StartExecution(""); // Contain server name unless local 
scheduler.TdHostName = "<test_runner_name>"; 
scheduler.LogEnabled = true; 
scheduler.Run(testset.ID); 

也將是一個好主意,如果你確認你的機器上安裝所有必要的ALM的加載項。特別是「HP Quality Center連接」和「HP Quality Center系統測試遠程代理」加載項。爲了確保,我重新安裝在我的測試代理上。

希望這有助於未來的其他人。

2

我已經使用

TSScheduler scheduler = testSet.StartExecution("");

我們在QC10工作的解決方案,但最近升級到QC12。安裝位於連接在

yourALMURL.com/qcbin/TDConnectivity_index.html

允許我們使用COM對象在VS2013/C#,連接到QC等,但會失敗,你對上面的代碼相同的錯誤。

沒有註冊類(從HRESULT異常:0x80040154的(REGDB_E_CLASSNOTREG))

最終我們發現,你還需要通過工具 '註冊您的客戶'/客戶端註冊:

https://yourALMURL.com/qcbin/CommonMode_index.html

運行IE作爲管理員,並且在該PAG安裝組件即

我希望這可以幫助別人:)