diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/MsAssertionConfig.java b/backend/services/api-test/src/main/java/io/metersphere/api/dto/assertion/MsAssertionConfig.java similarity index 78% rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/MsAssertionConfig.java rename to backend/services/api-test/src/main/java/io/metersphere/api/dto/assertion/MsAssertionConfig.java index 657e4285af..123d656e90 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/MsAssertionConfig.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/dto/assertion/MsAssertionConfig.java @@ -1,5 +1,6 @@ -package io.metersphere.api.dto.request.assertion; +package io.metersphere.api.dto.assertion; +import io.metersphere.project.api.assertion.MsAssertion; import lombok.Data; import java.util.List; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/MsCommonElement.java b/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/MsCommonElement.java index ec29fb5e4d..994a99738f 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/MsCommonElement.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/MsCommonElement.java @@ -1,6 +1,6 @@ package io.metersphere.api.dto.request; -import io.metersphere.api.dto.request.assertion.MsAssertionConfig; +import io.metersphere.api.dto.assertion.MsAssertionConfig; import io.metersphere.api.dto.request.processors.MsProcessorConfig; import io.metersphere.plugin.api.spi.AbstractMsTestElement; import jakarta.validation.Valid; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/MsScenario.java b/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/MsScenario.java index 751315213d..0ce92895c3 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/MsScenario.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/MsScenario.java @@ -14,26 +14,35 @@ import java.util.Map; public class MsScenario extends AbstractMsTestElement { /** * 场景配置 + * 引用的场景才会设置 */ private ScenarioConfig scenarioConfig; /** * 场景步骤的配置 + * 引用的场景才会设置 */ private ScenarioStepConfig scenarioStepConfig; /** * 环境 Map * key 为项目ID * value 为环境信息 + * 引用的场景才会设置 */ private Map projectEnvMap; /** * 环境信息 + * 引用的场景才会设置 */ private EnvironmentInfoDTO environmentInfo; /** * 是否为环境组 * 是则使用 projectEnvMap * 否则使用 envInfo + * 引用的场景才会设置 */ private Boolean grouped; + /** + * {@link io.metersphere.api.constants.ApiScenarioStepRefType} + */ + private String refType; } diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/controller/MsCommentScriptElement.java b/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/controller/MsCommentScriptElement.java index 9ee46f441c..8ceb94a9f2 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/controller/MsCommentScriptElement.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/controller/MsCommentScriptElement.java @@ -1,8 +1,7 @@ package io.metersphere.api.dto.request.controller; -import io.metersphere.api.dto.request.processors.ScriptProcessor; import io.metersphere.plugin.api.spi.AbstractMsTestElement; -import io.metersphere.project.dto.environment.KeyValueParam; +import io.metersphere.project.api.KeyValueParam; import lombok.Data; import java.util.List; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/http/Header.java b/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/http/Header.java index 88d4a74eb2..1fe6e8e7bb 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/http/Header.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/http/Header.java @@ -1,5 +1,6 @@ package io.metersphere.api.dto.request.http; +import io.metersphere.project.api.KeyValueEnableParam; import lombok.Data; /** diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/http/QueryParam.java b/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/http/QueryParam.java index 824f04a054..dc25cb4c6f 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/http/QueryParam.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/http/QueryParam.java @@ -1,5 +1,6 @@ package io.metersphere.api.dto.request.http; +import io.metersphere.project.api.KeyValueEnableParam; import io.metersphere.system.valid.EnumValue; import lombok.Data; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/http/RestParam.java b/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/http/RestParam.java index ab8fb49bcb..7e911e25fa 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/http/RestParam.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/http/RestParam.java @@ -1,5 +1,6 @@ package io.metersphere.api.dto.request.http; +import io.metersphere.project.api.KeyValueEnableParam; import io.metersphere.system.valid.EnumValue; import lombok.Data; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/http/body/WWWFormKV.java b/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/http/body/WWWFormKV.java index 44d83064cf..460b0c76eb 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/http/body/WWWFormKV.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/http/body/WWWFormKV.java @@ -1,6 +1,6 @@ package io.metersphere.api.dto.request.http.body; -import io.metersphere.api.dto.request.http.KeyValueEnableParam; +import io.metersphere.project.api.KeyValueEnableParam; import io.metersphere.system.valid.EnumValue; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.Size; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/MsProcessorConfig.java b/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/MsProcessorConfig.java index b6b2866d2f..107b3ea7f7 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/MsProcessorConfig.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/MsProcessorConfig.java @@ -1,5 +1,6 @@ package io.metersphere.api.dto.request.processors; +import io.metersphere.project.api.processor.MsProcessor; import jakarta.validation.Valid; import lombok.Data; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/scenario/ScenarioConfig.java b/backend/services/api-test/src/main/java/io/metersphere/api/dto/scenario/ScenarioConfig.java index a31ea65aac..a3d085a3fc 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/scenario/ScenarioConfig.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/dto/scenario/ScenarioConfig.java @@ -1,6 +1,6 @@ package io.metersphere.api.dto.scenario; -import io.metersphere.api.dto.request.assertion.MsAssertionConfig; +import io.metersphere.api.dto.assertion.MsAssertionConfig; import io.metersphere.api.dto.request.processors.MsProcessorConfig; import lombok.Data; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/MsCommentScriptElementConverter.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/MsCommentScriptElementConverter.java index 96cd76ca17..a5180d4079 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/MsCommentScriptElementConverter.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/MsCommentScriptElementConverter.java @@ -1,11 +1,11 @@ package io.metersphere.api.parser.jmeter; import io.metersphere.api.dto.request.controller.MsCommentScriptElement; -import io.metersphere.api.dto.request.processors.ScriptProcessor; +import io.metersphere.project.api.KeyValueParam; +import io.metersphere.project.api.processor.ScriptProcessor; import io.metersphere.api.parser.jmeter.processor.ScriptProcessorConverter; import io.metersphere.plugin.api.dto.ParameterConfig; import io.metersphere.plugin.api.spi.AbstractJmeterElementConverter; -import io.metersphere.project.dto.environment.KeyValueParam; import org.apache.commons.collections.CollectionUtils; import org.apache.jmeter.modifiers.UserParameters; import org.apache.jmeter.protocol.java.sampler.BeanShellSampler; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/MsCommonElementConverter.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/MsCommonElementConverter.java index b614ad4849..6bb9f26974 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/MsCommonElementConverter.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/MsCommonElementConverter.java @@ -2,9 +2,9 @@ package io.metersphere.api.parser.jmeter; import io.metersphere.api.dto.request.MsCommonElement; -import io.metersphere.api.dto.request.assertion.MsAssertion; -import io.metersphere.api.dto.request.assertion.MsAssertionConfig; -import io.metersphere.api.dto.request.assertion.MsResponseCodeAssertion; +import io.metersphere.project.api.assertion.MsAssertion; +import io.metersphere.api.dto.assertion.MsAssertionConfig; +import io.metersphere.project.api.assertion.MsResponseCodeAssertion; import io.metersphere.api.dto.request.processors.MsProcessorConfig; import io.metersphere.api.parser.jmeter.processor.MsProcessorConverterFactory; import io.metersphere.api.parser.jmeter.processor.assertion.AssertionConverterFactory; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/ExtractPostProcessorConverter.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/ExtractPostProcessorConverter.java index fa51165b26..6ab4524852 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/ExtractPostProcessorConverter.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/ExtractPostProcessorConverter.java @@ -1,7 +1,7 @@ package io.metersphere.api.parser.jmeter.processor; -import io.metersphere.api.dto.request.processors.ExtractPostProcessor; -import io.metersphere.api.dto.request.processors.extract.MsExtract; +import io.metersphere.project.api.processor.ExtractPostProcessor; +import io.metersphere.project.api.processor.extract.MsExtract; import io.metersphere.api.parser.jmeter.processor.extract.ExtractConverterFactory; import io.metersphere.plugin.api.dto.ParameterConfig; import org.apache.jorphan.collections.HashTree; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/MsProcessorConverter.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/MsProcessorConverter.java index d44c1d9300..d0cbf38b2a 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/MsProcessorConverter.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/MsProcessorConverter.java @@ -1,7 +1,7 @@ package io.metersphere.api.parser.jmeter.processor; -import io.metersphere.api.dto.request.processors.MsProcessor; +import io.metersphere.project.api.processor.MsProcessor; import io.metersphere.plugin.api.dto.ParameterConfig; import org.apache.commons.lang3.BooleanUtils; import org.apache.jorphan.collections.HashTree; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/MsProcessorConverterFactory.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/MsProcessorConverterFactory.java index 09662c3597..e9ed78811e 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/MsProcessorConverterFactory.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/MsProcessorConverterFactory.java @@ -1,9 +1,9 @@ package io.metersphere.api.parser.jmeter.processor; -import io.metersphere.api.dto.request.processors.ExtractPostProcessor; -import io.metersphere.api.dto.request.processors.SQLProcessor; -import io.metersphere.api.dto.request.processors.ScriptProcessor; -import io.metersphere.api.dto.request.processors.TimeWaitingProcessor; +import io.metersphere.project.api.processor.ExtractPostProcessor; +import io.metersphere.project.api.processor.SQLProcessor; +import io.metersphere.project.api.processor.ScriptProcessor; +import io.metersphere.project.api.processor.TimeWaitingProcessor; import java.util.HashMap; import java.util.Map; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/ScriptPostProcessorConverter.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/ScriptPostProcessorConverter.java index 8007a691cd..1e49510238 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/ScriptPostProcessorConverter.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/ScriptPostProcessorConverter.java @@ -1,6 +1,6 @@ package io.metersphere.api.parser.jmeter.processor; -import io.metersphere.api.dto.request.processors.ScriptProcessor; +import io.metersphere.project.api.processor.ScriptProcessor; import io.metersphere.plugin.api.dto.ParameterConfig; import org.apache.jmeter.extractor.BeanShellPostProcessor; import org.apache.jmeter.extractor.JSR223PostProcessor; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/ScriptPreProcessorConverter.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/ScriptPreProcessorConverter.java index 48ce4e3804..c29ebd9fbc 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/ScriptPreProcessorConverter.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/ScriptPreProcessorConverter.java @@ -1,6 +1,6 @@ package io.metersphere.api.parser.jmeter.processor; -import io.metersphere.api.dto.request.processors.ScriptProcessor; +import io.metersphere.project.api.processor.ScriptProcessor; import io.metersphere.plugin.api.dto.ParameterConfig; import org.apache.jmeter.modifiers.BeanShellPreProcessor; import org.apache.jmeter.modifiers.JSR223PreProcessor; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/ScriptProcessorConverter.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/ScriptProcessorConverter.java index c9ea658545..b6996927d8 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/ScriptProcessorConverter.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/ScriptProcessorConverter.java @@ -1,7 +1,7 @@ package io.metersphere.api.parser.jmeter.processor; import io.metersphere.project.constants.ScriptLanguageType; -import io.metersphere.api.dto.request.processors.ScriptProcessor; +import io.metersphere.project.api.processor.ScriptProcessor; import io.metersphere.api.parser.jmeter.constants.JmeterAlias; import io.metersphere.api.parser.jmeter.constants.JmeterProperty; import org.apache.commons.lang3.StringUtils; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/SqlPostProcessorConverter.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/SqlPostProcessorConverter.java index 2047cab758..ccd3fe5b1a 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/SqlPostProcessorConverter.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/SqlPostProcessorConverter.java @@ -1,6 +1,6 @@ package io.metersphere.api.parser.jmeter.processor; -import io.metersphere.api.dto.request.processors.SQLProcessor; +import io.metersphere.project.api.processor.SQLProcessor; import io.metersphere.plugin.api.dto.ParameterConfig; import org.apache.jorphan.collections.HashTree; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/SqlPreProcessorConverter.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/SqlPreProcessorConverter.java index 4605b2257b..dff5f7d68b 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/SqlPreProcessorConverter.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/SqlPreProcessorConverter.java @@ -1,6 +1,6 @@ package io.metersphere.api.parser.jmeter.processor; -import io.metersphere.api.dto.request.processors.SQLProcessor; +import io.metersphere.project.api.processor.SQLProcessor; import io.metersphere.plugin.api.dto.ParameterConfig; import org.apache.jorphan.collections.HashTree; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/SqlProcessorConverter.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/SqlProcessorConverter.java index 2fbcf8c50b..200fac6740 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/SqlProcessorConverter.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/SqlProcessorConverter.java @@ -1,7 +1,7 @@ package io.metersphere.api.parser.jmeter.processor; -import io.metersphere.api.dto.request.processors.SQLProcessor; -import io.metersphere.api.dto.request.processors.ScriptProcessor; +import io.metersphere.project.api.processor.SQLProcessor; +import io.metersphere.project.api.processor.ScriptProcessor; import org.apache.jmeter.testelement.TestElement; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/TimeWaitingProcessorConverter.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/TimeWaitingProcessorConverter.java index 68731f5d96..d47b36777d 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/TimeWaitingProcessorConverter.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/TimeWaitingProcessorConverter.java @@ -1,6 +1,6 @@ package io.metersphere.api.parser.jmeter.processor; -import io.metersphere.api.dto.request.processors.TimeWaitingProcessor; +import io.metersphere.project.api.processor.TimeWaitingProcessor; import io.metersphere.plugin.api.dto.ParameterConfig; import org.apache.jmeter.save.SaveService; import org.apache.jmeter.testelement.TestElement; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/AssertionConverter.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/AssertionConverter.java index f521ae8527..6007a3876b 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/AssertionConverter.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/AssertionConverter.java @@ -1,6 +1,6 @@ package io.metersphere.api.parser.jmeter.processor.assertion; -import io.metersphere.api.dto.request.assertion.MsAssertion; +import io.metersphere.project.api.assertion.MsAssertion; import io.metersphere.api.parser.jmeter.validator.EnumValidator; import io.metersphere.plugin.api.dto.ParameterConfig; import io.metersphere.sdk.constants.MsAssertionCondition; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/AssertionConverterFactory.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/AssertionConverterFactory.java index 8a1dda17d7..4d8d8de2b9 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/AssertionConverterFactory.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/AssertionConverterFactory.java @@ -1,6 +1,6 @@ package io.metersphere.api.parser.jmeter.processor.assertion; -import io.metersphere.api.dto.request.assertion.*; +import io.metersphere.project.api.assertion.*; import java.util.HashMap; import java.util.Map; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/ResponseBodyAssertionConverter.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/ResponseBodyAssertionConverter.java index a2f9d3c000..9146b0c688 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/ResponseBodyAssertionConverter.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/ResponseBodyAssertionConverter.java @@ -1,6 +1,6 @@ package io.metersphere.api.parser.jmeter.processor.assertion; -import io.metersphere.api.dto.request.assertion.MsResponseBodyAssertion; +import io.metersphere.project.api.assertion.MsResponseBodyAssertion; import io.metersphere.api.parser.jmeter.processor.assertion.body.ResponseBodyTypeAssertionConverter; import io.metersphere.api.parser.jmeter.processor.assertion.body.ResponseBodyTypeAssertionFactory; import io.metersphere.plugin.api.dto.ParameterConfig; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/ResponseCodeAssertionConverter.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/ResponseCodeAssertionConverter.java index 75c4854bc8..4caf899d71 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/ResponseCodeAssertionConverter.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/ResponseCodeAssertionConverter.java @@ -1,8 +1,7 @@ package io.metersphere.api.parser.jmeter.processor.assertion; -import io.metersphere.api.dto.request.assertion.MsResponseCodeAssertion; +import io.metersphere.project.api.assertion.MsResponseCodeAssertion; import io.metersphere.plugin.api.dto.ParameterConfig; -import io.metersphere.sdk.constants.MsAssertionCondition; import org.apache.commons.lang3.StringUtils; import org.apache.jmeter.assertions.ResponseAssertion; import org.apache.jorphan.collections.HashTree; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/ResponseHeaderAssertionConverter.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/ResponseHeaderAssertionConverter.java index 8c0d54a812..73e5465bc9 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/ResponseHeaderAssertionConverter.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/ResponseHeaderAssertionConverter.java @@ -1,6 +1,6 @@ package io.metersphere.api.parser.jmeter.processor.assertion; -import io.metersphere.api.dto.request.assertion.MsResponseHeaderAssertion; +import io.metersphere.project.api.assertion.MsResponseHeaderAssertion; import io.metersphere.api.parser.jmeter.validator.EnumValidator; import io.metersphere.plugin.api.dto.ParameterConfig; import io.metersphere.sdk.constants.MsAssertionCondition; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/ResponseTimeAssertionConverter.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/ResponseTimeAssertionConverter.java index 41f36f1776..405b30296a 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/ResponseTimeAssertionConverter.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/ResponseTimeAssertionConverter.java @@ -1,6 +1,6 @@ package io.metersphere.api.parser.jmeter.processor.assertion; -import io.metersphere.api.dto.request.assertion.MsResponseTimeAssertion; +import io.metersphere.project.api.assertion.MsResponseTimeAssertion; import io.metersphere.plugin.api.dto.ParameterConfig; import org.apache.jmeter.assertions.DurationAssertion; import org.apache.jmeter.save.SaveService; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/ScriptAssertionConverter.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/ScriptAssertionConverter.java index 1359b45cea..facc80ed30 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/ScriptAssertionConverter.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/ScriptAssertionConverter.java @@ -1,7 +1,7 @@ package io.metersphere.api.parser.jmeter.processor.assertion; -import io.metersphere.api.dto.request.assertion.MsScriptAssertion; -import io.metersphere.api.dto.request.processors.ScriptProcessor; +import io.metersphere.project.api.assertion.MsScriptAssertion; +import io.metersphere.project.api.processor.ScriptProcessor; import io.metersphere.api.parser.jmeter.processor.ScriptProcessorConverter; import io.metersphere.plugin.api.dto.ParameterConfig; import io.metersphere.sdk.util.BeanUtils; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/VariableAssertionConverter.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/VariableAssertionConverter.java index b1afab4783..19f13cab4e 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/VariableAssertionConverter.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/VariableAssertionConverter.java @@ -1,8 +1,8 @@ package io.metersphere.api.parser.jmeter.processor.assertion; import io.metersphere.project.constants.ScriptLanguageType; -import io.metersphere.api.dto.request.assertion.MsVariableAssertion; -import io.metersphere.api.dto.request.processors.ScriptProcessor; +import io.metersphere.project.api.assertion.MsVariableAssertion; +import io.metersphere.project.api.processor.ScriptProcessor; import io.metersphere.api.parser.jmeter.processor.ScriptProcessorConverter; import io.metersphere.plugin.api.dto.ParameterConfig; import io.metersphere.sdk.constants.MsAssertionCondition; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/body/DocumentAssertionConverter.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/body/DocumentAssertionConverter.java index db6386113e..aabd1070fc 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/body/DocumentAssertionConverter.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/body/DocumentAssertionConverter.java @@ -1,6 +1,6 @@ package io.metersphere.api.parser.jmeter.processor.assertion.body; -import io.metersphere.api.dto.request.assertion.body.MsDocumentAssertion; +import io.metersphere.project.api.assertion.body.MsDocumentAssertion; import io.metersphere.plugin.api.dto.ParameterConfig; import org.apache.jorphan.collections.HashTree; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/body/JSONPathAssertionConverter.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/body/JSONPathAssertionConverter.java index 1079e1102b..f18d22f8de 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/body/JSONPathAssertionConverter.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/body/JSONPathAssertionConverter.java @@ -1,7 +1,7 @@ package io.metersphere.api.parser.jmeter.processor.assertion.body; -import io.metersphere.api.dto.request.assertion.body.MsJSONPathAssertion; -import io.metersphere.api.dto.request.assertion.body.MsJSONPathAssertionItem; +import io.metersphere.project.api.assertion.body.MsJSONPathAssertion; +import io.metersphere.project.api.assertion.body.MsJSONPathAssertionItem; import io.metersphere.assertions.JSONPathAssertion; import io.metersphere.plugin.api.dto.ParameterConfig; import org.apache.commons.lang3.BooleanUtils; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/body/RegexAssertionConverter.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/body/RegexAssertionConverter.java index e8b44f2449..47a6366f20 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/body/RegexAssertionConverter.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/body/RegexAssertionConverter.java @@ -1,7 +1,7 @@ package io.metersphere.api.parser.jmeter.processor.assertion.body; -import io.metersphere.api.dto.request.assertion.body.MsRegexAssertion; -import io.metersphere.api.dto.request.assertion.body.MsRegexAssertionItem; +import io.metersphere.project.api.assertion.body.MsRegexAssertion; +import io.metersphere.project.api.assertion.body.MsRegexAssertionItem; import io.metersphere.api.parser.jmeter.processor.assertion.AssertionConverter; import io.metersphere.plugin.api.dto.ParameterConfig; import org.apache.commons.lang3.BooleanUtils; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/body/ResponseBodyTypeAssertionConverter.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/body/ResponseBodyTypeAssertionConverter.java index 9c222c058d..becb28fc7b 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/body/ResponseBodyTypeAssertionConverter.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/body/ResponseBodyTypeAssertionConverter.java @@ -1,6 +1,6 @@ package io.metersphere.api.parser.jmeter.processor.assertion.body; -import io.metersphere.api.dto.request.assertion.body.MsBodyAssertionItem; +import io.metersphere.project.api.assertion.body.MsBodyAssertionItem; import io.metersphere.plugin.api.dto.ParameterConfig; import org.apache.commons.lang3.BooleanUtils; import org.apache.jorphan.collections.HashTree; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/body/ResponseBodyTypeAssertionFactory.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/body/ResponseBodyTypeAssertionFactory.java index af0d301cb2..5a6a885e7d 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/body/ResponseBodyTypeAssertionFactory.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/body/ResponseBodyTypeAssertionFactory.java @@ -1,9 +1,9 @@ package io.metersphere.api.parser.jmeter.processor.assertion.body; -import io.metersphere.api.dto.request.assertion.body.MsDocumentAssertion; -import io.metersphere.api.dto.request.assertion.body.MsJSONPathAssertion; -import io.metersphere.api.dto.request.assertion.body.MsRegexAssertion; -import io.metersphere.api.dto.request.assertion.body.MsXPathAssertion; +import io.metersphere.project.api.assertion.body.MsDocumentAssertion; +import io.metersphere.project.api.assertion.body.MsJSONPathAssertion; +import io.metersphere.project.api.assertion.body.MsRegexAssertion; +import io.metersphere.project.api.assertion.body.MsXPathAssertion; import java.util.HashMap; import java.util.Map; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/body/XPathAssertionConverter.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/body/XPathAssertionConverter.java index 2898af8539..5fee9ab670 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/body/XPathAssertionConverter.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/assertion/body/XPathAssertionConverter.java @@ -1,8 +1,8 @@ package io.metersphere.api.parser.jmeter.processor.assertion.body; -import io.metersphere.api.dto.request.assertion.body.MsXPathAssertion; -import io.metersphere.api.dto.request.assertion.body.MsXPathAssertionItem; -import io.metersphere.api.dto.request.processors.extract.XPathExtract; +import io.metersphere.project.api.assertion.body.MsXPathAssertion; +import io.metersphere.project.api.assertion.body.MsXPathAssertionItem; +import io.metersphere.project.api.processor.extract.XPathExtract; import io.metersphere.plugin.api.dto.ParameterConfig; import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.lang3.StringUtils; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/extract/ExtractConverter.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/extract/ExtractConverter.java index c06fc083fc..59c230faaa 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/extract/ExtractConverter.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/extract/ExtractConverter.java @@ -1,7 +1,7 @@ package io.metersphere.api.parser.jmeter.processor.extract; -import io.metersphere.api.dto.request.processors.extract.MsExtract; -import io.metersphere.api.dto.request.processors.extract.ResultMatchingExtract; +import io.metersphere.project.api.processor.extract.MsExtract; +import io.metersphere.project.api.processor.extract.ResultMatchingExtract; import io.metersphere.plugin.api.dto.ParameterConfig; import org.apache.commons.lang3.StringUtils; import org.apache.jorphan.collections.HashTree; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/extract/ExtractConverterFactory.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/extract/ExtractConverterFactory.java index fde6c2b806..3c63aa1e9e 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/extract/ExtractConverterFactory.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/extract/ExtractConverterFactory.java @@ -1,8 +1,8 @@ package io.metersphere.api.parser.jmeter.processor.extract; -import io.metersphere.api.dto.request.processors.extract.JSONPathExtract; -import io.metersphere.api.dto.request.processors.extract.RegexExtract; -import io.metersphere.api.dto.request.processors.extract.XPathExtract; +import io.metersphere.project.api.processor.extract.JSONPathExtract; +import io.metersphere.project.api.processor.extract.RegexExtract; +import io.metersphere.project.api.processor.extract.XPathExtract; import java.util.HashMap; import java.util.Map; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/extract/JSONPathExtractConverter.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/extract/JSONPathExtractConverter.java index f18a6106de..450b83dd74 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/extract/JSONPathExtractConverter.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/extract/JSONPathExtractConverter.java @@ -1,6 +1,6 @@ package io.metersphere.api.parser.jmeter.processor.extract; -import io.metersphere.api.dto.request.processors.extract.JSONPathExtract; +import io.metersphere.project.api.processor.extract.JSONPathExtract; import io.metersphere.plugin.api.dto.ParameterConfig; import org.apache.jmeter.extractor.json.jsonpath.JSONPostProcessor; import org.apache.jmeter.save.SaveService; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/extract/RegexExtractConverter.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/extract/RegexExtractConverter.java index 11e0d83284..8efed037f3 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/extract/RegexExtractConverter.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/extract/RegexExtractConverter.java @@ -1,6 +1,6 @@ package io.metersphere.api.parser.jmeter.processor.extract; -import io.metersphere.api.dto.request.processors.extract.RegexExtract; +import io.metersphere.project.api.processor.extract.RegexExtract; import io.metersphere.plugin.api.dto.ParameterConfig; import org.apache.commons.lang3.StringUtils; import org.apache.jmeter.extractor.RegexExtractor; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/extract/XPathExtractConverter.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/extract/XPathExtractConverter.java index 447bc74085..8d1281311f 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/extract/XPathExtractConverter.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/jmeter/processor/extract/XPathExtractConverter.java @@ -1,6 +1,6 @@ package io.metersphere.api.parser.jmeter.processor.extract; -import io.metersphere.api.dto.request.processors.extract.XPathExtract; +import io.metersphere.project.api.processor.extract.XPathExtract; import io.metersphere.plugin.api.dto.ParameterConfig; import org.apache.commons.lang3.StringUtils; import org.apache.jmeter.extractor.XPath2Extractor; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/step/ApiScenarioStepParser.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/step/ApiScenarioStepParser.java index e47287a0d5..e4ae8774dd 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/step/ApiScenarioStepParser.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/step/ApiScenarioStepParser.java @@ -19,6 +19,7 @@ public class ApiScenarioStepParser extends StepParser { @Override public AbstractMsTestElement parseTestElement(ApiScenarioStepCommonDTO step, String resourceBlob, String stepDetail) { MsScenario msScenario = new MsScenario(); + msScenario.setRefType(step.getRefType()); if (isRef(step.getRefType())) { if (StringUtils.isNotBlank(resourceBlob)) { msScenario.setScenarioConfig(JSON.parseObject(resourceBlob, ScenarioConfig.class)); diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/parser/step/ApiStepParser.java b/backend/services/api-test/src/main/java/io/metersphere/api/parser/step/ApiStepParser.java index 4f4183a94c..bfa7e8c4c3 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/parser/step/ApiStepParser.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/parser/step/ApiStepParser.java @@ -2,7 +2,7 @@ package io.metersphere.api.parser.step; import io.metersphere.api.domain.ApiDefinitionBlob; import io.metersphere.api.domain.ApiScenarioStep; -import io.metersphere.api.dto.request.http.KeyValueParam; +import io.metersphere.project.api.KeyValueParam; import io.metersphere.api.dto.request.http.MsHTTPElement; import io.metersphere.api.dto.request.http.body.Body; import io.metersphere.api.dto.scenario.ApiScenarioStepCommonDTO; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/service/scenario/ApiScenarioService.java b/backend/services/api-test/src/main/java/io/metersphere/api/service/scenario/ApiScenarioService.java index 3e5ead0303..2f4e979595 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/service/scenario/ApiScenarioService.java +++ b/backend/services/api-test/src/main/java/io/metersphere/api/service/scenario/ApiScenarioService.java @@ -1029,6 +1029,7 @@ public class ApiScenarioService { // 解析生成待执行的场景树 MsScenario msScenario = new MsScenario(); + msScenario.setRefType(ApiScenarioStepRefType.DIRECT.name()); msScenario.setScenarioConfig(getScenarioConfig(request, hasSave)); // 获取场景环境相关配置 diff --git a/backend/services/api-test/src/test/java/io/metersphere/api/controller/ApiDebugControllerTests.java b/backend/services/api-test/src/test/java/io/metersphere/api/controller/ApiDebugControllerTests.java index 8dde56be7c..62663889c3 100644 --- a/backend/services/api-test/src/test/java/io/metersphere/api/controller/ApiDebugControllerTests.java +++ b/backend/services/api-test/src/test/java/io/metersphere/api/controller/ApiDebugControllerTests.java @@ -6,7 +6,7 @@ import io.metersphere.api.domain.ApiDebugBlob; import io.metersphere.api.domain.ApiFileResource; import io.metersphere.api.dto.debug.*; import io.metersphere.api.dto.request.MsCommonElement; -import io.metersphere.api.dto.request.assertion.MsAssertionConfig; +import io.metersphere.api.dto.assertion.MsAssertionConfig; import io.metersphere.api.dto.request.http.MsHTTPElement; import io.metersphere.api.dto.request.http.body.Body; import io.metersphere.api.mapper.ApiDebugBlobMapper; diff --git a/backend/services/api-test/src/test/java/io/metersphere/api/controller/ApiScenarioControllerTests.java b/backend/services/api-test/src/test/java/io/metersphere/api/controller/ApiScenarioControllerTests.java index 83418553ae..2d64e92d34 100644 --- a/backend/services/api-test/src/test/java/io/metersphere/api/controller/ApiScenarioControllerTests.java +++ b/backend/services/api-test/src/test/java/io/metersphere/api/controller/ApiScenarioControllerTests.java @@ -7,8 +7,8 @@ import io.metersphere.api.constants.ApiScenarioStepType; import io.metersphere.api.domain.*; import io.metersphere.api.dto.definition.ApiDefinitionAddRequest; import io.metersphere.api.dto.definition.ApiTestCaseAddRequest; -import io.metersphere.api.dto.request.assertion.MsAssertionConfig; -import io.metersphere.api.dto.request.assertion.MsScriptAssertion; +import io.metersphere.api.dto.assertion.MsAssertionConfig; +import io.metersphere.project.api.assertion.MsScriptAssertion; import io.metersphere.api.dto.request.http.MsHTTPElement; import io.metersphere.api.dto.response.ApiScenarioBatchOperationResponse; import io.metersphere.api.dto.response.OperationDataInfo; diff --git a/backend/services/api-test/src/test/java/io/metersphere/api/controller/ApiTestControllerTests.java b/backend/services/api-test/src/test/java/io/metersphere/api/controller/ApiTestControllerTests.java index 3f18ff9aa0..5e583efa68 100644 --- a/backend/services/api-test/src/test/java/io/metersphere/api/controller/ApiTestControllerTests.java +++ b/backend/services/api-test/src/test/java/io/metersphere/api/controller/ApiTestControllerTests.java @@ -5,7 +5,7 @@ import io.metersphere.api.service.BaseResourcePoolTestService; import io.metersphere.plugin.api.dto.ApiPluginSelectOption; import io.metersphere.project.constants.ScriptLanguageType; import io.metersphere.project.dto.customfunction.request.CustomFunctionRunRequest; -import io.metersphere.project.dto.environment.KeyValueParam; +import io.metersphere.project.api.KeyValueParam; import io.metersphere.sdk.constants.PermissionConstants; import io.metersphere.system.base.BasePluginTestService; import io.metersphere.system.base.BaseTest; diff --git a/backend/services/api-test/src/test/java/io/metersphere/api/controller/MsHTTPElementTest.java b/backend/services/api-test/src/test/java/io/metersphere/api/controller/MsHTTPElementTest.java index 23290d1199..6991609083 100644 --- a/backend/services/api-test/src/test/java/io/metersphere/api/controller/MsHTTPElementTest.java +++ b/backend/services/api-test/src/test/java/io/metersphere/api/controller/MsHTTPElementTest.java @@ -2,10 +2,9 @@ package io.metersphere.api.controller; import io.metersphere.api.dto.ApiFile; import io.metersphere.api.dto.ApiParamConfig; +import io.metersphere.api.dto.assertion.MsAssertionConfig; import io.metersphere.api.dto.definition.HttpResponse; import io.metersphere.api.dto.request.MsCommonElement; -import io.metersphere.api.dto.request.assertion.*; -import io.metersphere.api.dto.request.assertion.body.*; import io.metersphere.api.dto.request.http.*; import io.metersphere.api.dto.request.http.auth.BasicAuth; import io.metersphere.api.dto.request.http.auth.DigestAuth; @@ -13,10 +12,13 @@ import io.metersphere.api.dto.request.http.auth.HTTPAuth; import io.metersphere.api.dto.request.http.auth.NoAuth; import io.metersphere.api.dto.request.http.body.*; import io.metersphere.api.dto.request.processors.*; -import io.metersphere.api.dto.request.processors.extract.JSONPathExtract; -import io.metersphere.api.dto.request.processors.extract.RegexExtract; -import io.metersphere.api.dto.request.processors.extract.ResultMatchingExtract; -import io.metersphere.api.dto.request.processors.extract.XPathExtract; +import io.metersphere.project.api.assertion.*; +import io.metersphere.project.api.assertion.body.*; +import io.metersphere.project.api.processor.extract.JSONPathExtract; +import io.metersphere.project.api.processor.extract.RegexExtract; +import io.metersphere.project.api.processor.extract.ResultMatchingExtract; +import io.metersphere.project.api.processor.extract.XPathExtract; +import io.metersphere.project.api.processor.ExtractPostProcessor; import io.metersphere.api.dto.schema.JsonSchemaItem; import io.metersphere.api.parser.TestElementParser; import io.metersphere.api.parser.TestElementParserFactory; @@ -24,6 +26,10 @@ import io.metersphere.api.utils.ApiDataUtils; import io.metersphere.plugin.api.dto.ParameterConfig; import io.metersphere.plugin.api.spi.AbstractMsTestElement; import io.metersphere.project.constants.ScriptLanguageType; +import io.metersphere.project.api.KeyValueEnableParam; +import io.metersphere.project.api.processor.SQLProcessor; +import io.metersphere.project.api.processor.ScriptProcessor; +import io.metersphere.project.api.processor.TimeWaitingProcessor; import io.metersphere.sdk.constants.MsAssertionCondition; import io.metersphere.sdk.util.BeanUtils; import org.junit.jupiter.api.Assertions; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/http/KeyValueEnableParam.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/KeyValueEnableParam.java similarity index 90% rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/http/KeyValueEnableParam.java rename to backend/services/project-management/src/main/java/io/metersphere/project/api/KeyValueEnableParam.java index 22c76742a1..7113ac96c8 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/http/KeyValueEnableParam.java +++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/KeyValueEnableParam.java @@ -1,4 +1,4 @@ -package io.metersphere.api.dto.request.http; +package io.metersphere.project.api; import jakarta.validation.constraints.Size; import lombok.Data; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/http/KeyValueParam.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/KeyValueParam.java similarity index 91% rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/http/KeyValueParam.java rename to backend/services/project-management/src/main/java/io/metersphere/project/api/KeyValueParam.java index 01e03e390c..951ee7a9b5 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/http/KeyValueParam.java +++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/KeyValueParam.java @@ -1,4 +1,4 @@ -package io.metersphere.api.dto.request.http; +package io.metersphere.project.api; import jakarta.validation.constraints.Size; import lombok.Data; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/MsAssertion.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/MsAssertion.java similarity index 83% rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/MsAssertion.java rename to backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/MsAssertion.java index c84212dec2..210b5d7650 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/MsAssertion.java +++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/MsAssertion.java @@ -1,10 +1,7 @@ -package io.metersphere.api.dto.request.assertion; +package io.metersphere.project.api.assertion; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; -import io.metersphere.api.dto.request.processors.extract.JSONPathExtract; -import io.metersphere.api.dto.request.processors.extract.RegexExtract; -import io.metersphere.api.dto.request.processors.extract.XPathExtract; import jakarta.validation.constraints.Size; import lombok.Data; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/MsResponseBodyAssertion.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/MsResponseBodyAssertion.java similarity index 88% rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/MsResponseBodyAssertion.java rename to backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/MsResponseBodyAssertion.java index 0a9f977161..9a5cfd5afc 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/MsResponseBodyAssertion.java +++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/MsResponseBodyAssertion.java @@ -1,10 +1,10 @@ -package io.metersphere.api.dto.request.assertion; +package io.metersphere.project.api.assertion; import com.fasterxml.jackson.annotation.JsonTypeName; -import io.metersphere.api.dto.request.assertion.body.MsDocumentAssertion; -import io.metersphere.api.dto.request.assertion.body.MsJSONPathAssertion; -import io.metersphere.api.dto.request.assertion.body.MsRegexAssertion; -import io.metersphere.api.dto.request.assertion.body.MsXPathAssertion; +import io.metersphere.project.api.assertion.body.MsDocumentAssertion; +import io.metersphere.project.api.assertion.body.MsJSONPathAssertion; +import io.metersphere.project.api.assertion.body.MsRegexAssertion; +import io.metersphere.project.api.assertion.body.MsXPathAssertion; import io.metersphere.system.valid.EnumValue; import jakarta.validation.Valid; import lombok.Data; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/MsResponseCodeAssertion.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/MsResponseCodeAssertion.java similarity index 93% rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/MsResponseCodeAssertion.java rename to backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/MsResponseCodeAssertion.java index 814677bf13..0e20ad46c6 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/MsResponseCodeAssertion.java +++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/MsResponseCodeAssertion.java @@ -1,4 +1,4 @@ -package io.metersphere.api.dto.request.assertion; +package io.metersphere.project.api.assertion; import com.fasterxml.jackson.annotation.JsonTypeName; import io.metersphere.system.valid.EnumValue; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/MsResponseHeaderAssertion.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/MsResponseHeaderAssertion.java similarity index 95% rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/MsResponseHeaderAssertion.java rename to backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/MsResponseHeaderAssertion.java index 829db6651e..78e5595884 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/MsResponseHeaderAssertion.java +++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/MsResponseHeaderAssertion.java @@ -1,4 +1,4 @@ -package io.metersphere.api.dto.request.assertion; +package io.metersphere.project.api.assertion; import com.fasterxml.jackson.annotation.JsonTypeName; import io.metersphere.system.valid.EnumValue; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/MsResponseTimeAssertion.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/MsResponseTimeAssertion.java similarity index 87% rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/MsResponseTimeAssertion.java rename to backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/MsResponseTimeAssertion.java index 3124cde58c..2445d9959d 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/MsResponseTimeAssertion.java +++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/MsResponseTimeAssertion.java @@ -1,4 +1,4 @@ -package io.metersphere.api.dto.request.assertion; +package io.metersphere.project.api.assertion; import com.fasterxml.jackson.annotation.JsonTypeName; import lombok.Data; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/MsScriptAssertion.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/MsScriptAssertion.java similarity index 79% rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/MsScriptAssertion.java rename to backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/MsScriptAssertion.java index 9a1ffbcaf7..8a201b3826 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/MsScriptAssertion.java +++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/MsScriptAssertion.java @@ -1,8 +1,8 @@ -package io.metersphere.api.dto.request.assertion; +package io.metersphere.project.api.assertion; import com.fasterxml.jackson.annotation.JsonTypeName; -import io.metersphere.api.dto.request.http.KeyValueParam; -import io.metersphere.api.dto.request.processors.ScriptProcessor; +import io.metersphere.project.api.KeyValueParam; +import io.metersphere.project.api.processor.ScriptProcessor; import lombok.Data; import java.util.List; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/MsVariableAssertion.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/MsVariableAssertion.java similarity index 95% rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/MsVariableAssertion.java rename to backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/MsVariableAssertion.java index ea49eed8ba..c4277b4897 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/MsVariableAssertion.java +++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/MsVariableAssertion.java @@ -1,4 +1,4 @@ -package io.metersphere.api.dto.request.assertion; +package io.metersphere.project.api.assertion; import com.fasterxml.jackson.annotation.JsonTypeName; import io.metersphere.system.valid.EnumValue; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/body/MsBodyAssertionItem.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/body/MsBodyAssertionItem.java similarity index 81% rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/body/MsBodyAssertionItem.java rename to backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/body/MsBodyAssertionItem.java index 1e4b08f06e..14b2adce5f 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/body/MsBodyAssertionItem.java +++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/body/MsBodyAssertionItem.java @@ -1,4 +1,4 @@ -package io.metersphere.api.dto.request.assertion.body; +package io.metersphere.project.api.assertion.body; import lombok.Data; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/body/MsDocumentAssertion.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/body/MsDocumentAssertion.java similarity index 95% rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/body/MsDocumentAssertion.java rename to backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/body/MsDocumentAssertion.java index 228470beb4..58e4ecd78e 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/body/MsDocumentAssertion.java +++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/body/MsDocumentAssertion.java @@ -1,4 +1,4 @@ -package io.metersphere.api.dto.request.assertion.body; +package io.metersphere.project.api.assertion.body; import io.metersphere.system.valid.EnumValue; import jakarta.validation.Valid; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/body/MsDocumentAssertionElement.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/body/MsDocumentAssertionElement.java similarity index 96% rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/body/MsDocumentAssertionElement.java rename to backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/body/MsDocumentAssertionElement.java index 273a73667e..3f7bdef6d1 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/body/MsDocumentAssertionElement.java +++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/body/MsDocumentAssertionElement.java @@ -1,4 +1,4 @@ -package io.metersphere.api.dto.request.assertion.body; +package io.metersphere.project.api.assertion.body; import io.metersphere.sdk.constants.MsAssertionCondition; import io.metersphere.sdk.constants.ValueEnum; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/body/MsJSONPathAssertion.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/body/MsJSONPathAssertion.java similarity index 82% rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/body/MsJSONPathAssertion.java rename to backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/body/MsJSONPathAssertion.java index d4479d8ae2..8301d18e5c 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/body/MsJSONPathAssertion.java +++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/body/MsJSONPathAssertion.java @@ -1,4 +1,4 @@ -package io.metersphere.api.dto.request.assertion.body; +package io.metersphere.project.api.assertion.body; import lombok.Data; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/body/MsJSONPathAssertionItem.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/body/MsJSONPathAssertionItem.java similarity index 93% rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/body/MsJSONPathAssertionItem.java rename to backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/body/MsJSONPathAssertionItem.java index 9bd49e2391..43c2d35f36 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/body/MsJSONPathAssertionItem.java +++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/body/MsJSONPathAssertionItem.java @@ -1,4 +1,4 @@ -package io.metersphere.api.dto.request.assertion.body; +package io.metersphere.project.api.assertion.body; import io.metersphere.system.valid.EnumValue; import jakarta.validation.constraints.NotBlank; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/body/MsRegexAssertion.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/body/MsRegexAssertion.java similarity index 84% rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/body/MsRegexAssertion.java rename to backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/body/MsRegexAssertion.java index 3f880cb127..513fddf7b1 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/body/MsRegexAssertion.java +++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/body/MsRegexAssertion.java @@ -1,4 +1,4 @@ -package io.metersphere.api.dto.request.assertion.body; +package io.metersphere.project.api.assertion.body; import jakarta.validation.Valid; import lombok.Data; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/body/MsRegexAssertionItem.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/body/MsRegexAssertionItem.java similarity index 86% rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/body/MsRegexAssertionItem.java rename to backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/body/MsRegexAssertionItem.java index d4b8179def..5f357a1620 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/body/MsRegexAssertionItem.java +++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/body/MsRegexAssertionItem.java @@ -1,4 +1,4 @@ -package io.metersphere.api.dto.request.assertion.body; +package io.metersphere.project.api.assertion.body; import lombok.Data; import org.apache.commons.lang3.StringUtils; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/body/MsXPathAssertion.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/body/MsXPathAssertion.java similarity index 91% rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/body/MsXPathAssertion.java rename to backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/body/MsXPathAssertion.java index 32f914b8b7..fe6f87fe6f 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/body/MsXPathAssertion.java +++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/body/MsXPathAssertion.java @@ -1,4 +1,4 @@ -package io.metersphere.api.dto.request.assertion.body; +package io.metersphere.project.api.assertion.body; import io.metersphere.system.valid.EnumValue; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/body/MsXPathAssertionItem.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/body/MsXPathAssertionItem.java similarity index 89% rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/body/MsXPathAssertionItem.java rename to backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/body/MsXPathAssertionItem.java index bdf5c70139..303f48ab32 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/assertion/body/MsXPathAssertionItem.java +++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/assertion/body/MsXPathAssertionItem.java @@ -1,4 +1,4 @@ -package io.metersphere.api.dto.request.assertion.body; +package io.metersphere.project.api.assertion.body; import lombok.Data; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/ExtractPostProcessor.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/processor/ExtractPostProcessor.java similarity index 74% rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/ExtractPostProcessor.java rename to backend/services/project-management/src/main/java/io/metersphere/project/api/processor/ExtractPostProcessor.java index 9ddb699404..e1d99d4693 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/ExtractPostProcessor.java +++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/processor/ExtractPostProcessor.java @@ -1,7 +1,7 @@ -package io.metersphere.api.dto.request.processors; +package io.metersphere.project.api.processor; import com.fasterxml.jackson.annotation.JsonTypeName; -import io.metersphere.api.dto.request.processors.extract.MsExtract; +import io.metersphere.project.api.processor.extract.MsExtract; import lombok.Data; import java.util.List; diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/MsProcessor.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/processor/MsProcessor.java similarity index 72% rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/MsProcessor.java rename to backend/services/project-management/src/main/java/io/metersphere/project/api/processor/MsProcessor.java index f8b00f5256..a938eae2e7 100644 --- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/MsProcessor.java +++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/processor/MsProcessor.java @@ -1,7 +1,9 @@ -package io.metersphere.api.dto.request.processors; +package io.metersphere.project.api.processor; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import io.metersphere.project.dto.environment.processors.RequestScriptProcessor; +import io.metersphere.project.dto.environment.processors.ScenarioScriptProcessor; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.Size; import lombok.Data; @@ -15,6 +17,8 @@ import lombok.Data; * SQL {@link SQLProcessor} * TIME_WAITING {@link TimeWaitingProcessor} * EXTRACT {@link ExtractPostProcessor} + * SCENARIO_SCRIPT {@link ScenarioScriptProcessor} + * REQUEST_SCRIPT {@link RequestScriptProcessor} *
  * @Author: jianxing
  * @CreateTime: 2023-11-07  10:17
@@ -23,6 +27,8 @@ import lombok.Data;
 @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "processorType")
 @JsonSubTypes({
         @JsonSubTypes.Type(value = ScriptProcessor.class),
+        @JsonSubTypes.Type(value = ScenarioScriptProcessor.class),
+        @JsonSubTypes.Type(value = RequestScriptProcessor.class),
         @JsonSubTypes.Type(value = SQLProcessor.class),
         @JsonSubTypes.Type(value = TimeWaitingProcessor.class),
         @JsonSubTypes.Type(value = ExtractPostProcessor.class),
diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/SQLProcessor.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/processor/SQLProcessor.java
similarity index 86%
rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/SQLProcessor.java
rename to backend/services/project-management/src/main/java/io/metersphere/project/api/processor/SQLProcessor.java
index 8b13f372e1..fb53c21544 100644
--- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/SQLProcessor.java
+++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/processor/SQLProcessor.java
@@ -1,8 +1,8 @@
-package io.metersphere.api.dto.request.processors;
+package io.metersphere.project.api.processor;
 
 import com.fasterxml.jackson.annotation.JsonTypeName;
-import io.metersphere.api.dto.request.http.KeyValueEnableParam;
-import io.metersphere.api.dto.request.http.KeyValueParam;
+import io.metersphere.project.api.KeyValueEnableParam;
+import io.metersphere.project.api.KeyValueParam;
 import jakarta.validation.Valid;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.Size;
diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/ScriptProcessor.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/processor/ScriptProcessor.java
similarity index 89%
rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/ScriptProcessor.java
rename to backend/services/project-management/src/main/java/io/metersphere/project/api/processor/ScriptProcessor.java
index dcdaca3284..34715b80aa 100644
--- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/ScriptProcessor.java
+++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/processor/ScriptProcessor.java
@@ -1,8 +1,8 @@
-package io.metersphere.api.dto.request.processors;
+package io.metersphere.project.api.processor;
 
 import com.fasterxml.jackson.annotation.JsonTypeName;
-import io.metersphere.api.dto.request.http.KeyValueParam;
 import io.metersphere.project.constants.ScriptLanguageType;
+import io.metersphere.project.api.KeyValueParam;
 import io.metersphere.system.valid.EnumValue;
 import jakarta.validation.Valid;
 import jakarta.validation.constraints.Size;
@@ -10,6 +10,7 @@ import lombok.Data;
 
 import java.util.List;
 
+
 /**
  * @Author: jianxing
  * @CreateTime: 2023-11-06  21:12
diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/TimeWaitingProcessor.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/processor/TimeWaitingProcessor.java
similarity index 87%
rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/TimeWaitingProcessor.java
rename to backend/services/project-management/src/main/java/io/metersphere/project/api/processor/TimeWaitingProcessor.java
index 972e414334..75b4dfc305 100644
--- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/TimeWaitingProcessor.java
+++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/processor/TimeWaitingProcessor.java
@@ -1,4 +1,4 @@
-package io.metersphere.api.dto.request.processors;
+package io.metersphere.project.api.processor;
 
 import com.fasterxml.jackson.annotation.JsonTypeName;
 import lombok.Data;
diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/extract/JSONPathExtract.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/processor/extract/JSONPathExtract.java
similarity index 77%
rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/extract/JSONPathExtract.java
rename to backend/services/project-management/src/main/java/io/metersphere/project/api/processor/extract/JSONPathExtract.java
index 192f3f414d..2ed1fbb79b 100644
--- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/extract/JSONPathExtract.java
+++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/processor/extract/JSONPathExtract.java
@@ -1,4 +1,4 @@
-package io.metersphere.api.dto.request.processors.extract;
+package io.metersphere.project.api.processor.extract;
 
 import com.fasterxml.jackson.annotation.JsonTypeName;
 import lombok.Data;
diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/extract/MsExtract.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/processor/extract/MsExtract.java
similarity index 96%
rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/extract/MsExtract.java
rename to backend/services/project-management/src/main/java/io/metersphere/project/api/processor/extract/MsExtract.java
index 9ea7926bca..35274c1811 100644
--- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/extract/MsExtract.java
+++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/processor/extract/MsExtract.java
@@ -1,4 +1,4 @@
-package io.metersphere.api.dto.request.processors.extract;
+package io.metersphere.project.api.processor.extract;
 
 import com.fasterxml.jackson.annotation.JsonSubTypes;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/extract/RegexExtract.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/processor/extract/RegexExtract.java
similarity index 94%
rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/extract/RegexExtract.java
rename to backend/services/project-management/src/main/java/io/metersphere/project/api/processor/extract/RegexExtract.java
index fb58122c98..6259763f30 100644
--- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/extract/RegexExtract.java
+++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/processor/extract/RegexExtract.java
@@ -1,4 +1,4 @@
-package io.metersphere.api.dto.request.processors.extract;
+package io.metersphere.project.api.processor.extract;
 
 import com.fasterxml.jackson.annotation.JsonTypeName;
 import io.metersphere.system.valid.EnumValue;
diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/extract/ResultMatchingExtract.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/processor/extract/ResultMatchingExtract.java
similarity index 93%
rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/extract/ResultMatchingExtract.java
rename to backend/services/project-management/src/main/java/io/metersphere/project/api/processor/extract/ResultMatchingExtract.java
index 4df858bdbb..71e336896b 100644
--- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/extract/ResultMatchingExtract.java
+++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/processor/extract/ResultMatchingExtract.java
@@ -1,4 +1,4 @@
-package io.metersphere.api.dto.request.processors.extract;
+package io.metersphere.project.api.processor.extract;
 
 import io.metersphere.system.valid.EnumValue;
 import jakarta.validation.constraints.Size;
diff --git a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/extract/XPathExtract.java b/backend/services/project-management/src/main/java/io/metersphere/project/api/processor/extract/XPathExtract.java
similarity index 90%
rename from backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/extract/XPathExtract.java
rename to backend/services/project-management/src/main/java/io/metersphere/project/api/processor/extract/XPathExtract.java
index 649499351e..00f6d8b893 100644
--- a/backend/services/api-test/src/main/java/io/metersphere/api/dto/request/processors/extract/XPathExtract.java
+++ b/backend/services/project-management/src/main/java/io/metersphere/project/api/processor/extract/XPathExtract.java
@@ -1,4 +1,4 @@
-package io.metersphere.api.dto.request.processors.extract;
+package io.metersphere.project.api.processor.extract;
 
 import com.fasterxml.jackson.annotation.JsonTypeName;
 import io.metersphere.system.valid.EnumValue;
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/customfunction/request/CustomFunctionRunRequest.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/customfunction/request/CustomFunctionRunRequest.java
index ed0640731b..8a1fff7d58 100644
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/customfunction/request/CustomFunctionRunRequest.java
+++ b/backend/services/project-management/src/main/java/io/metersphere/project/dto/customfunction/request/CustomFunctionRunRequest.java
@@ -1,6 +1,6 @@
 package io.metersphere.project.dto.customfunction.request;
 
-import io.metersphere.project.dto.environment.KeyValueParam;
+import io.metersphere.project.api.KeyValueParam;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.Size;
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/EnvironmentConfig.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/EnvironmentConfig.java
index ea2bf27069..a06bde8f46 100644
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/EnvironmentConfig.java
+++ b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/EnvironmentConfig.java
@@ -1,13 +1,11 @@
 package io.metersphere.project.dto.environment;
 
-import io.metersphere.project.dto.environment.assertion.MsAssertionConfig;
 import io.metersphere.project.dto.environment.auth.AuthConfig;
 import io.metersphere.project.dto.environment.common.CommonParams;
 import io.metersphere.project.dto.environment.datasource.DataSource;
 import io.metersphere.project.dto.environment.host.HostConfig;
 import io.metersphere.project.dto.environment.http.HttpConfig;
-import io.metersphere.project.dto.environment.processors.post.EnvironmentPostScript;
-import io.metersphere.project.dto.environment.processors.pre.EnvironmentPreScript;
+import io.metersphere.project.dto.environment.processors.EnvProcessorConfig;
 import io.metersphere.project.dto.environment.variables.CommonVariables;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
@@ -34,11 +32,11 @@ public class EnvironmentConfig implements Serializable {
     @Schema(description = "认证配置")
     private AuthConfig authConfig;
     @Schema(description = "全局前置脚本")
-    private EnvironmentPreScript preScript;
+    private EnvProcessorConfig preProcessorConfig;
     @Schema(description = "全局后置脚本")
-    private EnvironmentPostScript postScript;
+    private EnvProcessorConfig postProcessorConfig;
     @Schema(description = "全局断言")
-    private MsAssertionConfig assertions;
+    private MsEnvAssertionConfig assertionConfig;
     @Schema(description = "插件自定义的配置项,key为插件ID,value 为对应配置")
     private Map pluginConfigMap;
 
@@ -50,9 +48,9 @@ public class EnvironmentConfig implements Serializable {
         this.dataSources = List.of(new DataSource());
         this.hostConfig = new HostConfig();
         this.authConfig = new AuthConfig();
-        this.preScript = new EnvironmentPreScript();
-        this.postScript = new EnvironmentPostScript();
-        this.assertions = new MsAssertionConfig();
+        this.preProcessorConfig = new EnvProcessorConfig();
+        this.postProcessorConfig = new EnvProcessorConfig();
+        this.assertionConfig = new MsEnvAssertionConfig();
     }
 
 }
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/GlobalParams.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/GlobalParams.java
index eb3e4171dc..e5d2c191c8 100644
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/GlobalParams.java
+++ b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/GlobalParams.java
@@ -1,5 +1,6 @@
 package io.metersphere.project.dto.environment;
 
+import io.metersphere.project.api.KeyValueEnableParam;
 import io.metersphere.project.dto.environment.variables.CommonVariables;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/KeyValueEnableParam.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/KeyValueEnableParam.java
deleted file mode 100644
index 82a4a15f2e..0000000000
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/KeyValueEnableParam.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package io.metersphere.project.dto.environment;
-
-import lombok.Data;
-
-@Data
-public class KeyValueEnableParam extends KeyValueParam {
-    /**
-     * 是否启用
-     */
-    private Boolean enable = true;
-    /**
-     * 描述
-     */
-    private String description;
-
-}
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/KeyValueParam.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/KeyValueParam.java
deleted file mode 100644
index ad06d45daa..0000000000
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/KeyValueParam.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package io.metersphere.project.dto.environment;
-
-import lombok.Data;
-import org.apache.commons.lang3.StringUtils;
-
-@Data
-public class KeyValueParam {
-    /**
-     * 键
-     */
-    private String key;
-    /**
-     * 值
-     */
-    private String value;
-
-    public boolean isValid() {
-        return StringUtils.isNotBlank(key);
-    }
-}
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/MsEnvAssertionConfig.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/MsEnvAssertionConfig.java
new file mode 100644
index 0000000000..09fa6eb205
--- /dev/null
+++ b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/MsEnvAssertionConfig.java
@@ -0,0 +1,19 @@
+package io.metersphere.project.dto.environment;
+
+import io.metersphere.project.api.assertion.MsAssertion;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 断言设置
+ * @Author: jianxing
+ * @CreateTime: 2023-11-23  17:26
+ */
+@Data
+public class MsEnvAssertionConfig {
+    /**
+     * 断言列表
+     */
+    private List assertions;
+}
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/MsAssertion.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/MsAssertion.java
deleted file mode 100644
index 1a5c1933d1..0000000000
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/MsAssertion.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package io.metersphere.project.dto.environment.assertion;
-
-import com.fasterxml.jackson.annotation.JsonSubTypes;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import lombok.Data;
-
-/**
- * 断言
- */
-@Data
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "assertionType")
-@JsonSubTypes({
-        @JsonSubTypes.Type(value = MsResponseCodeAssertion.class),
-        @JsonSubTypes.Type(value = MsResponseHeaderAssertion.class),
-        @JsonSubTypes.Type(value = MsResponseBodyAssertion.class),
-        @JsonSubTypes.Type(value = MsResponseTimeAssertion.class),
-        @JsonSubTypes.Type(value = MsScriptAssertion.class),
-        @JsonSubTypes.Type(value = MsVariableAssertion.class),
-})
-public abstract class MsAssertion {
-    /**
-     * 是否启用
-     */
-    private Boolean enable = true;
-    /**
-     * 断言名称
-     */
-    private String name;
-}
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/MsAssertionConfig.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/MsAssertionConfig.java
deleted file mode 100644
index 72a43a0e8b..0000000000
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/MsAssertionConfig.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package io.metersphere.project.dto.environment.assertion;
-
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-public class MsAssertionConfig {
-    /**
-     * 断言列表
-     */
-    private List assertions;
-}
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/MsResponseBodyAssertion.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/MsResponseBodyAssertion.java
deleted file mode 100644
index dd70cc1c20..0000000000
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/MsResponseBodyAssertion.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package io.metersphere.project.dto.environment.assertion;
-
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import io.metersphere.project.dto.environment.assertion.body.MsDocumentAssertion;
-import io.metersphere.project.dto.environment.assertion.body.MsJSONPathAssertion;
-import io.metersphere.project.dto.environment.assertion.body.MsRegexAssertion;
-import io.metersphere.project.dto.environment.assertion.body.MsXPathAssertion;
-import lombok.Data;
-
-import java.util.HashMap;
-import java.util.Map;
-
-@Data
-@JsonTypeName("ENV_RESPONSE_BODY")
-public class MsResponseBodyAssertion extends MsAssertion {
-    /**
-     * 断言类型
-     * 根据断言类型,选择对应的断言
-     * 这里跟前端数据结构有差异
-     * 后端从设计层面支持多种断言,前端只支持一种
-     * 同时切换可以同时持久化两种类型
-     *
-     * @see MsBodyAssertionType
-     */
-    private String assertionBodyType;
-    /**
-     * jsonPath断言
-     */
-    private MsJSONPathAssertion jsonPathAssertion;
-    /**
-     * xpath断言
-     */
-    private MsXPathAssertion xpathAssertion;
-    /**
-     * 文档断言
-     */
-    private MsDocumentAssertion documentAssertion;
-    /**
-     * 正则断言
-     */
-    private MsRegexAssertion regexAssertion;
-
-    private static Map bodyAssertionClassMap = new HashMap<>();
-
-    static {
-        bodyAssertionClassMap.put(MsBodyAssertionType.JSON_PATH, MsJSONPathAssertion.class);
-        bodyAssertionClassMap.put(MsBodyAssertionType.DOCUMENT, MsDocumentAssertion.class);
-        bodyAssertionClassMap.put(MsBodyAssertionType.REGEX, MsRegexAssertion.class);
-        bodyAssertionClassMap.put(MsBodyAssertionType.XPATH, MsXPathAssertion.class);
-    }
-
-    public Class getBodyAssertionClassByType() {
-        return bodyAssertionClassMap.get(MsBodyAssertionType.valueOf(assertionBodyType));
-    }
-
-    public Object getBodyAssertionDataByType() {
-        Map boadyAssertionMap = new HashMap<>();
-        boadyAssertionMap.put(MsBodyAssertionType.JSON_PATH, jsonPathAssertion);
-        boadyAssertionMap.put(MsBodyAssertionType.DOCUMENT, documentAssertion);
-        boadyAssertionMap.put(MsBodyAssertionType.REGEX, regexAssertion);
-        boadyAssertionMap.put(MsBodyAssertionType.XPATH, xpathAssertion);
-        return boadyAssertionMap.get(MsBodyAssertionType.valueOf(assertionBodyType));
-    }
-
-    public enum MsBodyAssertionType {
-        /**
-         * 正则断言
-         */
-        REGEX,
-        /**
-         * XPath断言
-         */
-        XPATH,
-        /**
-         * JSONPath断言
-         */
-        JSON_PATH,
-        /**
-         * 文档断言
-         */
-        DOCUMENT
-    }
-}
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/MsResponseCodeAssertion.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/MsResponseCodeAssertion.java
deleted file mode 100644
index 2175ab1147..0000000000
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/MsResponseCodeAssertion.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package io.metersphere.project.dto.environment.assertion;
-
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import lombok.Data;
-
-@Data
-@JsonTypeName("ENV_RESPONSE_CODE")
-public class MsResponseCodeAssertion extends MsAssertion {
-    /**
-     * 匹配条件
-     * 不校验即忽略状态
-     * 选择其他条件时,也忽略状态
-     * 不校验可搭配其他校验使用
-     *
-     * @see io.metersphere.sdk.constants.MsAssertionCondition
-     */
-    private String condition;
-    /**
-     * 匹配值
-     */
-    private String expectedValue;
-}
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/MsResponseHeaderAssertion.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/MsResponseHeaderAssertion.java
deleted file mode 100644
index 13959cd0e5..0000000000
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/MsResponseHeaderAssertion.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package io.metersphere.project.dto.environment.assertion;
-
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-@JsonTypeName("ENV_RESPONSE_HEADER")
-public class MsResponseHeaderAssertion extends MsAssertion {
-
-    private List assertions;
-
-
-    @Data
-    public static class ResponseHeaderAssertionItem {
-        /**
-         * 是否启用
-         */
-        private Boolean enable = true;
-        /**
-         * 响应头
-         */
-        private String header;
-        /**
-         * 匹配条件
-         * 值为 MsAssertionCondition
-         */
-        private String condition;
-        /**
-         * 匹配值
-         */
-        private String expectedValue;
-    }
-}
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/MsResponseTimeAssertion.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/MsResponseTimeAssertion.java
deleted file mode 100644
index a425a33664..0000000000
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/MsResponseTimeAssertion.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package io.metersphere.project.dto.environment.assertion;
-
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import lombok.Data;
-
-@Data
-@JsonTypeName("ENV_RESPONSE_TIME")
-public class MsResponseTimeAssertion extends MsAssertion {
-    /**
-     * 最大响应时间
-     * 响应时间在xx毫秒内
-     */
-    private Long expectedValue;
-}
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/MsScriptAssertion.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/MsScriptAssertion.java
deleted file mode 100644
index 6b2a7f89a8..0000000000
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/MsScriptAssertion.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package io.metersphere.project.dto.environment.assertion;
-
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import io.metersphere.project.dto.environment.KeyValueParam;
-import io.metersphere.project.dto.environment.processors.ScriptProcessor;
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-@JsonTypeName("ENV_SCRIPT_ASSERTION")
-public class MsScriptAssertion extends MsAssertion {
-    /**
-     * 脚本内容
-     */
-    private String script;
-    /**
-     * 脚本语言
-     *
-     * @see ScriptProcessor.ScriptLanguageType
-     */
-    private String scriptLanguage;
-    /**
-     * 是否启用公共脚本
-     */
-    private Boolean enableCommonScript;
-    /**
-     * 脚本ID
-     */
-    private String scriptId;
-    /**
-     * 公共脚本入参
-     */
-    private List params;
-}
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/MsVariableAssertion.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/MsVariableAssertion.java
deleted file mode 100644
index 4b8f54e453..0000000000
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/MsVariableAssertion.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package io.metersphere.project.dto.environment.assertion;
-
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-@JsonTypeName("ENV_VARIABLE")
-public class MsVariableAssertion extends MsAssertion {
-
-    private List variableAssertionItems;
-
-    @Data
-    public static class VariableAssertionItem {
-        /**
-         * 是否启用
-         */
-        private Boolean enable = true;
-        /**
-         * 变量名
-         */
-        private String variableName;
-        /**
-         * 匹配条件
-         * 值为 MsAssertionCondition
-         */
-        private String condition;
-        /**
-         * 匹配值
-         */
-        private String expectedValue;
-    }
-}
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/body/MsBodyAssertionItem.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/body/MsBodyAssertionItem.java
deleted file mode 100644
index af8a8bac93..0000000000
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/body/MsBodyAssertionItem.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package io.metersphere.project.dto.environment.assertion.body;
-
-import lombok.Data;
-
-@Data
-public abstract class MsBodyAssertionItem {
-    private Boolean enable = true;
-}
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/body/MsDocumentAssertion.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/body/MsDocumentAssertion.java
deleted file mode 100644
index e8dfef5dc9..0000000000
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/body/MsDocumentAssertion.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package io.metersphere.project.dto.environment.assertion.body;
-
-import lombok.Data;
-
-@Data
-public class MsDocumentAssertion extends MsBodyAssertionItem {
-    /**
-     * 跟随定义的apiId
-     * 传空为不跟随接口定义
-     */
-    private String followApiId;
-    /**
-     * 文档类型
-     * json 或者 xml
-     * 根据文档类型,选择对应的文档
-     * 这里跟前端数据结构有差异
-     * 后端从设计层面支持多种文档格式,前端只支持一种
-     * 同时切换可以同时持久化两种格式
-     *
-     * @see DocumentType
-     */
-    private String documentType;
-    /**
-     * json格式的文档断言
-     */
-    private MsDocumentAssertionElement jsonAssertion;
-    /**
-     * xml格式的文档断言
-     */
-    private MsDocumentAssertionElement xmlAssertion;
-
-    public enum DocumentType {
-        JSON,
-        XML;
-    }
-}
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/body/MsDocumentAssertionElement.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/body/MsDocumentAssertionElement.java
deleted file mode 100644
index e68c183b3d..0000000000
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/body/MsDocumentAssertionElement.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package io.metersphere.project.dto.environment.assertion.body;
-
-import lombok.Data;
-
-import java.util.List;
-
-
-@Data
-public class MsDocumentAssertionElement {
-    private String id;
-    /**
-     * 参数名
-     */
-    private String paramName;
-    /**
-     * 必含
-     */
-    private Boolean include = false;
-    /**
-     * 类型
-     */
-    private String type;
-    /**
-     * 类型校验
-     */
-    private Boolean typeVerification = false;
-    /**
-     * 匹配条件
-     */
-    private String condition;
-    /**
-     * 匹配值
-     * 即预期结果
-     */
-    private Object expectedResult;
-    /**
-     * 组内校验
-     */
-    private Boolean arrayVerification;
-    /**
-     * 子对象
-     */
-    private List children;
-}
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/body/MsJSONPathAssertion.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/body/MsJSONPathAssertion.java
deleted file mode 100644
index 889c6d23d4..0000000000
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/body/MsJSONPathAssertion.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package io.metersphere.project.dto.environment.assertion.body;
-
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-public class MsJSONPathAssertion {
-
-    /**
-     * 断言列表
-     */
-    private List assertions;
-}
-
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/body/MsJSONPathAssertionItem.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/body/MsJSONPathAssertionItem.java
deleted file mode 100644
index 20c0c85f00..0000000000
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/body/MsJSONPathAssertionItem.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package io.metersphere.project.dto.environment.assertion.body;
-
-import lombok.Data;
-import org.apache.commons.lang3.StringUtils;
-
-@Data
-public class MsJSONPathAssertionItem extends MsBodyAssertionItem {
-    private String expression;
-    private String condition;
-    private String expectedValue;
-
-
-    public boolean isValid() {
-        return StringUtils.isNotBlank(expression) && StringUtils.isNotBlank(condition) && StringUtils.isNotBlank(expectedValue);
-    }
-}
-
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/body/MsRegexAssertion.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/body/MsRegexAssertion.java
deleted file mode 100644
index 34a8712a11..0000000000
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/body/MsRegexAssertion.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package io.metersphere.project.dto.environment.assertion.body;
-
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-public class MsRegexAssertion {
-    /**
-     * 断言列表
-     */
-    private List assertions;
-}
\ No newline at end of file
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/body/MsRegexAssertionItem.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/body/MsRegexAssertionItem.java
deleted file mode 100644
index f6af573401..0000000000
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/body/MsRegexAssertionItem.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package io.metersphere.project.dto.environment.assertion.body;
-
-import lombok.Data;
-import org.apache.commons.lang3.StringUtils;
-
-@Data
-public class MsRegexAssertionItem extends MsBodyAssertionItem {
-    private String expression;
-
-    public boolean isValid() {
-        return StringUtils.isNotBlank(expression);
-    }
-}
\ No newline at end of file
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/body/MsXPathAssertion.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/body/MsXPathAssertion.java
deleted file mode 100644
index 9bc258b88f..0000000000
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/body/MsXPathAssertion.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package io.metersphere.project.dto.environment.assertion.body;
-
-
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-public class MsXPathAssertion {
-    /**
-     * 响应内容格式
-     * xml 或者 html
-     */
-    private String responseFormat;
-    /**
-     * xpath断言
-     */
-    private List assertions;
-
-    public enum ResponseFormat {
-        /**
-         * XML
-         */
-        XML,
-        /**
-         * HTML
-         */
-        HTML
-    }
-}
\ No newline at end of file
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/body/MsXPathAssertionItem.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/body/MsXPathAssertionItem.java
deleted file mode 100644
index ba12282d5a..0000000000
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/assertion/body/MsXPathAssertionItem.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package io.metersphere.project.dto.environment.assertion.body;
-
-
-import lombok.Data;
-import org.apache.commons.lang3.StringUtils;
-
-@Data
-public class MsXPathAssertionItem extends MsBodyAssertionItem {
-    private String expression;
-    private String expectedValue;
-
-    public boolean isValid() {
-        return StringUtils.isNotBlank(expression) && StringUtils.isNotBlank(expectedValue);
-    }
-}
\ No newline at end of file
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/http/HttpConfig.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/http/HttpConfig.java
index b38260a242..51e853028a 100644
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/http/HttpConfig.java
+++ b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/http/HttpConfig.java
@@ -2,7 +2,7 @@ package io.metersphere.project.dto.environment.http;
 
 
 import io.metersphere.project.dto.environment.KeyValue;
