HPQC C#创建测试计划测试

HPQC C#创建测试计划测试,c#,hp-quality-center,C#,Hp Quality Center,在QC集成工具上工作,在测试计划中创建测试时遇到问题-不幸的是,API是为VB6编写的,我在C#中工作 以下是到目前为止我得到的信息: private void HPQC_Create_Test_Plan_Test(TDConnectionClass tdConnection, string ParentFolderPath, string TestName) { try { TreeManager treeM = (TreeMan

在QC集成工具上工作,在测试计划中创建测试时遇到问题-不幸的是,API是为VB6编写的,我在C#中工作

以下是到目前为止我得到的信息:

private void HPQC_Create_Test_Plan_Test(TDConnectionClass tdConnection, string ParentFolderPath, string TestName)
    {
        try
        {
            TreeManager treeM = (TreeManager)tdConnection.TreeManager;
            ISysTreeNode ParentFolder = (ISysTreeNode)treeM.get_NodeByPath(ParentFolderPath);
            TestFactory TestF = (TestFactory)tdConnection.TestFactory;

            Test TstTest = (Test)TestF.AddItem(System.DBNull.Value);
            TstTest.Name = TestName;
            TstTest.Type = "MANUAL";
            TstTest.Post();

            HPQC_Status_Test_Plan.Text = "Test " + TestName + " created.";

            tdConnection.Logout();
            tdConnection.Disconnect();
            tdConnection = null;

        }
        catch (Exception ex)
        {
            HPQC_Status_Test_Plan.Text = "Test Creation Failed.";
            Console.WriteLine("[Error] " + ex);

            tdConnection.Logout();
            tdConnection.Disconnect();
            tdConnection = null;

        }
    }
代码在帖子中出现了一个简单的“未能发布”错误,我不知道为什么

以下是VB6中的API示例:

Public Sub AddTest(FolderName$, TestName$)
创建新的测试。 本例假定包含 新测试直接位于根“Subject”文件夹下

端接头


提前谢谢

给了它一个周末来仔细考虑,并意识到上面的代码在树中没有链接到的父属性。不幸的是,由于某种原因,C#中的TreeManager没有TreeRoot可供使用

通过手动获取原型的路径,用户必须在文本框中输入父路径,如“Root\Subject”

关键属性是“TS_Subject”,它是要将测试附加到的文件夹的节点ID

以下代码适用于我:

private void HPQC_Create_Test_Plan_Test(TDConnectionClass tdConnection, string ParentFolderPath, string TestName)
    {
        try
        {
            TreeManager treeM = (TreeManager)tdConnection.TreeManager;
            ISysTreeNode ParentFolder = (ISysTreeNode)treeM.get_NodeByPath(ParentFolderPath);
            TestFactory TestF = (TestFactory)tdConnection.TestFactory;

            Test TstTest = (Test)TestF.AddItem(System.DBNull.Value);
            TstTest.Name = TestName;
            TstTest.Type = "MANUAL";
            TstTest["TS_SUBJECT"] = ParentFolder.NodeID;
            TstTest.Post();

            HPQC_Status_Test_Plan.Text = "Test " + TestName + " created.";

            tdConnection.Logout();
            tdConnection.Disconnect();
            tdConnection = null;

        }
        catch (Exception ex)
        {
            HPQC_Status_Test_Plan.Text = "Test Creation Failed.";
            Console.WriteLine("[Error] " + ex);

            tdConnection.Logout();
            tdConnection.Disconnect();
            tdConnection = null;

        }
    }

我有一些类似的东西,但更适合生成文件夹结构。 我们在QC中的根文件夹是“Subject”,但您只需更改它,即可创建所需的特定文件夹。另外,不需要设置[“TS_SUBJECT”]标题,因为我们使用叶节点上的节点将测试创建到指定的文件夹中

private TestFactory addSubjectTreeStructure(String subjectField)
    {
        String folderRootString = subjectField;
        folderRootString = folderRootString.Replace("\\", "/");
        String[] folders = folderRootString.Split('/');

        // Test Plan Tree Manager
        TreeManager treeMgr = tdc.TreeManager;
        SubjectNode subjectNode = treeMgr.get_NodeByPath("Subject");

        ISysTreeNode node = (ISysTreeNode)subjectNode;

        // Creating the folders in test plan.
        for (int i = 0; i < folders.Length; i++)
        {
            try
            {
                node = node.FindChildNode(folders[i]);
            }
            catch (Exception ex)
            {
                node = node.AddNode(folders[i]);
                Console.WriteLine(ex.Message + ".\nChild not found. Adding new node: " + folders[i]);
            }
        }

        // Set the leaf folder and then returning the TestFactory from where all test cases will be generated from.
        SubjectNode folder = treeMgr.get_NodeById(node.NodeID);
        return folder.TestFactory;
    }
私有测试工厂addSubjectTreeStructure(字符串subjectField)
{
String folderRootString=主题字段;
folderRootString=folderRootString.Replace(“\\”,“/”);
String[]folders=folderRootString.Split('/');
//测试计划树管理器
TreeManager treeMgr=tdc.TreeManager;
SubjectNode SubjectNode=treeMgr.get_NodeByPath(“Subject”);
ISysTreeNode=(ISysTreeNode)subjectNode;
//在测试计划中创建文件夹。
对于(int i=0;i
然后,通过使用返回的测试工厂,您可以在此文件夹中创建测试

private TestFactory addSubjectTreeStructure(String subjectField)
    {
        String folderRootString = subjectField;
        folderRootString = folderRootString.Replace("\\", "/");
        String[] folders = folderRootString.Split('/');

        // Test Plan Tree Manager
        TreeManager treeMgr = tdc.TreeManager;
        SubjectNode subjectNode = treeMgr.get_NodeByPath("Subject");

        ISysTreeNode node = (ISysTreeNode)subjectNode;

        // Creating the folders in test plan.
        for (int i = 0; i < folders.Length; i++)
        {
            try
            {
                node = node.FindChildNode(folders[i]);
            }
            catch (Exception ex)
            {
                node = node.AddNode(folders[i]);
                Console.WriteLine(ex.Message + ".\nChild not found. Adding new node: " + folders[i]);
            }
        }

        // Set the leaf folder and then returning the TestFactory from where all test cases will be generated from.
        SubjectNode folder = treeMgr.get_NodeById(node.NodeID);
        return folder.TestFactory;
    }