【问题标题】:Using com4j and Quality Center to add design steps to test使用 com4j 和 Quality Center 添加设计步骤进行测试
【发布时间】:2015-09-15 21:38:01
【问题描述】:

全部,

我正在使用 com4j 来操作 Quality Center,并且可以成功地在两者中创建测试计划和实验室、嵌套文件夹和实际项目。

我现在正在尝试将设计步骤添加到测试中,例如:

ITestFactory iTestFactory = sNode.testFactory().queryInterface(ITestFactory.class);
Com4jObject oTest = iTestFactory.addItem(name);
ITest iTest = oTest.queryInterface(ITest.class);
iTest.field("TS_DESCRIPTION", description);
iTest.field("TS_STATUS", "Design");
iTest.field("TS_DEV_COMMENTS", comments);
iTest.post();

这一切都很好,然后我尝试这样做:

IBaseFactory iFactory = iTest.designStepFactory().queryInterface(IBaseFactory.class);

IStep iStep = iFactory.addItem(1).queryInterface(IStep.class); // ends up null

iStep.field("ST_DESCRIPTION", "Step desc 1");
iStep.field("ST_EXPECTED", "Expected 1");
iStep.post();

但 iStep 总是以 null 结束。没有 IDesignStepFactory 接口,因此我试图在 queryInterface 调用中使用基础工厂。

检查 QC 帮助文件和 otaclient.dll 似乎表明没有 IDesignStepFactory 接口之类的东西,并且在(某些)VB 示例中使用了基础工厂,因此我在上面进行了尝试...

这是工厂方法可用的几个地方之一,但似乎没有明确的接口,例如:

ITestSet ts; ts.tsTestFactory() // no ITSTestFActory interface exists...

任何指点,感激不尽,

西蒙

【问题讨论】:

    标签: hp-quality-center com4j


    【解决方案1】:

    作为一项规则,IBaseFactory.addItem 应该接收相当于 DBNull 的参数,而不是其他任何参数,在您发布的代码中它是“1”。 除非在相关实体的文档中明确指定它可以接受的其他值的集合及其用途。

    在设计步骤的情况下,我猜它应该是 DBNull。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多