2014-04-22 3 views
2

내 응용 프로그램을 QC와 연결하고이를 통해 동적 테스트 세트를 만들려고합니다. OTAClient.dll을 사용하여 일부 QC 데이터를 검색 할 수 있습니다. java 인터페이스로 변환하기 위해 com4j를 사용했습니다. 이제는 QC 테스트 랩에서 새로운 테스트 세트를 만들 필요가 있습니다. [기존 테스트를 먼저 시도 할 것입니다].OTAClient.dll을 Jar로 변환 한 QC의 테스트 세트 생성

ITDConnection QCConnection = ClassFactory.createTDConnection(); 
    QCConnection.initConnection("http://server/qcbin", "division", ""); 
    System.out.println("Is connected: "+QCConnection.connected()); 
    QCConnection.connectProject("domain", "username", "password"); 
    System.out.println("Database entered: "+QCConnection.dbName()); 
    QCConnection.bugFactory().queryInterface(ITestFactory.class); 
    ITestSetFactory sTestSetFactory = (QCConnection.testSetFactory()).queryInterface(ITestSetFactory.class); 
    ITestSet sTestSet = (sTestSetFactory.item(14002)).queryInterface(ITestSet.class); 
    System.out.println("Test details by id: "+sTestSet.checkTestInstances("testid")); 

위의 코드는 테스트 세부 정보를 얻는 데 사용됩니다. 누구든지 테스트 세트를 만들 수 있습니까? 감사합니다 이것에

답변

1

음 감사 Plobpo. 지금은 root 용 인덱스를 사용하고 테스트 폴더를 만들었습니다. 다음은 몇 가지 추가 개선 된 코드입니다. 프로세스에서 직면 한 오류 중 하나 인 릴리스 대상을 추가하는 것도 포함됩니다.

ITDConnection QCConnection = ClassFactory.createTDConnection(); 
QCConnection.initConnection("http://nceqcwebp1/qcbin", "E_TRAVEL", ""); 
QCConnection.connectProject("ETVNRE", "vigupta", "Amadeus!!"); 
ITestSetTreeManager treeManager = QCConnection.testSetTreeManager().queryInterface(ITestSetTreeManager.class); 
ITestSetFolder baseFolder = treeManager.root().queryInterface(ITestSetFolder.class); 
baseFolder.addNode("Automatic Test Creation"); 
ITestSetFolder testSetFolder = treeManager.nodeById(baseFolder.findChildNode("Automatic Test Creation").nodeID()).queryInterface(ITestSetFolder.class); 

ITestSetFactory factory = testSetFolder.testSetFactory().queryInterface(ITestSetFactory.class); 
ITestSet testSet = factory.addItem(new Variant(Variant.Type.VT_NULL)).queryInterface(ITestSet.class); 
testSet.name("Automatic Test Set"); 
testSet.status("Open"); 

testSet.field("CY_USER_04", "no schema used"); 
testSet.field("CY_USER_07", "Non-regression"); 
testSet.post(); 
testSet.unLockObject(); 
2
당신은 비슷한 뭔가를 할 수

:

  ITestSetTreeManager treeManager = connection.testSetTreeManager().queryInterface(ITestSetTreeManager.class); 
      ITestSetFolder testSetFolder = treeManager.nodeByPath("Path/where/test/set/should/be/placed").queryInterface(ITestSetFolder.class); 
      ITestSetFactory factory = testSetFolder.testSetFactory().queryInterface(ITestSetFactory.class); 
      ITestSet testSet = factory.addItem(new Variant(Variant.Type.VT_NULL)).queryInterface(ITestSet.class); 
      testSet.name("testSetName"); 
      testSet.status("Open"); 
      testSet.post(); 
      testSet.unLockObject(); 
+0

도움 주셔서 감사합니다 Plobpo. 그러나 코드는 경로별로 노드를 가져 오지 못합니다. 나에게 경로는 다음과 같다 : 루트 /../ .. 그리고 나서 testSet이 나온다. 어쨌든 QC에서 폴더 아이디를 얻는가, 아니면 계층 적 방식으로 테스트 세트에 갈 수 있습니까? –

+0

아마도 잘못된 경로를 가리키고 있을까요? 정확한 형식을 원한다면 경로를 마우스 오른쪽 버튼으로 클릭하고 "선택한 보고서"를 사용할 수 있습니다. – Jacek

+0

+ 폴더 ID를 얻으려면 테스트 세트가있는 전체 디렉토리를 복사하여 메모장에 붙여 넣을 수 있습니다. 마지막 매개 변수는 폴더 ID입니다. – Jacek