HPQC C#创建测试计划测试
在QC集成工具上工作,在测试计划中创建测试时遇到问题-不幸的是,API是为VB6编写的,我在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
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;
}