hpqc

com4j

Quality Center (solution HP permettant de gérer la quasi-intégralité des activités de tests) propose une API en Visual Basic, on retrouve d’ailleurs très souvent des bouts de code dans des macros Excel. L’objectif ici est de pouvoir se connecter facilement à Quality Center depuis un programme Java.

La solution la plus rapide et la plus simple est l’utilisation de com4j. Il s’agit d’une API supportée par le très actif Kohsuke Kawaguchi qui permet l’interopérabilité avec COM (Microsoft Component Object Model).

Pour commencer, il faut récupérer et dé-zipper le projet com4j puis exécuter la commande suivante :

java -jar tlbimp.jar -o client -p com.wordpress.doktapepa.qc.client "C:\Program Files\Fichiers communs\Mercury Interactive\Quality Center\OTAClient.dll

Vous pourrez ensuite importer les classes générée dans un projet Java classique afin d’utiliser l’API Quality Center.

Voici un court exemple pour récuperer les bugs (ou defects) :

// Initialize Quality Center connection
ITDConnection connection = ClassFactory.createTDConnection();
connection.initConnectionEx("http://localhost:8081/qcbin");
connection.connectProjectEx(domainName, projectName, userName, userPassword);

// Retrieve the bug factory
IBugFactory bugFactory = connection.bugFactory().queryInterface(IBugFactory.class);

// Retrieve all bugs
IList allBugs = bugFactory.newList();

// Retrieve filtered bugs
ITDFilter filter = bugFactory.filter().queryInterface(ITDFilter.class);
filter.filter("BG_MY_CUSTOM_FIELD", "TOTO");
IList filteredBugs = filter.newList();

System.out.println(String.format("%s bug(s) found", allBugs.count()));

// Iterate on bugs
Iterator iterator = allBugs.iterator();
while(iterator.hasNext()){
  IBug bug = iterator.next().queryInterface(IBug.class);

  // Few accessible properties
  bug.id () 
  bug.summary()
  bug.status()
  bug.priority()
  bug.field("BG_MY_CUSTOM_FIELD")
  bug.detectedBy()
  bug.assignedTo()
}

J’avais à une époque créé un bout de code pour créer de manière distante des objets Requirement dans Quality Center depuis un projet de modélisation MagicDraw. J’ajouterai surement quelques exemple très bientôt!

A vous de jouer !

Publicités