2014-04-22 1 views
2

J'essaie de lier mon application avec QC et de créer des ensembles de tests dynamiques. Je suis capable de récupérer certaines données de QC en utilisant OTAClient.dll. Utilisé com4j pour convertir en interfaces java. Maintenant, j'ai une exigence de créer un nouvel ensemble de test dans le laboratoire de test QC [Essaiera d'abord les tests existants].Création d'un ensemble de tests en QC à l'aide de OTAClient.dll converti en JAR

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")); 

Le code ci-dessus est utilisé pour obtenir les détails du test. Quelqu'un peut-il aider à la création de l'ensemble de test? Merci

Répondre

1

Eh bien merci Plobpo. Pour l'instant nous avons utilisé l'index pour root et ensuite créé un dossier de test. Voici le code avec quelques améliorations supplémentaires: Comprend également l'ajout de la cible de publication qui était l'une des erreurs rencontrées dans le processus.

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

Vous pouvez faire quelque chose de semblable à cela:

  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

Merci pour l'aide Plobpo. Mais le code ne parvient pas à obtenir le nœud par chemin. Pour moi, le chemin est: Root /../ .. et puis les testSets viennent. Est-il possible d'obtenir l'ID du dossier à partir du contrôle qualité ou pouvons-nous accéder à l'ensemble de tests de manière hiérarchique? –

+0

Peut-être que vous pointez un chemin incorrect? Si vous voulez obtenir un format précis, vous pouvez faire un clic droit sur le chemin et utiliser "Rapport sélectionné". – Jacek

+0

+ Si vous voulez obtenir l'ID du dossier, vous pouvez simplement copier le répertoire entier avec les ensembles de test et le coller dans le bloc-notes :) Dernier dossier de points de paramètre Id. – Jacek

Questions connexes