fix: 增加对 HarmonyOS 脚本的支持

hz_1122
陈剑峰 2025-05-16 10:32:09 +08:00
parent 974ef9cf1a
commit b539f46899
8 changed files with 37 additions and 13 deletions

View File

@ -499,6 +499,7 @@ public class AtuPlanInfoApiServiceImpl extends AbstractExcelService<AtuPlanInfo>
idList.add(one.getScriptId()); idList.add(one.getScriptId());
if (one.getScriptType().equals(PlanConstant.SCRIPT_TYPE_ANDROID) || if (one.getScriptType().equals(PlanConstant.SCRIPT_TYPE_ANDROID) ||
one.getScriptType().equals(PlanConstant.SCRIPT_TYPE_IOS) || one.getScriptType().equals(PlanConstant.SCRIPT_TYPE_IOS) ||
one.getScriptType().equals(PlanConstant.SCRIPT_TYPE_HARMONY) ||
one.getScriptType().equals(PlanConstant.SCRIPT_TYPE_SCENE)){ one.getScriptType().equals(PlanConstant.SCRIPT_TYPE_SCENE)){
isMobile.set(true); isMobile.set(true);
} }

View File

@ -205,7 +205,8 @@ public class AtuPlanSceneCaseTaskApiServiceImpl implements AtuPlanSceneCaseTaskA
// 记录性能数据 // 记录性能数据
if (PlanConstant.SCRIPT_TYPE_ANDROID.equals(planSceneCaseTask.getNodeType()) if (PlanConstant.SCRIPT_TYPE_ANDROID.equals(planSceneCaseTask.getNodeType())
|| PlanConstant.SCRIPT_TYPE_IOS.equals(planSceneCaseTask.getNodeType())) { || PlanConstant.SCRIPT_TYPE_IOS.equals(planSceneCaseTask.getNodeType())
|| PlanConstant.SCRIPT_TYPE_HARMONY.equals(planSceneCaseTask.getNodeType())) {
logger.debug("处理场景移动端性能文件数据"); logger.debug("处理场景移动端性能文件数据");
planSceneCaseTask.setPerDataPath(parseMobilePerformanceFile(taskExecResult)); planSceneCaseTask.setPerDataPath(parseMobilePerformanceFile(taskExecResult));
} }

View File

@ -564,6 +564,7 @@ public class AtuPlanTaskApiServiceImpl extends AbstractExcelService<AtuPlanTask>
break; break;
case PlanConstant.SCRIPT_TYPE_ANDROID: case PlanConstant.SCRIPT_TYPE_ANDROID:
case PlanConstant.SCRIPT_TYPE_IOS: case PlanConstant.SCRIPT_TYPE_IOS:
case PlanConstant.SCRIPT_TYPE_HARMONY:
batchDeviceLink.setDeviceType(PlanConstant.DEVICE_TYPE_MOBILE); batchDeviceLink.setDeviceType(PlanConstant.DEVICE_TYPE_MOBILE);
break; break;
} }

View File

@ -148,7 +148,8 @@ public class TaskExecResultConsumer {
} }
if (PlanConstant.SCRIPT_TYPE_ANDROID.equals(planTask.getCaseType()) if (PlanConstant.SCRIPT_TYPE_ANDROID.equals(planTask.getCaseType())
|| PlanConstant.SCRIPT_TYPE_IOS.equals(planTask.getCaseType())) { || PlanConstant.SCRIPT_TYPE_IOS.equals(planTask.getCaseType())
|| PlanConstant.SCRIPT_TYPE_HARMONY.equals(planTask.getCaseType())) {
logger.debug("处理移动端性能文件数据"); logger.debug("处理移动端性能文件数据");
planTask.setPerDataPath(sceneCaseTaskApiService.parseMobilePerformanceFile(taskExecResult)); planTask.setPerDataPath(sceneCaseTaskApiService.parseMobilePerformanceFile(taskExecResult));
} }

View File

