我希望使用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");
答案 0 :(得分:5)
嗯,有两种方法可以做到这一点。这些是使用:
OTA客户端(开放测试架构)
这是从第三方应用程序连接HP QC / ALM的传统方式。该API已经使用多年,并且在它与QC的交互方面非常成熟。但是我认为这个API是基于COM的,并且很快就会过时。因此,我不建议使用它来构建广泛的自定义QC线束。
REST API
惠普已经开始在最近几个版本中为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;
}
}
注意:
一切顺利。
取值
答案 1 :(得分:0)
在HP ALM 11.50中没有执行测试集的实现 - REST API Ref。 因此,要执行测试,您需要使用OTA API。