📄 teststepobjects.cpp
字号:
// TestStepObjects.cpp: implementation of the CTestStepObjects class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "CXML2ITEMS.h"
#include "TestStepObjects.h"
#include "XMLFile.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
IMPLEMENT_SERIAL(CTestStepObject, CObject, 0)
CTestStepObject::CTestStepObject()
{
}
CTestStepObject::CTestStepObject(MSXML2::IXMLDOMNodePtr PtrNode)
{
p_TestStepNode = PtrNode;
}
CTestStepObject::~CTestStepObject()
{
p_TestStepNode = NULL;
}
void CTestStepObject::FormatMyObject(CString& str)
{
str.Format(_T("{%s, %s, %s, %s, %s, %s, %s, %s}"),
(LPCTSTR)m_strSequence,
(LPCTSTR)m_strStepType,
(LPCTSTR)m_strStepNo,
(LPCTSTR)m_strStepName,
(LPCTSTR)m_strStepDescp,
(LPCTSTR)m_strStepPreResult,
(LPCTSTR)m_strStepResult,
(LPCTSTR)m_strStepStatus);
}
void CTestStepObject::Serialize(CArchive& ar)
{
//WORD w;
if (ar.IsStoring())
{
//w = (WORD)m_int;
ar << m_strSequence;
ar << m_strStepType;
ar << m_strStepNo;
ar << m_strStepName;
ar << m_strStepDescp;
ar << m_strStepPreResult;
ar << m_strStepResult;
ar << m_strStepStatus;
}
else
{
//ar >> w;
//m_int = w;
ar >> m_strSequence;
ar >> m_strStepType;
ar >> m_strStepNo;
ar >> m_strStepName;
ar >> m_strStepDescp;
ar >> m_strStepPreResult;
ar >> m_strStepResult;
ar >> m_strStepStatus;
}
}
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CTestStepObjects::CTestStepObjects(MSXML2::IXMLDOMNodePtr parentNode)
{
MSXML2::IXMLDOMNodePtr PtrNode = parentNode;
MSXML2::IXMLDOMNodePtr PtrNode1;
if(PtrNode!=NULL) //Run非空
{
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_strSequence = ::SysAllocString(PtrNode1->text);
PtrNode1=PtrNode1->GetnextSibling();
p_TestStep->m_strStepType = ::SysAllocString(PtrNode1->text);
PtrNode1=PtrNode1->GetnextSibling();
p_TestStep->m_strStepNo = ::SysAllocString(PtrNode1->text);
PtrNode1=PtrNode1->GetnextSibling();
p_TestStep->m_strStepName = ::SysAllocString(PtrNode1->text);
PtrNode1=PtrNode1->GetnextSibling();
//需要处理文本中的标签<html><body><br></body></html>
CString str = ::SysAllocString(PtrNode1->text);
str.TrimLeft("<html><body>");
str.TrimRight("//html>");
str.TrimRight("<");
str.TrimRight("//body>");
str.TrimRight("<");
str.Replace("<br>","");
//p_TestStep->m_strStepDescp = ::SysAllocString(PtrNode1->text);
p_TestStep->m_strStepDescp = str;
PtrNode1=PtrNode1->GetnextSibling();
p_TestStep->m_strStepPreResult = ::SysAllocString(PtrNode1->text);
PtrNode1=PtrNode1->GetnextSibling();
p_TestStep->m_strStepResult = ::SysAllocString(PtrNode1->text);
PtrNode1=PtrNode1->GetnextSibling();
p_TestStep->m_strStepStatus = ::SysAllocString(PtrNode1->text);
m_teststepobArray.Add(p_TestStep);
PtrNode = PtrNode->GetnextSibling();
} else {
AfxMessageBox("测试步骤TestStep节点下无子节点!");
PtrNode = PtrNode->GetnextSibling(); //下一个TestCase
}
}
return;
}
AfxMessageBox("无用例步骤TestStep节点!");
return;
}
AfxMessageBox("无用例步骤TestStepDetail节点!");
return;
}
CTestStepObjects::~CTestStepObjects()
{
}
void CTestStepObject::SetStepResult(CString str)
{
m_strStepResult = str;
p_TestStepNode->GetchildNodes()->Getitem(6)->text = _bstr_t(m_strStepResult);
}
void CTestStepObject::SetStepStatus(CString str)
{
m_strStepStatus = str;
p_TestStepNode->GetchildNodes()->Getitem(7)->text = _bstr_t(m_strStepStatus);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -