2013-06-12 5 views
0

Я пытаюсь программно вызвать программный пакет в ALM. У меня нет проблемы с запуском указанного набора тестов на моей локальной машине, когда я выполняю код (когда моя машина действует как тестовый бегун). Однако я сталкиваюсь с проблемой, когда пытаюсь указать на удаленный сервер для запуска указанного набора тестов. Код и сообщение об ошибке размещены здесь:Проблемы с выполнением тестового набора 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();     
     } 

Сообщение об ошибке я получаю в «планировщик» декларации линии «Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))».

Я зарегистрировал OTAClient.dll как на своем локальном компьютере, так и на машине, на которой я попытался выполнить.

Любые предложения будут оценены.

  • Следующие шаги
    • вызов молодой и старый священник.

ответ

2

Я понял, что этот вопрос. Было бы неплохо, если бы в этой библиотеке было больше документации.

Перед началом исполнения вам необходимо установить несколько свойств TSScheduler. Так эта линия:

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

Стала это:

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

Также было бы хорошей идеей, если вы убедитесь, что у вас есть все необходимые ALM надстройки, установленные на вашем компьютере. В частности, надстройки «HP Quality Center Connectivity» и «HP Quality Center System Remote Remote Agent». Чтобы проверить это, я снова установил свои тестовые агенты.

Надеюсь, это поможет кому-то еще в будущем.

2

Я уже использовал

TSScheduler scheduler = testSet.StartExecution("");

У нас был рабочий раствор в QC10, но недавно повышен до QC12. Установка соединения, расположенного на

yourALMURL.com/qcbin/TDConnectivity_index.html

позволило нам использовать объект COM в VS2013/C#, подключение к QC и т.д., но потерпит неудачу с такой же ошибкой вы имели в коде выше.

Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))

В конце концов, мы обнаружили, что вы также должны 'зарегистрировать клиента', перейдя к инструментам/регистрации клиента:

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

Запуск IE в качестве администратора и установки компонентов на этом вол е.

Я надеюсь, что это кому-то поможет :)