我编写了以下代码以从QC检索测试用例的列表,但是tsTestFactory
为空,而当我评估qcConnect.testSetFactory()
时,它将返回Com4j对象。
我在这里做错了什么
ITestSetFactory tsFactory = (qcConnect.testSetFactory()).queryInterface(ITestSetFactory.class);
ITestSetTreeManager tsTreeMgr = (qcConnect.testSetTreeManager()).queryInterface(ITestSetTreeManager.class);
ITestSetFolder tsFolder = (tsTreeMgr.nodeByPath(nodePath)).queryInterface(ITestSetFolder.class);
IList its1 = tsFolder.findTestSets(testSetName, false, "");
Iterator itr = its1.iterator();
while (itr.hasNext())
{
Com4jObject comObj = (Com4jObject) itr.next();
ITestSet sTestSet = comObj.queryInterface(ITestSet.class);
System.out.println(sTestSet.name());
System.out.println(sTestSet.id());
ITestFactory tsTestFactory = (qcConnect.testSetFactory()).queryInterface(ITestFactory.class);
ITSTest sTSTest = (tsTestFactory.item(sTestSet.id())).queryInterface(ITSTest.class);
System.out.println(sTSTest.name());
}
最佳答案
TestFactory与TestSetFactory不同,因此您不能这样做:
ITestFactory tsTestFactory =(qcConnect.testSetFactory())。queryInterface(ITestFactory.class);
尝试使用qcConnect.testFactory而不是qcConnect.testSetFactory。