📄 testrunobjects.cpp
字号:
// TestRunObjects.cpp: implementation of the CTestRunObjects class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "CXML2ITEMS.h"
#include "TestRunObjects.h"
#include "TestStepObjects.h"
#include "XMLFile.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
IMPLEMENT_SERIAL(CTestRunObject, CObject, 0)
CTestRunObject::CTestRunObject()
{
}
CTestRunObject::CTestRunObject(MSXML2::IXMLDOMNodePtr PtrNode)
{
p_TestRunNode = PtrNode;
}
CTestRunObject::~CTestRunObject()
{
p_TestRunNode = NULL;
}
void CTestRunObject::FormatMyObject(CString& str)
{
str.Format(_T("{%s, %s, %s, %s}"),
(LPCTSTR)m_strRunID,
(LPCTSTR)m_strRunName,
(LPCTSTR)m_strRunStatus,
(LPCTSTR)m_strRunTester);
}
void CTestRunObject::Serialize(CArchive& ar)
{
//WORD w;
if (ar.IsStoring())
{
//w = (WORD)m_int;
ar << m_strRunID;
ar << m_strRunName;
ar << m_strRunStatus;
ar << m_strRunTester;
}
else
{
//ar >> w;
//m_int = w;
ar >> m_strRunID;
ar >> m_strRunName;
ar >> m_strRunStatus;
ar >> m_strRunTester;
}
}
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CTestRunObjects::CTestRunObjects(MSXML2::IXMLDOMNodePtr parentNode)
{
MSXML2::IXMLDOMNodePtr PtrNode = parentNode;
MSXML2::IXMLDOMNodePtr PtrNode1;
if(PtrNode!=NULL) //TestRun非空
{
while(PtrNode!=NULL)
{
CTestRunObject* p_TestRun = new CTestRunObject(PtrNode);
p_TestRun->m_strRunID = ::SysAllocString(PtrNode->Getattributes()->getNamedItem("ID")->text);
p_TestRun->m_strRunName = ::SysAllocString(PtrNode->Getattributes()->getNamedItem("Name")->text);
p_TestRun->m_strRunStatus = ::SysAllocString(PtrNode->Getattributes()->getNamedItem("Status")->text);
p_TestRun->m_strRunTester = ::SysAllocString(PtrNode->Getattributes()->getNamedItem("Tester")->text);
CTestStepObjects* p_TestSteps = new CTestStepObjects(PtrNode);
p_TestRun->p_objTestStepArray = p_TestSteps;
m_testrunobArray.Add(p_TestRun);
PtrNode = PtrNode->GetnextSibling();
}
return;
} else {
AfxMessageBox("无Run节点!");
return;
}
/*
PtrNode = PtrNode->GetfirstChild(); //得到TestStep
if(PtrNode!=NULL) //TestStep非空
{
while(PtrNode!=NULL) //遍历所有的TestStep节点
{
PtrNode1=PtrNode->GetfirstChild();
if(PtrNode1!=NULL)
{
CTestStepObject* p_TestStep = new CTestStepObject(PtrNode);
p_TestStep->m_strStepType = ::SysAllocString(PtrNode1->Gettext());
PtrNode1=PtrNode1->GetnextSibling();
p_TestStep->m_strStepNo = ::SysAllocString(PtrNode1->Gettext());
PtrNode1=PtrNode1->GetnextSibling();
p_TestStep->m_strStepName = ::SysAllocString(PtrNode1->Gettext());
PtrNode1=PtrNode1->GetnextSibling();
p_TestStep->m_strStepDescp = ::SysAllocString(PtrNode1->Gettext());
PtrNode1=PtrNode1->GetnextSibling();
p_TestStep->m_strStepPreResult = ::SysAllocString(PtrNode1->Gettext());
PtrNode1=PtrNode1->GetnextSibling();
p_TestStep->m_strStepResult = ::SysAllocString(PtrNode1->Gettext());
PtrNode1=PtrNode1->GetnextSibling();
p_TestStep->m_strStepStatus = ::SysAllocString(PtrNode1->Gettext());
m_teststepobArray.Add(p_TestStep);
PtrNode = PtrNode->GetnextSibling();
} else {
AfxMessageBox("测试步骤TestStep节点下无子节点!");
PtrNode = PtrNode->GetnextSibling(); //下一个TestCase
}
}
return;
}
//AfxMessageBox("无用例步骤TestStep节点!");
return;
}
AfxMessageBox("无用例步骤TestStepDetail节点!");
return;*/
}
CTestRunObjects::~CTestRunObjects()
{
}
void CTestRunObject::SetRunStatus(CString str)
{
m_strRunStatus = str;
p_TestRunNode->Getattributes()->getNamedItem("Status")->text = _bstr_t(m_strRunStatus);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -