【问题标题】:How to add a test step in HP QC from Java如何从 Java 在 HP QC 中添加测试步骤
【发布时间】:2014-12-06 04:54:16
【问题描述】:

我正在尝试通过 JAVA 访问和修改 HP QC 中的测试用例。代码运行成功,但步骤、状态、执行日期未更新。 这是我的代码

for (Com4jObject obj : testInstances)  
{  
  ITSTest testInstance = obj.queryInterface(ITSTest.class);  
  ITSTest tstest = obj.queryInterface(ITSTest.class);

  IRunFactory runfactory = tstest.runFactory().queryInterface(IRunFactory.class);
  IRun run=runfactory.addItem("RunNew").queryInterface(IRun.class);
  Com4jObject step = run.stepFactory();
  // run.field("Step #", "Step1");
  run.status("Passed");
  // Com4jObject steps = run.stepFactory();
  // System.out.println(run.field("Actual Result"));
  // run.field("Actual Result", "As Expected. Please find attachment with TC001");
  if(tstest.name().contains("[1]TC001"))
  {
    try {
      String fileName = new File(files.get(i)).getName();
      String folderName = new File(files.get(i)).getParent();
      System.out.println("FILE: "+fileName);
      System.out.println("FOLDER: "+folderName);

      IAttachmentFactory attachfac = tstest.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());
    }
  }

  run.post();
  //AppLog.info("  Test Instance: %s", testInstance.name());
  System.out.println(("Test Instance: %s"+ testInstance.name()));
} 

【问题讨论】:

    标签: java hp-quality-center


    【解决方案1】:

    您需要在每个项目上分别调用post():测试运行和每个创建的步骤。 C# 中的示例,从您检索步骤工厂的位置开始。

    // Create test run
    var oRunInstance = (QcClient.RunFactory)oTsTest.RunFactory;
    var oRun = (QcClient.Run)oRunInstance.AddItem("Performance Test");
    oRun.Status = "Passed";
    oRun.Post();
    oRun.Refresh();
    
    // Create test run steps
    var oTest = (QcClient.Test)oTsTest.Test;
    var tsDesignStepList = oTest.DesignStepFactory.NewList("");
    var oStepFactory = (QcClient.StepFactory)oRun.StepFactory;
    foreach (QcClient.DesignStep oDesignStep in tsDesignStepList)
    {
      var oStep = (QcClient.Step)oStepFactory.AddItem(oDesignStep.StepName);
      oStep.Status = "Passed";
      oStep.Post();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多