使用C#调用QC的接口

本文主要介绍了,如何使用开发工具C#.net来调用QC的接口,从而实现对QC中的测试用例等对象的读写。本文涉及的软件有:

  1. Quality Center 
  2. Visual Studio 2005

QC是很多测试团队都在使用的测试管理工具,它提供的功能基本可以满足要求,不过有时我们需要读写QC中的数据,做二次开发。比如说,批量导入测试用例,导出bug数据用于统计分析。

首先,在打开QC的时候,会下载一些客户端控件,请确保本地的目录存在以下这个文件“C:\Program Files\Common Files\Mercury Interactive\Quality Center\OTAClient.dll”,然后打开VS2005,创建一个C#控制台程序,然后添加COM引用“OTA COM”。

下面可以编写代码来访问QC的接口了,接口对象都在“TDAPIOLELib”这个NameSpace下面。首先使用TDConnection连接QC:

TDConnection tdconn = new TDConnectionClass();
tdconn.InitConnectionEx(qc_serverURL);
tdconn.Login(qc_user, qc_password);
tdconn.Connect(qc_domain, qc_proj);

要读取测试用例目录,要先创建一个TreeManager对象:

TreeManager tree = tdconn.TreeManager as TreeManager;

然后读取某个目录节点:

SubjectNode node = tree.get_NodeByPath(qc_folder) as SubjectNode;

下面要读取测试用例对象,就必须使用“TestFactory”对象,这个对象是SubjectNode的一个属性:

TestFactory testFac = node.TestFactory as TestFactory;

然后利用这个对象来读取测试用例的List:

List tests = testFac.NewList(null);

在使用foreach来遍历这个目录下的所有用例对象:

foreach (Test t in tests){}

读取用例中的步骤,只要使用用例对象中的DesignStepFactory即可,这里不再说明。

下面说一下利用接口写入数据的方法。仍然使用上面的SubjectNode node对象,它提供了一个AddItem方法来添加新目录,并返回这个新建的目录对象:

SysTreeNode res = node.AddNode("NewNode");

添加用例还是要用到TestFactory对象:

Test res = testFac.AddItem(testName) as Test;
res.Post();//提交修改更新

DesignStepFactory stepFac = res.DesignStepFactory as DesignStepFactory;
DesignStep newstep = stepFac.AddItem(StepName) as DesignStep;

别忘了在代码中截取异常,然后释放与QC的连接,否则连接会越来越多,影响服务器的正常工作:

tdconn.DisconnectProject();
tdconn.Logout();
tdconn.ReleaseConnection();
tdconn = null;

读写bug信息的代码这里就不说明了,大家自己试试。

原文地址:https://www.cnblogs.com/powerson/p/2062069.html