【问题标题】:How to download a file from TestResource using JAVA OTA (COM4J)如何使用 JAVA OTA (COM4J) 从 TestResource 下载文件
【发布时间】:2013-12-19 11:06:53
【问题描述】:
其实我需要使用java中的资源ID从Test Resource下载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); 中的空指针异常
请帮忙
提前致谢
【问题讨论】:
标签:
java
hp-quality-center
com4j
【解决方案1】:
通过提供资源文件夹 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);
}
}
}