📄 testsetobjects1.cpp
字号:
// TestSetObjects1.cpp: implementation of the CTestSetObjects class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "CXML2ITEMS.h"
#include "TestSetObjects1.h"
#include "XMLFile.h"
#include "TestCaseObjects.h"
#include "TestRunObjects.h"
#include "TestStepObjects.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
IMPLEMENT_SERIAL(CTestSetObject, CObject, 0)
CTestSetObject::CTestSetObject()
{
}
CTestSetObject::CTestSetObject(MSXML2::IXMLDOMNodePtr PtrNode)
{
p_TestSetNode = PtrNode;
}
CTestSetObject::~CTestSetObject()
{
p_TestSetNode = NULL;
}
void CTestSetObject::FormatMyObject(CString& str)
{
str.Format(_T("{%s, %s, %s, %s, %s}"),
(LPCTSTR)m_strCycleID,
(LPCTSTR)m_strName,
(LPCTSTR)m_strTestSetDesc,
(LPCTSTR)m_strTestSetFolder,
(LPCTSTR)m_strProject);
}
void CTestSetObject::Serialize(CArchive& ar)
{
//WORD w;
if (ar.IsStoring())
{
//w = (WORD)m_int;
ar << m_strCycleID;
ar << m_strName;
ar << m_strTestSetDesc;
ar << m_strTestSetFolder;
ar << m_strProject;
}
else
{
//ar >> w;
//m_int = w;
ar >> m_strCycleID;
ar >> m_strName;
ar >> m_strTestSetDesc;
ar >> m_strTestSetFolder;
ar >> m_strProject;
}
}
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CTestSetObjects::CTestSetObjects(CXMLFile* p_XMLFile)
{
p_theXMLFile = p_XMLFile;
MSXML2::IXMLDOMNodePtr PtrNode;
char* pNode="TestSet";
p_theXMLFile->GetNode(pNode, PtrNode);
if(PtrNode!=NULL) //TestSet节点非空
{
while(PtrNode!=NULL)
{
CTestSetObject* p_TestSet = new CTestSetObject(PtrNode);
p_TestSet->m_strCycleID = ::SysAllocString(PtrNode->Getattributes()->getNamedItem("ID")->text);
p_TestSet->m_strName = ::SysAllocString(PtrNode->Getattributes()->getNamedItem("Name")->text);
p_TestSet->m_strTestSetDesc = ::SysAllocString(PtrNode->Getattributes()->getNamedItem("Descript")->text);
CString str = ::SysAllocString(PtrNode->GetparentNode()->Getattributes()->getNamedItem("DomainName")->text);
str += ":";
str += PtrNode->GetparentNode()->Getattributes()->getNamedItem("ProjectName")->text;
p_TestSet->m_strProject = str;
// p_TestSet->m_strProject = ::SysAllocString(PtrNode->Getattributes()->getNamedItem("Project")->text);
CString strtemp = ::SysAllocString(PtrNode->Getattributes()->getNamedItem("TestSetFolderPath")->text);
strtemp.TrimLeft("Root\\");
p_TestSet->m_strTestSetFolder = strtemp;
// CString str = p_TestSet->m_strCycleID;
CTestCaseObjects* p_TestCases = new CTestCaseObjects(PtrNode); //构造TestCase集合
p_TestSet->p_objTestCaseArray = p_TestCases;
m_testsetobArray.Add(p_TestSet);
PtrNode = PtrNode->GetnextSibling();
}
return;
}
AfxMessageBox("无测试计划TestSet节点!");
return;
}
CTestSetObjects::~CTestSetObjects()
{
for (int n = 0; n < m_testsetobArray.GetSize(); n++)
{
int m = (m_testsetobArray[n]->p_objTestCaseArray->m_testcaseobArray).GetSize();
for (int k = 0; k < m; k++)
{
int x = (m_testsetobArray[n]->p_objTestCaseArray->m_testcaseobArray[k]->p_objTestRunArray->m_testrunobArray).GetSize();
for (int p = 0; p < x; p++)
{
delete m_testsetobArray[n]->p_objTestCaseArray->m_testcaseobArray[k]->p_objTestRunArray->m_testrunobArray[p]->p_objTestStepArray; //删除teststep集合类
}
delete m_testsetobArray[n]->p_objTestCaseArray->m_testcaseobArray[k]->p_objTestRunArray; //删除testrun集合类
//delete m_testsetobArray[n]->p_objTestCaseArray->m_testcaseobArray[k]->p_objTestStepArray; //删除teststep集合类
}
delete m_testsetobArray[n]->p_objTestCaseArray; //删除testcase集合类
delete m_testsetobArray[n]; //删除testset集合类
}
p_theXMLFile = NULL;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -