【问题标题】:Extracting Requirements folder Tree structure from QC using API使用 API 从 QC 中提取需求文件夹树结构
【发布时间】:2016-06-29 04:12:42
【问题描述】:

我正在尝试从 QC 需求模块中提取需求。我可以提取 QC 项目的所有需求,但我只想提取选定的需求。所以我需要给出文件夹路径并相应地提取要求。 目前我使用 ReqFactory 从 QC 中提取 Reqs。您能否帮助我或给我一个想法,以从选定的文件夹路径中提取要求。

我尝试了 Req Path 和父亲 id,但它仍然不能满足我的需要,因为有些可能在父文件夹下有多个子文件夹。

【问题讨论】:

    标签: hp-quality-center


    【解决方案1】:

    我假设您喜欢使用 OTA API 获取需求的所有子需求?我能提供的唯一解决方案有点笨拙。首先,您必须获得要从哪里开始的要求,例如“需求\项目\ProjectX”。如何实现这一点在 OTA API 参考中作为 ReqFactory 对象的示例进行了描述(“在指定文件夹中查找指定需求”)。或者发布在this forum。如果您知道启动需求的 ID,您可以通过 req_factory.Item(id) 简单地获取需求。

    当你有你想要开始的需求时,你可以使用 ReqFactory 的 Find-method 来获取它的所有孩子,resp。所有 Requirement 对象都以与 start-require 相同的路径开始。这是 Ruby 中的示例方法:

    def list_all_child_requirements(start_req)
      req_factory = @tdc.ReqFactory
      req_path_strange_format = start_req.Field("RQ_REQ_PATH")
      child_req_list = req_factory.Find(start_req.ID, "RQ_REQ_PATH", req_path_strange_format, 8)
      child_req_list.each do |list_req|
        puts list_req
      end
    end
    

    req_path_strange_format 包含一个采用奇怪的 Quality Center 表示法的字符串,例如“AAAAAB”。 Find-method 从 start-requirement 开始,搜索路径与 start-requirement 的路径相同的所有需求。参数8 表示“以模式开头”(在API 参考中描述,Enum tagTDAPI_REQMODE)。我只是不知道如何使用 Ruby 访问 Enum,这就是为什么使用魔法 8... Find 方法返回一个格式为“ID,NAME”的列表。从那里提取需求应该没有问题。

    使用 VAPI-XP-TEST 和 VB 在 QC 中直接执行相同操作看起来像这样:

    TDOutput.Clear
    Dim reqPathStrangeFormat
    Set reqF = tdConnection.ReqFactory
    Set startReq = reqF.Item(14) ' ID of parent requirement
    reqPathStrangeFormat = startReq.Field("RQ_REQ_PATH")
    TDOutput.Print reqPathStrangeFormat
    Set childReqList = reqF.Find(startReq.ID, "RQ_REQ_PATH", reqPathStrangeFormat, TDREQMODE_FIND_START_WITH)
    For Each childReq in childReqList
        TDOutput.Print childReq
    Next
    

    这段代码首先打印一些奇怪的字符串“AAAAAB”或类似的东西,然后是一个带有“ID,NAME”的需求列表。

    【讨论】:

    • 嗨 Ronald,我看到你回答了我的大部分 HP QC 相关问题。谢谢你。当谈到这个问题时,我正在使用 vbscript 从 QC 中提取需求。由于您提供的示例是用 Ruby 编写的,我仍在分析它。
    • 我添加了一些 VB 示例代码——也许它有一些帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 2012-06-23
    • 2011-10-24
    • 2021-06-17
    • 2017-09-26
    • 1970-01-01
    相关资源
    最近更新 更多