如何使用JAVA OTA(COM4J)从TestResource下载文件

时间:2013-12-03 11:49:27

标签: java hp-quality-center com4j

实际上我需要使用java中的资源ID从测试资源下载XLS文件

任何人都可以帮助我吗

我尝试使用下面的代码,但是却遗漏了一些东西

    IQCResourceFolderFactory rft = tdc.queryInterface(IQCResourceFolderFactory.class)​;
    Com4jObject dfe = rft.item(3252);
    IQCResourceFactory fds = dfe.queryInterface(IQCResourceFactory.class);
    IList C = fds.newList("");
    System.out.println(C.count());

上面的代码告诉我“Com4jObject dfe = rft.item(3252);

中的空指针异常

请帮助

提前致谢

1 个答案:

答案 0 :(得分:2)

通过提供资源文件夹ID

成功从测试资源下载了所需的文件

以下是工作源代码:

ITDConnection6 QCConnection = ClassFactory.createTDConnection();
应使用QCConnection声明

ITDConnection6对象以访问所有QC属性

IQCResourceFolderFactory resourceFolderFactory = QCConnection.qcResourceFolderFactory().queryInterface(IQCResourceFolderFactory.class);
IList folders = resourceFolderFactory.newList("");
for(Com4jObject rec : folders)
{
    IQCResourceFolder resourceFolder = rec.queryInterface(IQCResourceFolder.class);
    if(resourceFolder.id().toString().equals(properties.getProperty("ResourceFolderID")))
    {   
        Com4jObject objResourceFactory = resourceFolder.qcResourceFactory();
        IQCResourceFactory resourceFactory = objResourceFactory.queryInterface(IQCResourceFactory.class);
        IList resources = resourceFactory.newList("");
         for(Com4jObject objResource : resources)
         {
                IQCResource resource  = objResource.queryInterface(IQCResource.class);  ;
                IResourceStorage resourceStorage = resource.queryInterface(IResourceStorage.class);                     
                resourceStorage.downloadResource("D:\\", true);
         }
    }
}