• 使用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信息的代码这里就不说明了,大家自己试试。

  • 相关阅读:
    common.js
    数据库_day05_查询语句及JDBC
    数据库_day04_基本的增删改查操作
    Java 抽象类、普通类、接口的区别
    java中ArrayList和LinkedList的区别
    数据库_day03_对数据库的基本操作
    java_day18_集合框架map和list
    java_day17_socket,tcp协议传输
    java_day16_读写锁,fork-join框架
    java_day15_线程,匿名内部类,线程安全
  • 原文地址:https://www.cnblogs.com/powerson/p/2062069.html
Copyright © 2020-2023  润新知