Browse Source

任务结束时间:同样放在StartTime字段中;

scbc.sat2 5 years ago
parent
commit
1af490601e
1 changed files with 22 additions and 39 deletions
  1. 22 39
      SATService/SATService/SATExecutor.cpp

+ 22 - 39
SATService/SATService/SATExecutor.cpp

@@ -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;
 	}