如何使用c#和ASP.net连接HP质量中心

本文关键字:HP 连接 net 何使用 ASP | 更新日期: 2023-09-27 18:14:48

我希望使用c#和ASP.net连接HP质量中心。有人可以建议我使用。net web应用程序连接它的方法。此外,我是否需要在托管应用程序的服务器上进行任何安装?

下面是我找到的一些java代码,我想要这样的东西

//Connect to QC    
    ITDConnection itdc= ClassFactory.createTDConnection();    
    System.out.println(itdc.connected());    
    itdc.initConnectionEx("http://QC.com/qcbin");    
    System.out.println(itdc.connected());    
    itdc.connectProjectEx("DomainA", "ProjectB", "UserID", "Password");    

如何使用c#和ASP.net连接HP质量中心

有两种方法。这些是使用:

  1. OTA客户端(开放测试架构)

    这是从第三方应用程序连接HP QC/ALM的传统方式。该API已经可用多年,并且在与QC的交互方面相当成熟。然而,我认为这个API是基于COM的,并且很快就会过时。因此,我不建议使用它来构建广泛的定制QC线束。

  2. REST API

    HP在最近的几个版本中已经开始为QC提供REST API。最新版本的QC(现在称为HP ALM 11.5)中的REST API似乎相当成熟。我想说这样做的主要优点是速度和更好的互操作性,因为我相信REST将很快成为公开远程服务的主流标准之一。

这是一些关于你的选择的背景。但是,要给出一些c#代码的示例,请参阅下面的代码片段。

using TDAPIOLELib; // This is the QTP interop library 
private TDConnection qcConnection;
private string Connect()
{
    string status;
    status = "Initialising";
        qcConnection.InitConnectionEx("<QC URL>");
        qcConnection.ConnectProjectEx("<QC Domain>", "<QC Project>", "<LoginUserId>", "<UserPassword>");
        if (qcConnection.ProjectConnected)
        {
            status = "Connected";
        }
    return status;
}
public void GetTestsInTestSet(string testFolder, string testSetName)
{
    TDAPIOLELib.List tsTestList = new TDAPIOLELib.List();
    try
    {
        if (qcConnection.ProjectConnected)
        {
            TestSetFactory tSetFact = (TestSetFactory)qcConnection.TestSetFactory;
            TestSetTreeManager tsTreeMgr = (TestSetTreeManager)qcConnection.TestSetTreeManager;
            TestSetFolder tsFolder = (TestSetFolder)tsTreeMgr.get_NodeByPath(testFolder);
            List tsList = tsFolder.FindTestSets(testSetName, false, null);

            foreach (TestSet testSet in tsList)
            {
                TestSetFolder TSFolder = (TestSetFolder)testSet.TestSetFolder;
                TSTestFactory TSTestFactory = (TSTestFactory)testSet.TSTestFactory;
                tsTestList = TSTestFactory.NewList("");
            }
            foreach (TSTest test in tsTestList)
            {
                System.Diagnostics.Debug.Writeln(test[qcFrameworkTestIDFieldName]);
            }
        }
        else
        {
            Console.WriteLine("QC connection failed");
        }
    }
    catch (Exception e)
    {
        throw e;
    }    
}

指出:

    要获得QC互操作库,请查找otacclient .dll。一旦你第一次成功地从你的机器上访问QC,它就会下载到你的本地机器上。
  1. HP ALM11.50 - REST API参考:http://support.openview.hp.com/selfsolve/document/KM1413621/binary/ALM11.50_REST_API_Ref.html?searchIdentifier=4a65d813%3a140830b7b59%3a6cfa&resultType=document
  2. HP ALM11.50 - OTA API参考:http://support.openview.hp.com/selfsolve/document/KM1413612/binary/ALM11.50_OpenTest_Architect_API_Ref.html?searchIdentifier=4a65d813%3a140830b7b59%3a6e9b&resultType=document
  3. 一般来说,我发现在c#中使用OTA API非常乏味。即使从参考指南中,有时也很难找出一些对象类型和类型转换。使用VB。Net可能会使它更容易一点,因为我相信你不需要做这么多的铸造。然而,如果我必须重新来过,我肯定会首先考虑REST API。

祝一切顺利。

S

在HP ALM 11.50 - REST API Ref中没有执行测试集的实现。所以要执行测试,你需要使用OTA API。