-import io.metersphere.project.dto.environment.KeyValueEnableParam;
+import io.metersphere.project.api.KeyValueEnableParam;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/ApiEnvPlanProcessorConfig.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/ApiEnvPlanProcessorConfig.java
new file mode 100644
index 0000000000..2628eac470
--- /dev/null
+++ b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/ApiEnvPlanProcessorConfig.java
@@ -0,0 +1,21 @@
+package io.metersphere.project.dto.environment.processors;
+
+import io.metersphere.project.api.processor.MsProcessor;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 接口测试-场景级前后置配置
+ * @Author: jianxing
+ * @CreateTime: 2024-02-01  14:53
+ */
+@Data
+public class ApiEnvPlanProcessorConfig {
+
+    // 预留其他配置
+
+    @Schema(description = "前后置列表")
+    private List processors;
+}
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/ApiEnvProcessorConfig.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/ApiEnvProcessorConfig.java
new file mode 100644
index 0000000000..5c37278973
--- /dev/null
+++ b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/ApiEnvProcessorConfig.java
@@ -0,0 +1,18 @@
+package io.metersphere.project.dto.environment.processors;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author: jianxing
+ * @CreateTime: 2024-02-01  14:49
+ */
+@Data
+public class ApiEnvProcessorConfig {
+    @Schema(description = "测试计划级前后置配置")
+    private ApiEnvPlanProcessorConfig planProcessorConfig;
+    @Schema(description = "场景级前后置配置")
+    private ApiEnvScenarioProcessorConfig scenarioProcessorConfig;
+    @Schema(description = "请求级前后置配置")
+    private ApiEnvRequestProcessorConfig requestProcessorConfig;
+}
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/ApiEnvRequestProcessorConfig.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/ApiEnvRequestProcessorConfig.java
new file mode 100644
index 0000000000..c25a4785bc
--- /dev/null
+++ b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/ApiEnvRequestProcessorConfig.java
@@ -0,0 +1,21 @@
+package io.metersphere.project.dto.environment.processors;
+
+import io.metersphere.project.api.processor.MsProcessor;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 接口测试-请求级前后置配置
+ * @Author: jianxing
+ * @CreateTime: 2024-02-01  14:53
+ */
+@Data
+public class ApiEnvRequestProcessorConfig {
+
+    // 预留其他配置
+
+    @Schema(description = "前后置列表")
+    private List processors;
+}
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/ApiEnvScenarioProcessorConfig.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/ApiEnvScenarioProcessorConfig.java
new file mode 100644
index 0000000000..8fff4836f2
--- /dev/null
+++ b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/ApiEnvScenarioProcessorConfig.java
@@ -0,0 +1,21 @@
+package io.metersphere.project.dto.environment.processors;
+
+import io.metersphere.project.api.processor.MsProcessor;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 接口测试-场景级前后置配置
+ * @Author: jianxing
+ * @CreateTime: 2024-02-01  14:53
+ */
+@Data
+public class ApiEnvScenarioProcessorConfig {
+
+    // 预留其他配置
+
+    @Schema(description = "前后置列表")
+    private List processors;
+}
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/ApiScript.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/ApiScript.java
deleted file mode 100644
index 087bf9dcdf..0000000000
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/ApiScript.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package io.metersphere.project.dto.environment.processors;
-
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-public class ApiScript {
-    @Schema(description = "测试计划级 包括脚本和sql")
-    private List planProcessors;
-    @Schema(description = "场景级  包括脚本和sql")
-    private List scenarioProcessors;
-    @Schema(description = "步骤级  包括脚本和sql 脚本是脚本前和脚本后")
-    private List stepProcessors;
-}
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/EnvProcessorConfig.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/EnvProcessorConfig.java
new file mode 100644
index 0000000000..219772e497
--- /dev/null
+++ b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/EnvProcessorConfig.java
@@ -0,0 +1,13 @@
+package io.metersphere.project.dto.environment.processors;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * 环境的前后置配置
+ */
+@Data
+public class EnvProcessorConfig {
+    @Schema(description = "接口测试前后置配置")
+    private ApiEnvProcessorConfig apiProcessorConfig;
+}
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/MsProcessor.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/MsProcessor.java
deleted file mode 100644
index 30617aa26e..0000000000
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/MsProcessor.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package io.metersphere.project.dto.environment.processors;
-
-import com.fasterxml.jackson.annotation.JsonSubTypes;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import lombok.Data;
-
-@Data
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "processorType")
-@JsonSubTypes({
-        @JsonSubTypes.Type(value = ScriptProcessor.class),
-        @JsonSubTypes.Type(value = SQLProcessor.class),
-        @JsonSubTypes.Type(value = ScenarioScript.class),
-        @JsonSubTypes.Type(value = StepScript.class),
-})
-public abstract class MsProcessor {
-    /**
-     * 名称
-     */
-    private String name;
-    /**
-     * 是否启用
-     */
-    private Boolean enable = true;
-}
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/RequestScriptProcessor.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/RequestScriptProcessor.java
new file mode 100644
index 0000000000..aeafc8213e
--- /dev/null
+++ b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/RequestScriptProcessor.java
@@ -0,0 +1,26 @@
+package io.metersphere.project.dto.environment.processors;
+
+
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import io.metersphere.project.api.processor.ScriptProcessor;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@JsonTypeName("REQUEST_SCRIPT")
+public class RequestScriptProcessor extends ScriptProcessor {
+
+    /**
+     * 忽略的请求协议列表
+     */
+    @Schema(description = "忽略请求")
+    private List ignoreProtocols;
+    /**
+     * 是否是步骤内前置脚本前
+     */
+    @Schema(description = "是否是步骤内前置脚本前")
+    private Boolean beforeStepScript = true;
+}
+
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/SQLProcessor.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/SQLProcessor.java
deleted file mode 100644
index 3b2c3babf7..0000000000
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/SQLProcessor.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package io.metersphere.project.dto.environment.processors;
-
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import io.metersphere.project.dto.environment.KeyValueEnableParam;
-import io.metersphere.project.dto.environment.KeyValueParam;
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-@JsonTypeName("ENV_SQL")
-public class SQLProcessor extends MsProcessor {
-    /**
-     * 脚本内容
-     */
-    private String script;
-    /**
-     * 超时时间
-     */
-    private long queryTimeout;
-    /**
-     * 存储结果
-     */
-    private String resultVariable;
-    /**
-     * 按列存储
-     */
-    private String variableNames;
-    /**
-     * 变量列表
-     */
-    private List variables;
-    /**
-     * 环境ID
-     */
-    private String environmentId;
-    /**
-     * 数据源ID
-     */
-    private String dataSourceId;
-    /**
-     * 提取参数
-     */
-    private List extractParams;
-}
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/ScenarioScript.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/ScenarioScript.java
deleted file mode 100644
index 3bd4d15e30..0000000000
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/ScenarioScript.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package io.metersphere.project.dto.environment.processors;
-
-
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-@Data
-@JsonTypeName("SCENARIO_SCRIPT")
-public class ScenarioScript extends ScriptProcessor {
-
-    @Schema(description = "关联场景结果 true: 是/false: 否")
-    private Boolean associateScenarioResults = false;
-}
-
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/ScenarioScriptProcessor.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/ScenarioScriptProcessor.java
new file mode 100644
index 0000000000..7e94316e87
--- /dev/null
+++ b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/ScenarioScriptProcessor.java
@@ -0,0 +1,19 @@
+package io.metersphere.project.dto.environment.processors;
+
+
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import io.metersphere.project.api.processor.ScriptProcessor;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@JsonTypeName("SCENARIO_SCRIPT")
+public class ScenarioScriptProcessor extends ScriptProcessor {
+
+    /**
+     * 是否关联场景结果,默认否
+     */
+    @Schema(description = "是否关联场景结果,默认否")
+    private Boolean associateScenarioResult = false;
+}
+
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/ScriptProcessor.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/ScriptProcessor.java
deleted file mode 100644
index 8ed551ae69..0000000000
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/ScriptProcessor.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package io.metersphere.project.dto.environment.processors;
-
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import io.metersphere.project.dto.environment.KeyValueParam;
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-@JsonTypeName("ENV_SCRIPT")
-public class ScriptProcessor extends MsProcessor {
-    /**
-     * 脚本内容
-     */
-    private String script;
-    /**
-     * 脚本语言
-     *
-     * @see io.metersphere.project.constants.ScriptLanguageType
-     */
-    private String scriptLanguage;
-    /**
-     * 是否启用公共脚本
-     */
-    private Boolean enableCommonScript = false;
-    /**
-     * 脚本ID
-     */
-    private String scriptId;
-    /**
-     * 公共脚本入参
-     */
-    private List params;
-}
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/StepScript.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/StepScript.java
deleted file mode 100644
index a8f08affbe..0000000000
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/StepScript.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package io.metersphere.project.dto.environment.processors;
-
-
-import com.fasterxml.jackson.annotation.JsonTypeName;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-@JsonTypeName("STEP_SCRIPT")
-public class StepScript extends ScriptProcessor {
-    @Schema(description = "忽略请求")
-    private List filterRequestScript;
-    @Schema(description = "脚本执行顺序 true:先执行 false:后执行")
-    private Boolean scriptExecBefore = true;
-}
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/post/EnvironmentPostScript.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/post/EnvironmentPostScript.java
deleted file mode 100644
index 279a492b71..0000000000
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/post/EnvironmentPostScript.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package io.metersphere.project.dto.environment.processors.post;
-
-
-import io.metersphere.project.dto.environment.processors.ApiScript;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-@Data
-public class EnvironmentPostScript {
-    @Schema(description = "接口测试")
-    private ApiScript apiPostScript;
-    @Schema(description = "UI测试")
-    private UiPostScript uiPostScript;
-
-
-}
diff --git a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/pre/EnvironmentPreScript.java b/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/pre/EnvironmentPreScript.java
deleted file mode 100644
index b4af1e56d8..0000000000
--- a/backend/services/project-management/src/main/java/io/metersphere/project/dto/environment/processors/pre/EnvironmentPreScript.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package io.metersphere.project.dto.environment.processors.pre;
-
-
-import io.metersphere.project.dto.environment.processors.ApiScript;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-@Data
-public class EnvironmentPreScript {
-    @Schema(description = "接口测试")
-    private ApiScript apiPreScript;
-    @Schema(description = "UI测试")
-    private UiPreScript uiPreScript;
-
-}
diff --git a/backend/services/project-management/src/test/java/io/metersphere/project/controller/EnvironmentControllerTests.java b/backend/services/project-management/src/test/java/io/metersphere/project/controller/EnvironmentControllerTests.java
index 49c7d28a59..5974b2a5fe 100644
--- a/backend/services/project-management/src/test/java/io/metersphere/project/controller/EnvironmentControllerTests.java
+++ b/backend/services/project-management/src/test/java/io/metersphere/project/controller/EnvironmentControllerTests.java
@@ -1,9 +1,12 @@
 package io.metersphere.project.controller;
 
 
