首页 > 解决方案 > 如何在 HP ALM C# OTA 中过滤 ID 范围内的缺陷

问题描述

我需要使用其 OTA 过滤来自 HP ALM 的特定范围 ID 的缺陷。这需要在不从 ALM 调用所有缺陷并从代码中过滤它们的情况下完成,因为这会显着增加时间,这是不可取的。

例如,我可以按如下方式过滤单个缺陷:

        TDAPIOLELib.BugFactory OBugFactory = alm_core.tDConnection.BugFactory as TDAPIOLELib.BugFactory;
        TDAPIOLELib.TDFilter OTDFilter = OBugFactory.Filter as TDAPIOLELib.TDFilter;
        TDAPIOLELib.List OBugList;
       
        // Gets only the bug with ID 3
        OTDFilter["BG_BUG_ID"] = 3;

        OBugList = OBugFactory.NewList(OTDFilter.Text);
       

有没有办法在 1 到 100 之间的 ID 范围内获取错误列表。像这样:

        // Gets all the bugs between 1-100
        OTDFilter["BG_BUG_ID_MIN"] = 1;
        OTDFilter["BG_BUG_ID_MAX"] = 100;

        OBugList = OBugFactory.NewList(OTDFilter.Text);

标签: c#almhp-almopentest

解决方案


过滤1-100之间的所有缺陷的完整解决方案如下:

TDAPIOLELib.BugFactory OBugFactory = alm_core.tDConnection.BugFactory as TDAPIOLELib.BugFactory;
TDAPIOLELib.TDFilter OTDFilter = OBugFactory.Filter as TDAPIOLELib.TDFilter;
TDAPIOLELib.List OBugList;
List<DefectOutputModel> AllBugList = new List<DefectOutputModel>();
    OTDFilter.Text= @"[Filter]{
                                TableName: BUG,
                                ColumnName: BG_BUG_ID,
                                LogicalFilter: "">= 1 And <= 100"",
                                VisualFilter: "">= 1 And <= 100"",
                                SortOrder: 1,
                                SortDirection: 0,
                                NO_CASE:
                            }";
    OBugList = OBugFactory.NewList(OTDFilter.;

查询OTDFilter.Text是通过首先在 HP ALM webapp 中按 ID 过滤缺陷,然后复制过滤器查询文本并将其粘贴到此处来获得的。


推荐阅读