2013-06-12 1 views
0

Je tente d'appeler une suite de tests dans ALM par programmation. Je n'ai aucun problème à exécuter la suite de tests spécifiée sur ma machine locale lorsque j'exécute le code (lorsque ma machine fait office de testeur). Je rencontre cependant un problème lorsque je tente de pointer vers un serveur distant pour exécuter cette suite de tests. Code et message d'erreur affiché ici:Problèmes lors de l'exécution à distance de la suite de tests HP ALM

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using TDAPIOLELib; 


     // Connect to ALM 
     ITDConnection itdc = new TDConnection(); 
     itdc.InitConnectionEx(url); 
     itdc.ConnectProjectEx(domain, projectName, username, pswd); 

     if (itdc.ProjectConnected) 
     { 
      List<string> testInfo = new List<string>(); 

      string testFolder = "Root\\<Folder>\\<Folder>"; 
      testSetName = "<TestSuite>"; 

      TestSetFactory tsFactory = (TestSetFactory)itdc.TestSetFactory; 
      TestSetTreeManager tsTreeMgr = (TestSetTreeManager)itdc.TestSetTreeManager; 

      TestSetFolder tsFolder = (TestSetFolder)tsTreeMgr.get_NodeByPath(testFolder); 
      List tList = tsFolder.FindTestSets(testSetName, false, null); 
      TestSet testset = tList[1]; 

      TSScheduler scheduler = testset.StartExecution("<RemoteServerName>"); // Contain server name unless local 
      // scheduler.RunAllLocally = true; // Included when ran local 
      scheduler.Run();     
     } 

Le message d'erreur que je reçois à la ligne de déclaration 'planificateur' est "Classe non enregistrée (Exception de HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))".

J'ai enregistré OTAClient.dll sur mon ordinateur local et sur l'ordinateur sur lequel j'ai tenté d'exécuter.

Toutes les suggestions seraient appréciées.

  • Prochaines étapes
    • Appel jeune et vieux prêtre.

Répondre

2

Je compris ce que la question était. Ce serait bien s'il y avait plus de documentation disponible sur cette bibliothèque.

Vous devez définir quelques propriétés TSScheduler avant que l'exécution puisse commencer. Donc, cette ligne:

TSScheduler scheduler = testset.StartExecution("<RemoteServerName>"); // Contain server name unless local 
// scheduler.RunAllLocally = true; // Included when ran local 
scheduler.Run(); 

Est devenu ceci:

TSScheduler scheduler = testset.StartExecution(""); // Contain server name unless local 
scheduler.TdHostName = "<test_runner_name>"; 
scheduler.LogEnabled = true; 
scheduler.Run(testset.ID); 

serait également une bonne idée si vous confirmez que vous avez tous les ALM nécessaires compléments installés sur votre machine. Plus précisément, les compléments «HP Quality Center Connectivity» et «HP Quality Center Test Remote Agent». Je me suis réinstallé sur mes agents de test juste pour être sûr.

J'espère que cela aidera quelqu'un d'autre à l'avenir.

2

J'utilisais déjà

TSScheduler scheduler = testSet.StartExecution("");

Nous avions une solution de travail dans QC10, mais récemment mis à jour à QC12. Installation de la connectivité située à

yourALMURL.com/qcbin/TDConnectivity_index.html

nous a permis d'utiliser l'objet COM dans VS2013/C#, se connecter au QC, etc, mais manquerions avec la même erreur que vous aviez sur le code ci-dessus.

Classe non enregistrée (Exception de HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))

Finalement, nous avons constaté que vous devez également 'enregistrer votre client' en allant aux outils/enregistrement client:

https://yourALMURL.com/qcbin/CommonMode_index.html

Exécution IE en tant qu'administrateur, et l'installation des composants sur cette pag e. Je souhaite que cela aide quelqu'un :)

Questions connexes