【问题标题】:Having troubles executing HP ALM test suite remotely远程执行 HP ALM 测试套件时遇到问题
【发布时间】:2013-06-12 20:50:21
【问题描述】:

我正在尝试以编程方式调用 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。

任何建议将不胜感激。

  • 接下来的步骤
    • 请一位年轻和年长的牧师。

【问题讨论】:

    标签: c# api ota hp-quality-center


    【解决方案1】:

    我发现了问题所在。如果这个库上有更多可用的文档,那就太好了。

    您需要先设置一些 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 Test Remote Agent”插件。为了确定,我重新安装了我的测试代理。

    希望这对将来的其他人有所帮助。

    【讨论】:

      【解决方案2】:

      我已经在使用了

      TSScheduler scheduler = testSet.StartExecution("");

      我们在 QC10 中有一个可行的解决方案,但最近升级到了 QC12。安装位于

      的连接

      yourALMURL.com/qcbin/TDConnectivity_index.html

      允许我们在 VS2013 / C# 中使用 COM 对象,连接到 QC 等,但会失败并出现与上述代码相同的错误。

      类未注册(HRESULT 异常:0x80040154 (REGDB_E_CLASSNOTREG))

      最终我们发现您还需要通过工具/客户端注册来“注册您的客户”:

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

      以管理员身份运行 IE,并在该页面上安装组件。

      我希望这对某人有帮助:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-07
        • 1970-01-01
        • 2020-05-27
        相关资源
        最近更新 更多