本文主要介绍了,如何使用开发工具C#.net来调用QC的接口,从而实现对QC中的测试用例等对象的读写。本文涉及的软件有:
- Quality Center
- 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信息的代码这里就不说明了,大家自己试试。