2014-06-09 3 views
0

Java에서 HP QC의 테스트 케이스에 액세스하고 수정하려고합니다. 코드가 성공적으로 실행되고 있지만 Step, status, Exec 날짜는 업데이트되지 않습니다. 테스트 실행하고 생성 된 각각의 단계 : 여기 내 당신은 개별적으로 각 항목에 post()를 호출 할 필요가 코드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())); 
} 

답변

0

입니다. 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(); 
} 
+0

감사합니다. 그것은 효과가 있었다. –