2016-06-23 6 views
0

아래에서 문제를 해결하는 데 도움을 줄 수 있습니까 QC를 통해 Java를 통해 테스트 케이스를 전달하려고합니다. con4j를 사용하고 테스트 세트까지 도달했지만 테스트 케이스를 가져올 수 없습니다. 각각의 테스트 세트. 당신은 C#/vb.net이 쉽게 완료 사용하는 경우 com4jQC를 통해 Java에서 QC를 통과해야 함

import com.qc.ClassFactory; 
import com.qc.ITDConnection; 
import com.qc.ITestLabFolder; 
import com.qc.ITestSetFactory; 
import com.qc.ITestSetTreeManager; 
import com.qc.ITestSetFolder; 
import com.qc.IList; 
import com.qc.ITSTest; 
import com.qc.ITestSet; 
import com.qc.ITestFactory; 
import com4j.*; 
import com4j.stdole.*; 
import com4j.tlbimp.*; 
import com4j.tlbimp.def.*; 
import com4j.tlbimp.driver.*; 
import com4j.util.*; 
import com4j.COM4J; 
import java.util.*; 
import com.qc.IRun; 
import com.qc.IRunFactory; 


public class Qc_Connect { 

    public static void main(String[] args) { 
     // TODO Auto-generated method stub 
     String url="http://abc/qcbin/"; 
     String domain="abc"; 
     String project="xyz"; 
     String username="132222"; 
     String password="Xyz"; 
     String strTestLabPath = "Root\\Test\\"; 
     String strTestSetName = "TestQC"; 


       try{ 
      ITDConnection itd=ClassFactory.createTDConnection(); 
      itd.initConnectionEx(url); 
      System.out.println("COnnected To QC:"+ itd.connected()); 

      itd.connectProjectEx(domain,project,username,password); 

      System.out.println("Logged into QC"); 

      //System.out.println("Project_Connected:"+ itd.connected()); 


      ITestSetFactory objTestSetFactory = (itd.testSetFactory()).queryInterface(ITestSetFactory.class); 
      ITestSetTreeManager objTestSetTreeManager = (itd.testSetTreeManager()).queryInterface(ITestSetTreeManager.class); 

      ITestSetFolder objTestSetFolder =(objTestSetTreeManager.nodeByPath(strTestLabPath)).queryInterface(ITestSetFolder.class); 

      IList its1 = objTestSetFolder.findTestSets(strTestSetName, true, null); 
      //IList ls= objTestSetFolder.findTestSets(strTestSetName, true, null); 
      System.out.println("No. of Test Set:" + its1.count()); 
      ITestSet tst= (ITestSet) objTestSetFolder.findTestSets(strTestSetName, true, null).queryInterface(ITSTest.class); 
      System.out.println(tst.name()); 
      //System.out.println(its1.queryInterface(ITestSet.class).name()); 

      /* foreach (ITestSet testSet : its1.queryInterface(ITestSet.class)){ 
      ITestSetFolder tsFolder = (ITestSetFolder)testSet.TestSetFolder;  
      ITSTestFactory tsTestFactory = (ITSTestFactory)testSet.TSTestFactory; 
      List tsTestList = tsTestFactory.NewList(""); 
      }*/ 





      /* Com4jObject comObj = (Com4jObject) its1.item(0); 
      ITestSet tst = comObj.queryInterface(ITestSet.class); 
      System.out.println("Test Set Name : " + tst.name()); 
      System.out.println("Test Set ID : " + tst.id()); 
      System.out.println("Test Set ID : " + tst.status()); 
      System.out.println("Test Set ID : ");*/ 


       System.out.println(its1.count()); 
      System.out.println("TestSet Present"); 

      Iterator itr = its1.iterator(); 
      System.out.println(itr.hasNext()); 
      while (itr.hasNext()) 
      { 
       Com4jObject comObj = (Com4jObject) itr.next(); 
      ITestSet sTestSet = comObj.queryInterface(ITestSet.class); 
      System.out.println(sTestSet.name()); 
      Com4jObject comObj2 = sTestSet.tsTestFactory(); 
      ITestSetFactory test = comObj2.queryInterface(ITestSetFactory.class); 
      } 

      // ITSTest tsTest=null; 
      // tsTest. 
      //its1. 
      /* comObj = (Com4jObject) its1.item(1); 
      ITSTest tst2=comObj.queryInterface(ITSTest.class);*/ 
     // System.out.println(tst2.name()); 
     /* foreach (ITSTest tsTest : tst2) 
     { 
     IRun lastRun = (IRun)tsTest.lastRun(); 
     if (lastRun == null) 
     { 
      IRunFactory runFactory = (IRunFactory)tsTest.runFactory; 
         String date = "20160203"; 
        IRun run = (IRun)runFactory.addItem(date); 
        run.status("Pass"); 
        run.autoPost(); 
     } 

     }*/ 
       } 
     catch(Exception e){ 

      e.printStackTrace(); 
     } 
    } 

} 
+0

위의 코드를 사용하여 테스트 세트까지 도달했습니다. –

답변

0

OTA 인터페이스를 통과하는 대신 REST API에 액세스하기 위해 클라이언트를 빌드해야하는 이유는 무엇입니까?

일단 기본 클라이언트를 빌드하면 실행을 게시하고 상태를 매우 쉽게 업데이트 할 수 있습니다.

0

을 통해 품질 관리에서 테스트 케이스를 전달하는 방법을 어떤 사람은 나를 도와주세요 수 있습니다. 하지만 당신은 자바에서 일하고있다, 나는 작업을 처리하기 위해 DLL을 위의 인터페이스를 제공하는 것이 좋습니다 것입니다. com4j를 사용하는 것보다 훨씬 쉽습니다.

비슷한 검색어는 아마도 도움이 될 것입니다. 나는 com4j를 사용하는 아이디어를 떨어 뜨리고 검증 된, 안전하고 자동 복구가 가능한 아래의 스레드에서 제공되는 솔루션을 사용하도록 제안합니다.

QC API JAR to connect using java

항상 특별히 HPQC/ALM에 대한 com4j을 사용하기 어려웠했다. QC에 대한 dll이 잘못되어 특정 플랫폼에서 dll 실행을 자주 중단시키는 메모리 누수/할당 문제가 있습니다.