2

我正在尝试将附件添加到使用 Com4J API 从我的 Java 代码运行的 QC 测试实验室测试用例中。我能够成功运行,但是在下面的代码中添加附件时,会为“IAttachment attach = attachfac.addItem(null).queryInterface(IAttachment.class);”抛出无效参数。在这种情况下,additem 需要 Java 项目对象。我也尝试通过 addItem(""),但随后 attach.Type(1) 失败,原因是:- 无法更改附件类型。谁能帮我解决这个问题:

 IBaseFactory obj2 = testset.tsTestFactory().queryInterface(IBaseFactory.class);
 IList tstestlist = obj2.newList("");
  for(Com4jObject obj3:tstestlist){
   ITSTest tstest = obj3.queryInterface(ITSTest.class);
    if(tstest.name().contentEquals("[1]TC1")){
    System.out.println("TC found");
    IRunFactory runfactory = tstest.runFactory().queryInterface(IRunFactory.class);
    IRun run=runfactory.addItem("RunNew").queryInterface(IRun.class);
    run.status("Passed");
    IAttachmentFactory attachfac = run.attachments().queryInterface(IAttachmentFactory.class);
    IAttachment attach = attachfac.addItem("").queryInterface(IAttachment.class);
    attach.type(1);
    attach.fileName("Path to File TC1");
    attach.post();
    run.post();.
4

1 回答 1

1
String fileName = new File(Attachment).getName();
String folderName = new File(Attachment).getParent();

try{
        IAttachmentFactory attachfac = tsteststeps.attachments().queryInterface(IAttachmentFactory.class);
    IAttachment attach = attachfac.addItem(fileName).queryInterface(IAttachment.class);
        IExtendedStorage extAttach = attach.attachmentStorage().queryInterface(IExtendedStorage.class);
    extAttach.clientPath(folderName);  
    extAttach.save(fileName, true);
    attach.description(Actual);
    attach.post();
    attach.refresh();                               
}catch(Exception e) {
    System.out.println("QC Exceptione : "+e.getMessage());
}
于 2013-11-11T13:45:42.637 回答