📄 testcaseobjects.cpp
字号:
// TestCaseObjects.cpp: implementation of the CTestCaseObjects class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "CXML2ITEMS.h"
#include "TestCaseObjects.h"
#include "XMLFile.h"
#include "TestStepObjects.h"
#include "TestRunObjects.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
IMPLEMENT_SERIAL(CTestCaseObject, CObject, 0)
CTestCaseObject::CTestCaseObject()
{
}
CTestCaseObject::CTestCaseObject(MSXML2::IXMLDOMNodePtr PtrNode)
{
p_TestCaseNode = PtrNode;
}
CTestCaseObject::~CTestCaseObject()
{
p_TestCaseNode = NULL;
}
void CTestCaseObject::FormatMyObject(CString& str)
{
str.Format(_T("{%s, %s, %s, %s, %s, %s, %s}"),
(LPCTSTR)m_strTestID,
(LPCTSTR)m_strHasAttach,
(LPCTSTR)m_strType,
(LPCTSTR)m_strTestName,
(LPCTSTR)m_strTestDescp,
(LPCTSTR)m_strTestScript,
(LPCTSTR)m_strTestStauts);
}
void CTestCaseObject::Serialize(CArchive& ar)
{
//WORD w;
if (ar.IsStoring())
{
//w = (WORD)m_int;
ar << m_strTestID;
ar << m_strHasAttach;
ar << m_strType;
ar << m_strTestName;
ar << m_strTestDescp;
ar << m_strTestScript;
ar << m_strTestStauts;
}
else
{
//ar >> w;
//m_int = w;
ar >> m_strTestID;
ar >> m_strHasAttach;
ar >> m_strType;
ar >> m_strTestName;
ar >> m_strTestDescp;
ar >> m_strTestScript;
ar >> m_strTestStauts;
}
}
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CTestCaseObjects::CTestCaseObjects(MSXML2::IXMLDOMNodePtr parentNode)
{
MSXML2::IXMLDOMNodePtr PtrNode = parentNode; //TestSet节点
MSXML2::IXMLDOMNodePtr PtrNode1;
if(PtrNode!=NULL) //TestSet非空
{
PtrNode = PtrNode->GetfirstChild(); //得到第一个TestCase
if(PtrNode!=NULL) //TestCase非空
{
while(PtrNode!=NULL)
{
PtrNode1=PtrNode->GetfirstChild();
if(PtrNode1!=NULL)
{
CTestCaseObject* p_TestCase = new CTestCaseObject(PtrNode); //构造TestCase
p_TestCase->m_strTestID = ::SysAllocString(PtrNode1->Gettext()); //TestID
PtrNode1=PtrNode1->GetnextSibling();
p_TestCase->m_strHasAttach = ::SysAllocString(PtrNode1->Gettext()); //TestID
PtrNode1=PtrNode1->GetnextSibling();
p_TestCase->m_strType = ::SysAllocString(PtrNode1->Gettext()); //Type
PtrNode1=PtrNode1->GetnextSibling();
p_TestCase->m_strTestName = ::SysAllocString(PtrNode1->Gettext()); //TestName
PtrNode1=PtrNode1->GetnextSibling();
p_TestCase->m_strTestDescp = ::SysAllocString(PtrNode1->Gettext()); //TestDescp
PtrNode1=PtrNode1->GetnextSibling();
p_TestCase->m_strTestScript = ::SysAllocString(PtrNode1->Gettext()); //TestScript
PtrNode1=PtrNode1->GetnextSibling();
p_TestCase->m_strTestStauts = ::SysAllocString(PtrNode1->Gettext()); //TestStauts
PtrNode1=PtrNode1->GetnextSibling(); //Run节点,TestStepDetail节点
//CTestStepObjects* p_TestSteps = new CTestStepObjects(PtrNode1);
//p_TestCase->p_objTestStepArray = p_TestSteps;
CTestRunObjects* p_TestRuns = new CTestRunObjects(PtrNode1);
p_TestCase->p_objTestRunArray = p_TestRuns;
m_testcaseobArray.Add(p_TestCase);
PtrNode = PtrNode->GetnextSibling(); //下一个TestCase
} else {
AfxMessageBox("测试用例TestCase节点下无子节点!");
PtrNode = PtrNode->GetnextSibling(); //下一个TestCase
}
}
return;
}
AfxMessageBox("无测试用例TestCase节点!");
return;
}
AfxMessageBox("无测试计划TestSet节点!");
return;
}
CTestCaseObjects::~CTestCaseObjects()
{
/*for (int n = 0; n < m_testcaseobArray.GetSize(); n++)
{
delete m_testcaseobArray[n];
}*/
}
void CTestCaseObject::SetTestStauts(CString str)
{
m_strTestStauts = str;
p_TestCaseNode->GetchildNodes()->Getitem(6)->text = _bstr_t(m_strTestStauts);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -