全部,
我正在使用 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...
感激地收到任何指点,
西蒙