全て、
私はcom4jを使用してQualityCenterを操作しており、テストプランとラボ、ネストされたフォルダー、および両方の実際のアイテムを正常に作成できます。
私は現在、テストに設計ステップを追加しようとしています。例:
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の例では、ベースファクトリが使用されているため、上記の試みは...
これは、ファクトリメソッドが利用できるいくつかの場所の1つですが、明示的なインターフェイスはないようです。例:
ITestSet ts; ts.tsTestFactory() // no ITSTestFActory interface exists...
ありがたいことに受け取ったポインタ、
サイモン