+import io.metersphere.project.api.KeyValueEnableParam;
+import io.metersphere.project.api.assertion.*;
+import io.metersphere.project.api.assertion.body.*;
+import io.metersphere.project.api.processor.SQLProcessor;
+import io.metersphere.project.api.processor.ScriptProcessor;
 import io.metersphere.project.dto.environment.*;
-import io.metersphere.project.dto.environment.assertion.*;
-import io.metersphere.project.dto.environment.assertion.body.*;
 import io.metersphere.project.dto.environment.auth.AuthConfig;
 import io.metersphere.project.dto.environment.common.CommonParams;
 import io.metersphere.project.dto.environment.datasource.DataSource;
@@ -11,9 +14,6 @@ import io.metersphere.project.dto.environment.host.Host;
 import io.metersphere.project.dto.environment.host.HostConfig;
 import io.metersphere.project.dto.environment.http.HttpConfig;
 import io.metersphere.project.dto.environment.processors.*;
-import io.metersphere.project.dto.environment.processors.post.EnvironmentPostScript;
-import io.metersphere.project.dto.environment.processors.post.UiPostScript;
-import io.metersphere.project.dto.environment.processors.pre.EnvironmentPreScript;
 import io.metersphere.project.dto.environment.processors.pre.UiPreScript;
 import io.metersphere.project.dto.environment.ssl.KeyStoreConfig;
 import io.metersphere.project.dto.environment.ssl.KeyStoreEntry;
