【问题标题】:How to get a list of defects in QC11.0 via C# OTA using BugFilter如何使用 BugFilter 通过 C# OTA 获取 QC11.0 中的缺陷列表
【发布时间】:2012-01-26 19:56:25
【问题描述】:

我已通过 OTA 接口使用 VBscript 成功连接到 QC。在 VbScript 中,我有以下代码来过滤缺陷并将它们加载到列表中。

BugFilter.Filter("BG_STATUS") = "Not Canceled and NOT Closed" 
BugFilter.Filter("BG_PROJECT") = "Business*"


Set BugList = BugFilter.NewList()

以上内容在 Vbscript 中完美运行。

在 C#.NET (4.0) 中,我能够成功连接到 QC,但是当我尝试应用过滤器时,它给了我一个错误..

TDConnection qcc = new TDConnection();
qcc.InitConnectionEx(sr);

qcc.ConnectProjectEx("XXXX", "------", "----", "-----");

            if (qcc.Connected)
            {
                Console.WriteLine("connected");
                BugFactory bf = (BugFactory)qcc.BugFactory;



                bf.Filter["BG_STATUS"] = "Not Canceled and NOT Closed";
                bf.Filter["BG_PROJECT"] = "Business*";

                List bugs = (List)bf.NewList(bf.Filter); 

在最后一行代码中,它给了我以下错误“无法转换参数 0 以调用 NewList。”

我对 C# 比较陌生,有人可以在这里帮助我吗?

【问题讨论】:

  • NewList 电话的详细信息是什么?它采用什么类型作为参数,返回类型是什么?
  • 它返回一个列表并将“字符串过滤器”作为参数。List NewList(string Filter);
  • 我认为将字符串数组(看起来像)传递给函数NewList 会导致异常。它说它需要一个字符串。您可能想尝试一个字符串,看看会发生什么。

标签: c# ota hp-quality-center


【解决方案1】:

试试bg.Filter.text()

你需要检查方法,因为我是在 java 中做的。但是有一个叫这个名字的方法。我通常是这样的:

List bugs = (List)bg.NewList();

【讨论】:

    【解决方案2】:

    我通常使用过滤器对象的 .Text 属性而不是过滤器对象本身将字符串传递到错误工厂。

    例如,我已经成功地处理了这样的过滤:

    var tdFilter = (TDFilter)bf_filter;
    tdFilter["BG_STATUS"] = "Not Canceled and NOT Closed";
    tdFilter["BG_PROJECT"] = "Business*";
    var bugs = bf.NewList(tdFilter.Text);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-12
      • 1970-01-01
      相关资源
      最近更新 更多