当前位置: 首页 > 知识库问答 >
问题:

使用com4j在QC中过滤并创建新列表后,访问每个错误项

寇和璧
2023-03-14

我能够使用com4j连接到hpqc,也能够过滤缺陷。现在我需要访问错误列表中的每一项。

我可以访问单个缺陷,如:

IBug bug = bugfactory.item(55203).queryInterface(IBug.class);
System.out.println(bug.field("BG_DEV_COMMENTS"));

但我希望能够通过列表访问所有缺陷。我就是这么做的:

IBugFactory bugfactory = td.bugFactory().queryInterface(IBugFactory.class);
ITDFilter fil = bugfactory.filter().queryInterface(ITDFilter.class);
fil.filter("BG_USER_13","Not Production");
IList buglist = fil.newList();

在这之后我想访问每个列表项所以我做了

for(int i=1;i<=buglist.count();i++{
 IBug bug1 = buglist.item(i)  // this statement is not working --
}

我不能使用IBug bug1=buglist.item(i). query界面(IBug.class)语句。

访问号手的每一项并将其分配给Bug的正确代码应该是什么?

共有1个答案

勾长卿
2023-03-14

解决了!解决方案可能对某人有帮助!我就是这么做的!

IBugFactory bugfactory = td.bugFactory().queryInterface(IBugFactory.class);
ITDFilter fil = bugfactory.filter().queryInterface(ITDFilter.class);
fil.filter("BG_USER_13","Not Production"); //any filter value
IList buglist = fil.newList();      
Iterator itr = buglist.iterator();
while(itr.hasNext()){
   Com4jObject comobj = (Com4jObject)itr.next();
   bug = comobj.queryInterface(IBug.class);
       System.out.println(bug.field("BG_BUG_ID").toString());
}

这给了ne一个错误列表中所有缺陷的错误ID!

 类似资料:
  • 我编写了以下代码来从QC检索测试用例列表,但是为空,而当我评估它返回一个Com4j对象。 我做错什么了

  • 我正在寻找在Java-8中过滤列表的最干净的方法,用一个简单的lambda ,而不用创建一个新的列表。 特别是,这种解决方案不合适,因为返回一个新的: 注意,下面的解决方案也不起作用,因为列表应该< code>clear()其原始值(但是很明显,如果您在过滤之前清除它,就没有什么可过滤的了...): (此外,我更喜欢不使用第三方库或框架的解决方案)

  • 16.3. 过滤已访问列表 你已经熟识了 应用列表遍历来过滤列表。 这里介绍的是达到相同效果的另一种令很多人感觉清晰的实现方法。 Python 有一个内建 filter 函数,它接受两个参数:一个函数和一个列表,返回一个列表。[7] 作为第一个参数传递给 filter 的函数本身应接受一个参数,filter 返回的列表将会包含被传入列表参数传递给 filter 所有可以另函数返回真(true)的元

  • 我有一个数据框,其中一些单元格包含多个值的列表。我不想在一个单元格中存储多个值,而是希望扩展dataframe,以便列表中的每个项都有自己的行(在所有其他列中都有相同的值)。因此,如果我有: 如何转换为长格式,例如: 索引并不重要,可以将现有列设置为索引,而最终的顺序并不重要。

  • 好吧,我想强调这一点,并将其全部带入此线程,因为其余线程没有结论性的答案,因此在跳入它们之前,以下是我提到的线程: Adt 不会创建默认的问候世界,但命令行会创建 [已解决]日食在创建新项目/活动时行为不同 过去几天以来,ADT的行为有点古怪。我总是更新我的SDK,所以我经常运行SDK管理器并下载所有更新。最近我注意到,如果我创建一个新的android应用程序项目,它不会创建一个默认的MainAc

  • 因此,筛选后的列表将只包含具有选定名称的项。 下面的代码几乎实现了我想要的一切。但是,也有一种边缘情况,即它不能按预期工作。例如,我双击带有“name=john”的person。过滤列表将过滤所有姓名为“John”的人。现在,如果我将过滤列表中的一个人名更改为“Tim”。此人仍保留在筛选列表中。理想情况下,我希望它自动移除。但我做不到。 我认为我没有正确地使用,因为我觉得我在编写多余的代码,应该有