|
@@ -129,7 +129,7 @@ SATHTTP::STCase* CSATExecutor::ExecuteFreeCaseScript(SATHTTP::STTask* pTask)
|
|
|
if ( pExcutor ) {
|
|
|
pCase->_pExcutor = pExcutor;
|
|
|
// 用例的日志文件路径;
|
|
|
- pCase->_strCaseLog = pCase->_strFileDir + "\\" + pCase->_strFileName + ".txt";
|
|
|
+ pCase->_strCaseLog = pCase->_strFileDir + pCase->_strFileName + ".txt";
|
|
|
if ( pExcutor->InitScript(pCase->_strScriptPath, pCase->_strCaseLog, "") ) {
|
|
|
// 设置用例对象;
|
|
|
pExcutor->SetCaseObje(pCase);
|
|
@@ -341,10 +341,7 @@ bool CSATExecutor::NotifyTaskStart(SATHTTP::STTask* pTask)
|
|
|
stNotifyJobStartReq.strSignalImageUrl.append(pTask->Job.strDeviceId);
|
|
|
stNotifyJobStartReq.strSignalImageUrl = CharEncoding::ASCII2UTF8(stNotifyJobStartReq.strSignalImageUrl.c_str());
|
|
|
|
|
|
- if ( SetResult(url, stNotifyJobStartReq, stNotifyJobStartResp) )
|
|
|
- {
|
|
|
- // 此处可能需要设置设备为忙碌状态;
|
|
|
- // SetDeviceStatus(BUSY);
|
|
|
+ if ( SetResult(url, stNotifyJobStartReq, stNotifyJobStartResp) ) {
|
|
|
GLOBAL::WriteTextLog("更新任务状态成功:%s", pTask->Job.strUniqueId.c_str());
|
|
|
return true;
|
|
|
}
|
|
@@ -383,8 +380,7 @@ bool CSATExecutor::UploadCaseImg(SATHTTP::STTask* pTask, SATHTTP::STCase *pCase,
|
|
|
stSaveImgReq.strUploads = img;
|
|
|
|
|
|
// 上传用例图片;
|
|
|
- if ( SaveResultImg(url, stSaveImgReq, stSaveImgResp) )
|
|
|
- {
|
|
|
+ if ( SaveResultImg(url, stSaveImgReq, stSaveImgResp) ) {
|
|
|
GLOBAL::WriteTextLog("上传图片成功:任务=%s, 用例=%s, 图片=%s", pTask->Job.strUniqueId.c_str(), pCase->strCaseName.c_str(), img.c_str());
|
|
|
return true;
|
|
|
}
|
|
@@ -414,8 +410,7 @@ bool CSATExecutor::UploadCaseLog(SATHTTP::STTask* pTask, SATHTTP::STCase *pCase)
|
|
|
stSaveLogReq.strUserId = pTask->Job.strUserId;
|
|
|
// 要上传的日志文件;
|
|
|
stSaveLogReq.strUploads = pCase->_strCaseLog;
|
|
|
- if ( SaveCaseOrTaskLog(url, stSaveLogReq, stSaveLogResp) )
|
|
|
- {
|
|
|
+ if ( SaveCaseOrTaskLog(url, stSaveLogReq, stSaveLogResp) ) {
|
|
|
GLOBAL::WriteTextLog("上传日志成功:任务=%s, 用例=%s, 日志=%s", pTask->Job.strUniqueId.c_str(), pCase->strCaseName.c_str(), pCase->_strCaseLog.c_str());
|
|
|
return true;
|
|
|
}
|
|
@@ -475,11 +470,9 @@ bool CSATExecutor::ReportCaseItemFinish(SATHTTP::STTask* pTask, SATHTTP::STCase
|
|
|
//stJobProcessReq.strFailedReason = CharEncoding::UTF82ASCII(caseItem.remark.c_str());
|
|
|
//stJobProcessReq.strFailedReason = (char*)CharEncoding::UTF82UNICODE(caseItem.remark.c_str());
|
|
|
stJobProcessReq.strFailedReason = caseItem.remark;
|
|
|
- for (std::vector<std::string>::iterator it = caseItem.imgs.begin(); it != caseItem.imgs.end(); it++ )
|
|
|
- {
|
|
|
+ for (std::vector<std::string>::iterator it = caseItem.imgs.begin(); it != caseItem.imgs.end(); it++ ) {
|
|
|
int npos = it->find_last_of('/');
|
|
|
- if ( std::string::npos != npos )
|
|
|
- {
|
|
|
+ if ( std::string::npos != npos ) {
|
|
|
stJobProcessReq.strImgName.append(it->substr(npos+1));
|
|
|
stJobProcessReq.strImgName.append("&");
|
|
|
}
|
|
@@ -507,14 +500,12 @@ bool CSATExecutor::ReportCaseItemFinish(SATHTTP::STTask* pTask, SATHTTP::STCase
|
|
|
stJobProcessReq.strResultType = "4"; // reportActionFinish;
|
|
|
stJobProcessReq.strOperationStep = "";
|
|
|
|
|
|
- if ( SetResultList(url, stJobProcessReq, stJobProcessResp) )
|
|
|
- {
|
|
|
+ if ( SetResultList(url, stJobProcessReq, stJobProcessResp) ) {
|
|
|
GLOBAL::WriteTextLog("上传【用例测试项】结果完成【成功】:任务=%s, 用例=%s", pTask->Job.strUniqueId.c_str(), pCase->strCaseName.c_str());
|
|
|
|
|
|
// 再上传图片;
|
|
|
std::string img;
|
|
|
- for (std::vector<std::string>::iterator it = caseItem.imgs.begin(); it != caseItem.imgs.end(); it++ )
|
|
|
- {
|
|
|
+ for (std::vector<std::string>::iterator it = caseItem.imgs.begin(); it != caseItem.imgs.end(); it++ ) {
|
|
|
img = GLOBAL::g_stSATConfig.szCaseResultDir;
|
|
|
img.append(it->substr(3));
|
|
|
img = GLOBAL::Replace(img, "/", "\\");
|
|
@@ -540,12 +531,10 @@ bool CSATExecutor::ReportCaseFinish(SATHTTP::STTask* pTask, SATHTTP::STCase *pCa
|
|
|
SATHTTP::STJobProcessResp stJobProcessResp;
|
|
|
|
|
|
// 上报用例结果:0表示脚本成功执行, 1表示脚本出错或超时;
|
|
|
- if ( pCase->_nExecutionState == SATHTTP::EXECUTED )
|
|
|
- {
|
|
|
+ if ( pCase->_nExecutionState == SATHTTP::EXECUTED ) {
|
|
|
if ( pCase->_nExecutionResult == SATHTTP::SUCCESS )
|
|
|
stJobProcessReq.strResultState = "0"; // 脚本未执行完成;
|
|
|
- else
|
|
|
- {
|
|
|
+ else {
|
|
|
if ( pCase->_nExecutionResult == SATHTTP::ABNORMAL )
|
|
|
stJobProcessReq.strFailedReason = CharEncoding::ASCII2UTF8("脚本异常结束");
|
|
|
stJobProcessReq.strResultState = "1";
|
|
@@ -553,8 +542,7 @@ bool CSATExecutor::ReportCaseFinish(SATHTTP::STTask* pTask, SATHTTP::STCase *pCa
|
|
|
pTask->_nExecutionResult = SATHTTP::FAIL;
|
|
|
}
|
|
|
}
|
|
|
- else
|
|
|
- {
|
|
|
+ else {
|
|
|
stJobProcessReq.strResultState = "1"; // 脚本执行未完成,认为fail;
|
|
|
// 同时标记任务失败;
|
|
|
pTask->_nExecutionResult = SATHTTP::FAIL;
|
|
@@ -613,8 +601,7 @@ bool CSATExecutor::ReportCaseFinish(SATHTTP::STTask* pTask, SATHTTP::STCase *pCa
|
|
|
stJobProcessReq.strResultType = "5"; // reportCaseFinish;
|
|
|
stJobProcessReq.strOperationStep = "";
|
|
|
|
|
|
- if ( SetResultList(url, stJobProcessReq, stJobProcessResp) )
|
|
|
- {
|
|
|
+ if ( SetResultList(url, stJobProcessReq, stJobProcessResp) ) {
|
|
|
GLOBAL::WriteTextLog("上传用例结果完成【成功】:任务=%s, 用例=%s", pTask->Job.strUniqueId.c_str(), pCase->strCaseName.c_str());
|
|
|
return true;
|
|
|
}
|
|
@@ -652,8 +639,7 @@ bool CSATExecutor::ReportCaseResult(SATHTTP::STTask* pTask, SATHTTP::STCase *pCa
|
|
|
// 遍历所有用例测试项;
|
|
|
std::string strRunnedActionNameList;
|
|
|
std::vector<STCaseItem>::iterator it = vtCaseItem.begin();
|
|
|
- for (; it != vtCaseItem.end();)
|
|
|
- {
|
|
|
+ for (; it != vtCaseItem.end();) {
|
|
|
// 上报测试项结果(包含相片);
|
|
|
ReportCaseItemFinish(pTask, pCase, *it);
|
|
|
strRunnedActionNameList.append(it->name);
|
|
@@ -697,8 +683,7 @@ bool CSATExecutor::UploadTaskLog(SATHTTP::STTask* pTask)
|
|
|
stSaveLogReq.strUserId = pTask->Job.strUserId;
|
|
|
// 要上传的日志文件;
|
|
|
stSaveLogReq.strUploads = "D:\\sat\\log.txt";//pTask->_strTaskLog;
|
|
|
- if ( SaveCaseOrTaskLog(url, stSaveLogReq, stSaveLogResp) )
|
|
|
- {
|
|
|
+ if ( SaveCaseOrTaskLog(url, stSaveLogReq, stSaveLogResp) ) {
|
|
|
GLOBAL::WriteTextLog(_T("任务已完成,上传任务日志【成功】,任务编号为=%s"), pTask->Job.strUniqueId.c_str());
|
|
|
return true;
|
|
|
}
|
|
@@ -772,8 +757,7 @@ bool CSATExecutor::ReportTaskStart(SATHTTP::STTask* pTask)
|
|
|
stJobProcessReq.strResultType = "0"; // reportJobStart;
|
|
|
stJobProcessReq.strOperationStep = "";
|
|
|
|
|
|
- if ( SetResultList(url, stJobProcessReq, stJobProcessResp) )
|
|
|
- {
|
|
|
+ if ( SetResultList(url, stJobProcessReq, stJobProcessResp) ) {
|
|
|
GLOBAL::WriteTextLog(_T("上报任务开始【成功】,任务编号为=%s"), pTask->Job.strUniqueId.c_str());
|
|
|
return true;
|
|
|
}
|
|
@@ -793,15 +777,14 @@ bool CSATExecutor::ReportTaskFinish(SATHTTP::STTask* pTask)
|
|
|
SATHTTP::STJobProcessResp stJobProcessResp;
|
|
|
|
|
|
// 需要处理(只要有用例失败,任务就失败)
|
|
|
- if ( pTask->_nExecutionState == SATHTTP::EXECUTED )
|
|
|
- {
|
|
|
+ if ( pTask->_nExecutionState == SATHTTP::EXECUTED ) {
|
|
|
if ( pTask->_nExecutionResult == SATHTTP::SUCCESS )
|
|
|
- stJobProcessReq.strResultState = "0"; // 脚本执行中,认为fail;
|
|
|
+ stJobProcessReq.strResultState = "0"; // 脚本成功;
|
|
|
else
|
|
|
- stJobProcessReq.strResultState = "1"; // 脚本执行中,认为fail;
|
|
|
+ stJobProcessReq.strResultState = "1"; // 脚本失败;
|
|
|
}
|
|
|
else
|
|
|
- stJobProcessReq.strResultState = "1"; // 脚本执行中,认为fail;
|
|
|
+ stJobProcessReq.strResultState = "1"; // 脚本失败;
|
|
|
stJobProcessReq.strCaseScene = "";
|
|
|
// 索引;
|
|
|
stJobProcessReq.strCaseStep = "0";
|
|
@@ -828,7 +811,8 @@ bool CSATExecutor::ReportTaskFinish(SATHTTP::STTask* pTask)
|
|
|
stJobProcessReq.strReusltMessage = CharEncoding::ASCII2UTF8("任务结束");
|
|
|
stJobProcessReq.strJobRepeat = "0";
|
|
|
stJobProcessReq.strScreenShot = "";
|
|
|
- stJobProcessReq.strStartTime = pTask->strStartTime;
|
|
|
+ // 注意避坑:实际结束时间也要放在该字段中;
|
|
|
+ stJobProcessReq.strStartTime = CTime::GetCurrentTime().Format(_T("%Y-%m-%d %H:%M:%S"));
|
|
|
stJobProcessReq.strCrashNumber = "";
|
|
|
stJobProcessReq.strCaseName = "";
|
|
|
stJobProcessReq.strFailedReason = "";
|
|
@@ -854,8 +838,7 @@ bool CSATExecutor::ReportTaskFinish(SATHTTP::STTask* pTask)
|
|
|
stJobProcessReq.strResultType = "1"; // reportJobFinish;
|
|
|
stJobProcessReq.strOperationStep = "";
|
|
|
|
|
|
- if ( SetResultList(url, stJobProcessReq, stJobProcessResp) )
|
|
|
- {
|
|
|
+ if ( SetResultList(url, stJobProcessReq, stJobProcessResp) ) {
|
|
|
GLOBAL::WriteTextLog(_T("上报任务结束【成功】,任务编号为=%s"), pTask->Job.strUniqueId.c_str());
|
|
|
return true;
|
|
|
}
|