fix(接口测试): 接口调试执行报错

This commit is contained in:
AgAngle 2024-02-07 15:46:27 +08:00 committed by jianxing
parent 110cbe7005
commit 68bd55647d
11 changed files with 16 additions and 23 deletions

View File

@ -1,4 +1,4 @@
package io.metersphere.project.enums; package io.metersphere.sdk.constants;
/** /**
* @author: LAN * @author: LAN

View File

@ -33,6 +33,6 @@ public class SocketMsgDTO implements Serializable {
/** /**
* 结果内容 * 结果内容
*/ */
private String taskResult; private Object taskResult;
} }

View File

@ -1,6 +1,5 @@
package io.metersphere.api.parser.jmeter.validator; package io.metersphere.sdk.util;
import io.metersphere.sdk.util.LogUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
public class EnumValidator { public class EnumValidator {

View File

@ -5,6 +5,7 @@ import io.metersphere.plugin.api.spi.AbstractMsTestElement;
import io.metersphere.project.dto.environment.EnvironmentInfoDTO; import io.metersphere.project.dto.environment.EnvironmentInfoDTO;
import lombok.Data; import lombok.Data;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
/** /**
@ -26,14 +27,14 @@ public class ApiParamConfig extends ParameterConfig {
* key AbstractMsTestElement 实现类对象 * key AbstractMsTestElement 实现类对象
* value 为对应的插件 ID * value 为对应的插件 ID
*/ */
private Map<Class<? extends AbstractMsTestElement>, String> testElementClassPluginIdMap; private Map<Class<? extends AbstractMsTestElement>, String> testElementClassPluginIdMap = HashMap.newHashMap(0);
/** /**
* AbstractMsTestElement 实现类与接口协议的映射 * AbstractMsTestElement 实现类与接口协议的映射
* key AbstractMsTestElement 实现类对象 * key AbstractMsTestElement 实现类对象
* value 为对应的接口协议 * value 为对应的接口协议
* 环境前后置忽略协议需要使用 * 环境前后置忽略协议需要使用
*/ */
private Map<Class<? extends AbstractMsTestElement>, String> testElementClassProtocalMap; private Map<Class<? extends AbstractMsTestElement>, String> testElementClassProtocalMap = HashMap.newHashMap(0);
@Override @Override

View File

@ -28,10 +28,6 @@ public class ApiResourceRunRequest {
* 环境或者环境组ID * 环境或者环境组ID
*/ */
private String environmentId; private String environmentId;
/**
* 执行模式
*/
private String runMode;
/** /**
* 资源类型 * 资源类型
* @see io.metersphere.api.constants.ApiResourceType * @see io.metersphere.api.constants.ApiResourceType

View File

@ -1,7 +1,7 @@
package io.metersphere.api.parser.jmeter.processor.assertion; package io.metersphere.api.parser.jmeter.processor.assertion;
import io.metersphere.project.api.assertion.MsAssertion; import io.metersphere.project.api.assertion.MsAssertion;
import io.metersphere.api.parser.jmeter.validator.EnumValidator; import io.metersphere.sdk.util.EnumValidator;
import io.metersphere.plugin.api.dto.ParameterConfig; import io.metersphere.plugin.api.dto.ParameterConfig;
import io.metersphere.sdk.constants.MsAssertionCondition; import io.metersphere.sdk.constants.MsAssertionCondition;
import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.lang3.BooleanUtils;

View File

@ -1,7 +1,7 @@
package io.metersphere.api.parser.jmeter.processor.assertion; package io.metersphere.api.parser.jmeter.processor.assertion;
import io.metersphere.project.api.assertion.MsResponseHeaderAssertion; import io.metersphere.project.api.assertion.MsResponseHeaderAssertion;
import io.metersphere.api.parser.jmeter.validator.EnumValidator; import io.metersphere.sdk.util.EnumValidator;
import io.metersphere.plugin.api.dto.ParameterConfig; import io.metersphere.plugin.api.dto.ParameterConfig;
import io.metersphere.sdk.constants.MsAssertionCondition; import io.metersphere.sdk.constants.MsAssertionCondition;
import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.lang3.BooleanUtils;

View File

@ -12,7 +12,6 @@ import io.metersphere.plugin.api.dto.ParameterConfig;
import io.metersphere.plugin.api.spi.AbstractMsTestElement; import io.metersphere.plugin.api.spi.AbstractMsTestElement;
import io.metersphere.project.domain.ProjectApplication; import io.metersphere.project.domain.ProjectApplication;
import io.metersphere.project.dto.customfunction.request.CustomFunctionRunRequest; import io.metersphere.project.dto.customfunction.request.CustomFunctionRunRequest;
import io.metersphere.project.mapper.ProjectMapper;
import io.metersphere.project.service.FileAssociationService; import io.metersphere.project.service.FileAssociationService;
import io.metersphere.project.service.FileManagementService; import io.metersphere.project.service.FileManagementService;
import io.metersphere.project.service.FileMetadataService; import io.metersphere.project.service.FileMetadataService;
@ -153,6 +152,9 @@ public class ApiExecuteService {
// 设置插件文件信息 // 设置插件文件信息
taskRequest.setPluginFiles(apiPluginService.getFileInfoByProjectId(projectId)); taskRequest.setPluginFiles(apiPluginService.getFileInfoByProjectId(projectId));
ApiRunModeConfigDTO runModeConfig = new ApiRunModeConfigDTO();
runModeConfig.setRunMode(ApiExecuteRunMode.BACKEND_DEBUG.name());
taskRequest.setRunModeConfig(runModeConfig);
TestResourcePoolReturnDTO testResourcePoolDTO = getGetResourcePoolNodeDTO(projectId); TestResourcePoolReturnDTO testResourcePoolDTO = getGetResourcePoolNodeDTO(projectId);
TestResourceNodeDTO testResourceNodeDTO = getProjectExecuteNode(testResourcePoolDTO); TestResourceNodeDTO testResourceNodeDTO = getProjectExecuteNode(testResourcePoolDTO);
@ -223,9 +225,6 @@ public class ApiExecuteService {
taskRequest.setReportId(reportId); taskRequest.setReportId(reportId);
taskRequest.setResourceId(testId); taskRequest.setResourceId(testId);
taskRequest.setResourceType(ApiExecuteResourceType.API_DEBUG.name()); taskRequest.setResourceType(ApiExecuteResourceType.API_DEBUG.name());
ApiRunModeConfigDTO apiRunModeConfig = new ApiRunModeConfigDTO();
apiRunModeConfig.setRunMode(ApiExecuteRunMode.BACKEND_DEBUG.name());
taskRequest.setRunModeConfig(apiRunModeConfig);
doDebug(reportId, testId, taskRequest, executeScript, runRequest.getProjectId()); doDebug(reportId, testId, taskRequest, executeScript, runRequest.getProjectId());
return reportId; return reportId;

View File

@ -16,7 +16,6 @@ import io.metersphere.plugin.api.spi.AbstractMsTestElement;
import io.metersphere.project.dto.environment.EnvironmentInfoDTO; import io.metersphere.project.dto.environment.EnvironmentInfoDTO;
import io.metersphere.project.service.EnvironmentService; import io.metersphere.project.service.EnvironmentService;
import io.metersphere.project.service.ProjectService; import io.metersphere.project.service.ProjectService;
import io.metersphere.sdk.constants.ApiExecuteRunMode;
import io.metersphere.sdk.constants.DefaultRepositoryDir; import io.metersphere.sdk.constants.DefaultRepositoryDir;
import io.metersphere.sdk.exception.MSException; import io.metersphere.sdk.exception.MSException;
import io.metersphere.sdk.util.BeanUtils; import io.metersphere.sdk.util.BeanUtils;
@ -197,19 +196,20 @@ public class ApiDebugService {
public String debug(ApiDebugRunRequest request) { public String debug(ApiDebugRunRequest request) {
String id = request.getId(); String id = request.getId();
String reportId = request.getReportId();
ApiResourceRunRequest runRequest = BeanUtils.copyBean(new ApiResourceRunRequest(), request); ApiResourceRunRequest runRequest = BeanUtils.copyBean(new ApiResourceRunRequest(), request);
runRequest.setProjectId(request.getProjectId()); runRequest.setProjectId(request.getProjectId());
runRequest.setTestId(id); runRequest.setTestId(id);
runRequest.setReportId(id); runRequest.setReportId(reportId);
runRequest.setResourceType(ApiResourceType.API_DEBUG.name()); runRequest.setResourceType(ApiResourceType.API_DEBUG.name());
runRequest.setRunMode(ApiExecuteRunMode.BACKEND_DEBUG.name());
runRequest.setEnvironmentId(request.getEnvironmentId()); runRequest.setEnvironmentId(request.getEnvironmentId());
runRequest.setTestElement(ApiDataUtils.parseObject(JSON.toJSONString(request.getRequest()), AbstractMsTestElement.class)); runRequest.setTestElement(ApiDataUtils.parseObject(JSON.toJSONString(request.getRequest()), AbstractMsTestElement.class));
ApiParamConfig paramConfig = new ApiParamConfig(); ApiParamConfig paramConfig = new ApiParamConfig();
paramConfig.setTestElementClassPluginIdMap(apiPluginService.getTestElementPluginMap()); paramConfig.setTestElementClassPluginIdMap(apiPluginService.getTestElementPluginMap());
paramConfig.setReportId(request.getReportId()); paramConfig.setTestElementClassProtocalMap(apiPluginService.getTestElementProtocolMap());
paramConfig.setReportId(reportId);
EnvironmentInfoDTO environmentInfoDTO = environmentService.get(request.getEnvironmentId()); EnvironmentInfoDTO environmentInfoDTO = environmentService.get(request.getEnvironmentId());
// 设置环境 // 设置环境
paramConfig.setEnvConfig(environmentInfoDTO); paramConfig.setEnvConfig(environmentInfoDTO);

View File

@ -1053,7 +1053,6 @@ public class ApiScenarioService {
runRequest.setTestId(request.getId()); runRequest.setTestId(request.getId());
runRequest.setReportId(request.getReportId()); runRequest.setReportId(request.getReportId());
runRequest.setResourceType(ApiResourceType.API_SCENARIO.name()); runRequest.setResourceType(ApiResourceType.API_SCENARIO.name());
runRequest.setRunMode(ApiExecuteRunMode.BACKEND_DEBUG.name());
runRequest.setTempFileIds(request.getTempFileIds()); runRequest.setTempFileIds(request.getTempFileIds());
runRequest.setGrouped(request.getGrouped()); runRequest.setGrouped(request.getGrouped());
runRequest.setEnvironmentId(request.getEnvironmentId()); runRequest.setEnvironmentId(request.getEnvironmentId());

View File

@ -1,7 +1,6 @@
package io.metersphere.project.dto; package io.metersphere.project.dto;
import io.metersphere.project.enums.FakeErrorType; import io.metersphere.sdk.constants.FakeErrorType;
import io.metersphere.sdk.constants.TemplateScene;
import io.metersphere.system.valid.EnumValue; import io.metersphere.system.valid.EnumValue;
import io.metersphere.validation.groups.Created; import io.metersphere.validation.groups.Created;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;