使用Com4j API向QC测试用例添加附件时出现问题

时间:2012-06-11 17:58:38

标签: java qc com4j

我正在尝试使用Com4J API从我的Java代码添加到QC Test LAB测试用例的附件。我能够创建一个成功的运行,但是在代码下面添加附件会为“IAttachment attach = attachfac.addItem(null).queryInterface(IAttachment.class);”抛出无效参数。在这种情况下,additem需要Java Item Object。我还尝试传递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();.

1 个答案:

答案 0 :(得分: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());
}