2013-06-12 42 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安装组件即

我希望这可以帮助别人:)