1

我编写了以下代码来从 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());
}
4

1 回答 1

2

TestFactory 与 TestSetFactory 不同,所以不能这样做:

ITestFactory tsTestFactory = (qcConnect.testSetFactory()).queryInterface(ITestFactory.class);

尝试使用 qcConnect.testFactory 而不是 qcConnect.testSetFactory。

于 2013-02-12T15:42:37.793 回答