@@ -279,20 +279,12 @@ public class EnvironmentControllerTests extends BaseTest {
         return authConfig;
     }
 
-    private EnvironmentPreScript createEnvironmentPreScript() {
-        EnvironmentPreScript environmentPreScript = new EnvironmentPreScript();
-        environmentPreScript.setApiPreScript(createApiScript());
-        environmentPreScript.setUiPreScript(createUiPreScript());
+    private EnvProcessorConfig createEnvironmentProcessorConfig() {
+        EnvProcessorConfig environmentPreScript = new EnvProcessorConfig();
+        environmentPreScript.setApiProcessorConfig(createApiEnvProcessorConfig());
         return environmentPreScript;
     }
 
-    private EnvironmentPostScript createEnvironmentPostScript() {
-        EnvironmentPostScript environmentPostScript = new EnvironmentPostScript();
-        environmentPostScript.setApiPostScript(createApiScript());
-        environmentPostScript.setUiPostScript(createUiPostScript());
-        return environmentPostScript;
-    }
-
     private KeyStoreConfig createKeyStoreConfig() {
         KeyStoreConfig keyStoreConfig = new KeyStoreConfig();
         KeyStoreEntry keyStoreEntry = new KeyStoreEntry();
@@ -313,8 +305,8 @@ public class EnvironmentControllerTests extends BaseTest {
         return keyStoreConfig;
     }
 
-    private ApiScript createApiScript() {
-        ApiScript apiScript = new ApiScript();
+    private ApiEnvProcessorConfig createApiEnvProcessorConfig() {
+        ApiEnvProcessorConfig apiScript = new ApiEnvProcessorConfig();
         ScriptProcessor scriptProcessor = new ScriptProcessor();
         scriptProcessor.setScript("script");
         scriptProcessor.setName("测试计划级别脚本");
@@ -322,22 +314,28 @@ public class EnvironmentControllerTests extends BaseTest {
         sqlProcessor.setEnvironmentId("environmentId");
         sqlProcessor.setDataSourceId("dataSourceId");
         sqlProcessor.setQueryTimeout(1000L);
-        apiScript.setPlanProcessors(List.of(scriptProcessor, sqlProcessor));
-        ScenarioScript scenarioScript = new ScenarioScript();
+        ApiEnvPlanProcessorConfig apiEnvPlanProcessorConfig = new ApiEnvPlanProcessorConfig();
+        apiEnvPlanProcessorConfig.setProcessors(List.of(scriptProcessor, sqlProcessor));
+        apiScript.setPlanProcessorConfig(apiEnvPlanProcessorConfig);
+        ScenarioScriptProcessor scenarioScript = new ScenarioScriptProcessor();
         scenarioScript.setScript("script");
         scenarioScript.setName("场景级别脚本");
-        apiScript.setScenarioProcessors(List.of(scenarioScript, sqlProcessor));
-        StepScript stepScript = new StepScript();
+        ApiEnvScenarioProcessorConfig apiEnvScenarioProcessorConfig = new ApiEnvScenarioProcessorConfig();
+        apiEnvScenarioProcessorConfig.setProcessors(List.of(scenarioScript, sqlProcessor));
+        apiScript.setScenarioProcessorConfig(apiEnvScenarioProcessorConfig);
+        RequestScriptProcessor stepScript = new RequestScriptProcessor();
         stepScript.setScript("script");
         stepScript.setName("步骤级别前置脚本前");
-        stepScript.setScriptExecBefore(true);
-        stepScript.setFilterRequestScript(List.of("HTTP"));
-        StepScript stepScriptAfter = new StepScript();
+        stepScript.setBeforeStepScript(true);
+        stepScript.setIgnoreProtocols(List.of("HTTP"));
+        RequestScriptProcessor stepScriptAfter = new RequestScriptProcessor();
         stepScriptAfter.setScript("script");
         stepScriptAfter.setName("步骤级别前置脚本后");
-        stepScriptAfter.setScriptExecBefore(false);
-        stepScriptAfter.setFilterRequestScript(List.of("HTTP"));
-        apiScript.setStepProcessors(List.of(stepScript, sqlProcessor, stepScriptAfter));
+        stepScriptAfter.setBeforeStepScript(false);
+        stepScriptAfter.setIgnoreProtocols(List.of("HTTP"));
+        ApiEnvRequestProcessorConfig apiEnvRequestProcessorConfig = new ApiEnvRequestProcessorConfig();
+        apiEnvRequestProcessorConfig.setProcessors(List.of(stepScript, sqlProcessor, stepScriptAfter));
+        apiScript.setRequestProcessorConfig(apiEnvRequestProcessorConfig);
         return apiScript;
     }
 
@@ -350,16 +348,6 @@ public class EnvironmentControllerTests extends BaseTest {
         return uiPreScript;
     }
 
-    private UiPostScript createUiPostScript() {
-        UiPostScript uiPostScript = new UiPostScript();
-        uiPostScript.setPostScriptExecBefore(true);
-        uiPostScript.setJsrType(true);
-        uiPostScript.setJsrSetVariable(true);
-        uiPostScript.setVariableName("variableName");
-        uiPostScript.setValue(true);
-        return uiPostScript;
-    }
-
     public static List getGeneralAssertions() {
         List assertions = new ArrayList<>();
         MsResponseCodeAssertion responseCodeAssertion = new MsResponseCodeAssertion();
@@ -436,8 +424,8 @@ public class EnvironmentControllerTests extends BaseTest {
         return assertions;
     }
 
-    private MsAssertionConfig createAssertions() {
-        MsAssertionConfig assertions = new MsAssertionConfig();
+    private MsEnvAssertionConfig createAssertionConfig() {
+        MsEnvAssertionConfig assertions = new MsEnvAssertionConfig();
         assertions.setAssertions(getGeneralAssertions());
         return assertions;
     }
@@ -658,7 +646,7 @@ public class EnvironmentControllerTests extends BaseTest {
         checkLog(response.getId(), OperationLogType.ADD);
 
         //前置脚本
-        envConfig.setPreScript(createEnvironmentPreScript());
+        envConfig.setPreProcessorConfig(createEnvironmentProcessorConfig());
         request.setName("preScript");
         request.setConfig(envConfig);
         paramMap.clear();
@@ -677,14 +665,14 @@ public class EnvironmentControllerTests extends BaseTest {
         if (StringUtils.isNotBlank(config)) {
             EnvironmentConfig environmentConfig = JSON.parseObject(config, EnvironmentConfig.class);
             Assertions.assertNotNull(environmentConfig);
-            Assertions.assertNotNull(environmentConfig.getPreScript());
-            Assertions.assertEquals(envConfig.getPreScript(), environmentConfig.getPreScript());
+            Assertions.assertNotNull(environmentConfig.getPreProcessorConfig());
+            Assertions.assertEquals(envConfig.getPreProcessorConfig(), environmentConfig.getPreProcessorConfig());
         }
         //校验日志
         checkLog(response.getId(), OperationLogType.ADD);
 
-        //后置脚本
-        envConfig.setPostScript(createEnvironmentPostScript());
+        //后置脚本 todo
+        envConfig.setPostProcessorConfig(createEnvironmentProcessorConfig());
         request.setName("postScript");
         request.setConfig(envConfig);
         paramMap.clear();
@@ -704,14 +692,14 @@ public class EnvironmentControllerTests extends BaseTest {
         if (StringUtils.isNotBlank(config)) {
             EnvironmentConfig environmentConfig = JSON.parseObject(config, EnvironmentConfig.class);
             Assertions.assertNotNull(environmentConfig);
-            Assertions.assertNotNull(environmentConfig.getPostScript());
-            Assertions.assertEquals(envConfig.getPostScript(), environmentConfig.getPostScript());
+            Assertions.assertNotNull(environmentConfig.getPostProcessorConfig());
+            Assertions.assertEquals(envConfig.getPostProcessorConfig(), environmentConfig.getPostProcessorConfig());
         }
         //校验日志
         checkLog(response.getId(), OperationLogType.ADD);
 
         //断言
-        envConfig.setAssertions(createAssertions());
+        envConfig.setAssertionConfig(createAssertionConfig());
         request.setName("assertions");
         request.setConfig(envConfig);
         paramMap.clear();
@@ -730,8 +718,8 @@ public class EnvironmentControllerTests extends BaseTest {
         if (StringUtils.isNotBlank(config)) {
             EnvironmentConfig environmentConfig = JSON.parseObject(config, EnvironmentConfig.class);
             Assertions.assertNotNull(environmentConfig);
-            Assertions.assertNotNull(environmentConfig.getAssertions());
-            Assertions.assertEquals(envConfig.getAssertions(), environmentConfig.getAssertions());
+            Assertions.assertNotNull(environmentConfig.getAssertionConfig());
+            Assertions.assertEquals(envConfig.getAssertionConfig(), environmentConfig.getAssertionConfig());
         }
         //校验日志
         checkLog(response.getId(), OperationLogType.ADD);
diff --git a/backend/services/project-management/src/test/java/io/metersphere/project/controller/EnvironmentGroupControllerTests.java b/backend/services/project-management/src/test/java/io/metersphere/project/controller/EnvironmentGroupControllerTests.java
index 4f0d25e0d9..203fb1045d 100644
--- a/backend/services/project-management/src/test/java/io/metersphere/project/controller/EnvironmentGroupControllerTests.java
+++ b/backend/services/project-management/src/test/java/io/metersphere/project/controller/EnvironmentGroupControllerTests.java
@@ -2,6 +2,7 @@ package io.metersphere.project.controller;
 
 
 import io.metersphere.project.dto.environment.*;
+import io.metersphere.project.api.KeyValueEnableParam;
 import io.metersphere.project.dto.environment.http.HttpConfig;
 import io.metersphere.sdk.constants.PermissionConstants;
 import io.metersphere.sdk.constants.SessionConstants;
diff --git a/backend/services/project-management/src/test/java/io/metersphere/project/controller/GlobalParamsControllerTests.java b/backend/services/project-management/src/test/java/io/metersphere/project/controller/GlobalParamsControllerTests.java
index e47195c451..746937d218 100644
--- a/backend/services/project-management/src/test/java/io/metersphere/project/controller/GlobalParamsControllerTests.java
+++ b/backend/services/project-management/src/test/java/io/metersphere/project/controller/GlobalParamsControllerTests.java
@@ -4,7 +4,7 @@ import io.metersphere.project.domain.Project;
 import io.metersphere.project.dto.environment.GlobalParams;
 import io.metersphere.project.dto.environment.GlobalParamsDTO;
 import io.metersphere.project.dto.environment.GlobalParamsRequest;
-import io.metersphere.project.dto.environment.KeyValueEnableParam;
+import io.metersphere.project.api.KeyValueEnableParam;
 import io.metersphere.project.dto.environment.variables.CommonVariables;
 import io.metersphere.project.mapper.ProjectMapper;
 import io.metersphere.sdk.constants.PermissionConstants;