@ -267,7 +267,9 @@ public class AtuScriptInfoApiServiceImpl extends AbstractExcelService<AtuScriptI
} }
String scriptType = script.getScriptType(); String scriptType = script.getScriptType();
FileBusinessTypeEnum businessCode = null; FileBusinessTypeEnum businessCode = null;
if (scriptType.equals(SCRIPT_TYPE_ANDROID) || scriptType.equals(SCRIPT_TYPE_IOS)) { if (scriptType.equals(SCRIPT_TYPE_ANDROID)
|| scriptType.equals(SCRIPT_TYPE_IOS)
|| scriptType.equals(SCRIPT_TYPE_HARMONY) ) {
businessCode = FileBusinessTypeEnum.MOBILE_RECORD_SCREENSHOT; businessCode = FileBusinessTypeEnum.MOBILE_RECORD_SCREENSHOT;
} else if (scriptType.equals(SCRIPT_TYPE_BS) || scriptType.equals(SCRIPT_TYPE_CS)) { } else if (scriptType.equals(SCRIPT_TYPE_BS) || scriptType.equals(SCRIPT_TYPE_CS)) {
businessCode = FileBusinessTypeEnum.PC_RECORD_SCREENSHOT; businessCode = FileBusinessTypeEnum.PC_RECORD_SCREENSHOT;
@ -386,7 +388,9 @@ public class AtuScriptInfoApiServiceImpl extends AbstractExcelService<AtuScriptI
// 关联截图文件 // 关联截图文件
String scriptType = script.getScriptType(); String scriptType = script.getScriptType();
FileBusinessTypeEnum businessCode = null; FileBusinessTypeEnum businessCode = null;
if (scriptType.equals(SCRIPT_TYPE_ANDROID) || scriptType.equals(SCRIPT_TYPE_IOS)) { if (scriptType.equals(SCRIPT_TYPE_ANDROID)
|| scriptType.equals(SCRIPT_TYPE_IOS)
|| scriptType.equals(SCRIPT_TYPE_HARMONY)) {
businessCode = FileBusinessTypeEnum.MOBILE_RECORD_SCREENSHOT; businessCode = FileBusinessTypeEnum.MOBILE_RECORD_SCREENSHOT;
} else if (scriptType.equals(SCRIPT_TYPE_BS) || scriptType.equals(SCRIPT_TYPE_CS)) { } else if (scriptType.equals(SCRIPT_TYPE_BS) || scriptType.equals(SCRIPT_TYPE_CS)) {
businessCode = FileBusinessTypeEnum.PC_RECORD_SCREENSHOT; businessCode = FileBusinessTypeEnum.PC_RECORD_SCREENSHOT;
@ -546,7 +550,9 @@ public class AtuScriptInfoApiServiceImpl extends AbstractExcelService<AtuScriptI
script.setUpdatedBy(NKSecurityContext.getUserId()); script.setUpdatedBy(NKSecurityContext.getUserId());
String scriptType = script.getScriptType(); String scriptType = script.getScriptType();
FileBusinessTypeEnum businessCode = null; FileBusinessTypeEnum businessCode = null;
if (scriptType.equals(SCRIPT_TYPE_ANDROID) || scriptType.equals(SCRIPT_TYPE_IOS)) { if (scriptType.equals(SCRIPT_TYPE_ANDROID)
|| scriptType.equals(SCRIPT_TYPE_IOS)
|| scriptType.equals(SCRIPT_TYPE_HARMONY)) {
businessCode = FileBusinessTypeEnum.MOBILE_RECORD_SCREENSHOT; businessCode = FileBusinessTypeEnum.MOBILE_RECORD_SCREENSHOT;
} else if (scriptType.equals(SCRIPT_TYPE_BS) || scriptType.equals(SCRIPT_TYPE_CS)) { } else if (scriptType.equals(SCRIPT_TYPE_BS) || scriptType.equals(SCRIPT_TYPE_CS)) {
businessCode = FileBusinessTypeEnum.PC_RECORD_SCREENSHOT; businessCode = FileBusinessTypeEnum.PC_RECORD_SCREENSHOT;
@ -669,7 +675,9 @@ public class AtuScriptInfoApiServiceImpl extends AbstractExcelService<AtuScriptI
// 关联截图文件 // 关联截图文件
String scriptType = script.getScriptType(); String scriptType = script.getScriptType();
FileBusinessTypeEnum businessCode = null; FileBusinessTypeEnum businessCode = null;
if (scriptType.equals(SCRIPT_TYPE_ANDROID) || scriptType.equals(SCRIPT_TYPE_IOS)) { if (scriptType.equals(SCRIPT_TYPE_ANDROID)
|| scriptType.equals(SCRIPT_TYPE_IOS)
|| scriptType.equals(SCRIPT_TYPE_HARMONY)) {
businessCode = FileBusinessTypeEnum.MOBILE_RECORD_SCREENSHOT; businessCode = FileBusinessTypeEnum.MOBILE_RECORD_SCREENSHOT;
} else if (scriptType.equals(SCRIPT_TYPE_BS) || scriptType.equals(SCRIPT_TYPE_CS)) { } else if (scriptType.equals(SCRIPT_TYPE_BS) || scriptType.equals(SCRIPT_TYPE_CS)) {
businessCode = FileBusinessTypeEnum.PC_RECORD_SCREENSHOT; businessCode = FileBusinessTypeEnum.PC_RECORD_SCREENSHOT;
@ -1063,7 +1071,9 @@ public class AtuScriptInfoApiServiceImpl extends AbstractExcelService<AtuScriptI
AtuScriptVersion newVersion = generateScriptVersion(newScript); AtuScriptVersion newVersion = generateScriptVersion(newScript);
String scriptType = script.getScriptType(); String scriptType = script.getScriptType();
FileBusinessTypeEnum businessCode = null; FileBusinessTypeEnum businessCode = null;
if (scriptType.equals(SCRIPT_TYPE_ANDROID) || scriptType.equals(SCRIPT_TYPE_IOS)) { if (scriptType.equals(SCRIPT_TYPE_ANDROID)
|| scriptType.equals(SCRIPT_TYPE_IOS)
|| scriptType.equals(SCRIPT_TYPE_HARMONY)) {
businessCode = FileBusinessTypeEnum.MOBILE_RECORD_SCREENSHOT; businessCode = FileBusinessTypeEnum.MOBILE_RECORD_SCREENSHOT;
} else if (scriptType.equals(SCRIPT_TYPE_BS) || scriptType.equals(SCRIPT_TYPE_CS)) { } else if (scriptType.equals(SCRIPT_TYPE_BS) || scriptType.equals(SCRIPT_TYPE_CS)) {
businessCode = FileBusinessTypeEnum.PC_RECORD_SCREENSHOT; businessCode = FileBusinessTypeEnum.PC_RECORD_SCREENSHOT;
@ -1743,7 +1753,9 @@ public class AtuScriptInfoApiServiceImpl extends AbstractExcelService<AtuScriptI
JSONObject jsonObject = JSON.parseObject(copyScriptStr, JSONObject.class); JSONObject jsonObject = JSON.parseObject(copyScriptStr, JSONObject.class);
String scriptType = autoScript.getScriptType(); String scriptType = autoScript.getScriptType();
FileBusinessTypeEnum businessCode = null; FileBusinessTypeEnum businessCode = null;
if (scriptType.equals(SCRIPT_TYPE_ANDROID) || scriptType.equals(SCRIPT_TYPE_IOS)) { if (scriptType.equals(SCRIPT_TYPE_ANDROID)
|| scriptType.equals(SCRIPT_TYPE_IOS)
|| scriptType.equals(SCRIPT_TYPE_HARMONY)) {
businessCode = FileBusinessTypeEnum.MOBILE_RECORD_SCREENSHOT; businessCode = FileBusinessTypeEnum.MOBILE_RECORD_SCREENSHOT;
} else if (scriptType.equals(SCRIPT_TYPE_BS) || scriptType.equals(SCRIPT_TYPE_CS)) { } else if (scriptType.equals(SCRIPT_TYPE_BS) || scriptType.equals(SCRIPT_TYPE_CS)) {
businessCode = FileBusinessTypeEnum.PC_RECORD_SCREENSHOT; businessCode = FileBusinessTypeEnum.PC_RECORD_SCREENSHOT;

View File

@ -710,7 +710,8 @@ public class AtuCaseDataSetApiServiceImpl extends AbstractExcelService<AtuCaseDa
//场景脚本 //场景脚本
sceneList.add(one.getScriptId()); sceneList.add(one.getScriptId());
} else if (one.getScriptType().equals(ScriptConstant.SCRIPT_TYPE_ANDROID) } else if (one.getScriptType().equals(ScriptConstant.SCRIPT_TYPE_ANDROID)
|| one.getScriptType().equals(ScriptConstant.SCRIPT_TYPE_IOS)) { || one.getScriptType().equals(ScriptConstant.SCRIPT_TYPE_IOS)
|| one.getScriptType().equals(ScriptConstant.SCRIPT_TYPE_HARMONY)) {
//安卓 IOS脚本 //安卓 IOS脚本
scriptSet.add(one.getScriptId()); scriptSet.add(one.getScriptId());
} }

View File

@ -169,7 +169,8 @@ public class SceneCoordinatorService {
reqNodeInfoDto.nodeInfo.setCaseParam(CaseParamMap); reqNodeInfoDto.nodeInfo.setCaseParam(CaseParamMap);
reqNodeInfoDto.nodeInfo.setNodeType(convertNodeType(nextNode.get().getNodeType())); reqNodeInfoDto.nodeInfo.setNodeType(convertNodeType(nextNode.get().getNodeType()));
if (ScriptConstant.NODE_TYPE_ANDROID.equals(nextNode.get().getNodeType()) || if (ScriptConstant.NODE_TYPE_ANDROID.equals(nextNode.get().getNodeType()) ||
ScriptConstant.NODE_TYPE_IOS.equals(nextNode.get().getNodeType())) { ScriptConstant.NODE_TYPE_IOS.equals(nextNode.get().getNodeType()) ||
ScriptConstant.NODE_TYPE_HARMONY.equals(nextNode.get().getNodeType())) {
SceneNodeInfoDto dto = GetOneNodeInfo(nextNode.get()); SceneNodeInfoDto dto = GetOneNodeInfo(nextNode.get());
if (dto != null) { if (dto != null) {
reqNodeInfoDto.nodeInfo.setAppPackage(dto.getAppPackage()); reqNodeInfoDto.nodeInfo.setAppPackage(dto.getAppPackage());
@ -275,7 +276,8 @@ public class SceneCoordinatorService {
return ScriptConstant.SCRIPT_TYPE_ANDROID; return ScriptConstant.SCRIPT_TYPE_ANDROID;
else if (ScriptConstant.NODE_TYPE_IOS.equals(nodeType)) else if (ScriptConstant.NODE_TYPE_IOS.equals(nodeType))
return ScriptConstant.SCRIPT_TYPE_IOS; return ScriptConstant.SCRIPT_TYPE_IOS;
else if (ScriptConstant.NODE_TYPE_HARMONY.equals(nodeType))
return ScriptConstant.SCRIPT_TYPE_HARMONY;
logger.debug("无效的节点类型nodeType=" + nodeType); logger.debug("无效的节点类型nodeType=" + nodeType);
return ""; return "";
} }
@ -596,7 +598,9 @@ public class SceneCoordinatorService {
reqNodeInfoDto.nodeInfo.setCaseParam(CaseParamMap); reqNodeInfoDto.nodeInfo.setCaseParam(CaseParamMap);
reqNodeInfoDto.nodeInfo.setNodeType(convertNodeType(nextNode.getNodeType())); reqNodeInfoDto.nodeInfo.setNodeType(convertNodeType(nextNode.getNodeType()));
if (ScriptConstant.NODE_TYPE_ANDROID.equals(nextNode.getNodeType()) || ScriptConstant.NODE_TYPE_IOS.equals(nextNode.getNodeType())) { if (ScriptConstant.NODE_TYPE_ANDROID.equals(nextNode.getNodeType())
|| ScriptConstant.NODE_TYPE_IOS.equals(nextNode.getNodeType())
|| ScriptConstant.NODE_TYPE_HARMONY.equals(nextNode.getNodeType())) {
SceneNodeInfoDto dto = GetOneNodeInfo(nextNode); SceneNodeInfoDto dto = GetOneNodeInfo(nextNode);
if (dto != null) { if (dto != null) {
reqNodeInfoDto.nodeInfo.setPlatformType(dto.getPlatform()); reqNodeInfoDto.nodeInfo.setPlatformType(dto.getPlatform());
@ -690,7 +694,9 @@ public class SceneCoordinatorService {
dto.setAppPackage(""); dto.setAppPackage("");
dto.setPlatform(""); dto.setPlatform("");
logger.debug("场景脚本节点信息 SceneNodeInfoDto:{}, scriptId:{}", dto, n.getScriptId()); logger.debug("场景脚本节点信息 SceneNodeInfoDto:{}, scriptId:{}", dto, n.getScriptId());
if (ScriptConstant.NODE_TYPE_ANDROID.equals(n.getNodeType()) || ScriptConstant.NODE_TYPE_IOS.equals(n.getNodeType())) { if (ScriptConstant.NODE_TYPE_ANDROID.equals(n.getNodeType())
|| ScriptConstant.NODE_TYPE_IOS.equals(n.getNodeType())
|| ScriptConstant.NODE_TYPE_HARMONY.equals(n.getNodeType())) {
AtuScriptInfo appScriptInfo = atuScriptInfoService.findByPrimaryKey(n.getScriptId()); AtuScriptInfo appScriptInfo = atuScriptInfoService.findByPrimaryKey(n.getScriptId());
if (appScriptInfo == null) { if (appScriptInfo == null) {
logger.error("查询移动端脚本不存在.脚本Id:{}, 脚本名:{}", n.getScriptId(), n.getScriptName()); logger.error("查询移动端脚本不存在.脚本Id:{}, 脚本名:{}", n.getScriptId(), n.getScriptName());

View File

@ -353,5 +353,6 @@ public class ScriptConstant {
public static final String NODE_TYPE_PCCS = "pccs"; public static final String NODE_TYPE_PCCS = "pccs";
public static final String NODE_TYPE_ANDROID = "andrio"; public static final String NODE_TYPE_ANDROID = "andrio";
public static final String NODE_TYPE_IOS = "ios"; public static final String NODE_TYPE_IOS = "ios";
public static final String NODE_TYPE_HARMONY = "harmony";
} }