diff --git a/backend/src/main/java/io/metersphere/log/utils/ApiTestEnvironmentDiffUtil.java b/backend/src/main/java/io/metersphere/log/utils/ApiTestEnvironmentDiffUtil.java index 0af8a155a3..19d328d9f9 100644 --- a/backend/src/main/java/io/metersphere/log/utils/ApiTestEnvironmentDiffUtil.java +++ b/backend/src/main/java/io/metersphere/log/utils/ApiTestEnvironmentDiffUtil.java @@ -19,6 +19,39 @@ public class ApiTestEnvironmentDiffUtil { // 对比全局脚本配置参数 if (!StringUtils.equals(bloBsNew.getString("globalScriptConfig"), bloBsOld.getString("globalScriptConfig"))) { + JSONObject globalScriptNew = JSON.parseObject(bloBsNew.getString("globalScriptConfig")); + JSONObject globalScriptOld = JSON.parseObject(bloBsOld.getString("globalScriptConfig")); + // 前置脚本过滤请求类型 + if (!StringUtils.equals(globalScriptNew.getString("filterRequestPreScript"), globalScriptOld.getString("filterRequestPreScript"))) { + diffMap.put("filterRequestPreScriptRaw1", globalScriptNew.getString("filterRequestPreScript")); + diffMap.put("filterRequestPreScriptRaw2", globalScriptOld.getString("filterRequestPreScript")); + } + // 后置脚本过滤请求类型 + if (!StringUtils.equals(globalScriptNew.getString("filterRequestPostScript"), globalScriptOld.getString("filterRequestPostScript"))) { + diffMap.put("filterRequestPostScriptRaw1", globalScriptNew.getString("filterRequestPostScript")); + diffMap.put("filterRequestPostScriptRaw2", globalScriptOld.getString("filterRequestPostScript")); + } + // 前置脚本执行顺序 + if (!StringUtils.equals(globalScriptNew.getString("isPreScriptExecAfterPrivateScript"), globalScriptOld.getString("isPreScriptExecAfterPrivateScript"))) { + diffMap.put("isPreScriptExecAfterPrivateScriptRaw1", globalScriptNew.getString("isPreScriptExecAfterPrivateScript")); + diffMap.put("isPreScriptExecAfterPrivateScriptRaw2", globalScriptOld.getString("isPreScriptExecAfterPrivateScript")); + } + // 后置脚本执行顺序 + if (!StringUtils.equals(globalScriptNew.getString("isPostScriptExecAfterPrivateScript"), globalScriptOld.getString("isPostScriptExecAfterPrivateScript"))) { + diffMap.put("isPostScriptExecAfterPrivateScriptRaw1", globalScriptNew.getString("isPostScriptExecAfterPrivateScript")); + diffMap.put("isPostScriptExecAfterPrivateScriptRaw2", globalScriptOld.getString("isPostScriptExecAfterPrivateScript")); + } + // 前置关联场景结果 + if (!StringUtils.equals(globalScriptNew.getString("connScenarioPreScript"), globalScriptOld.getString("connScenarioPreScript"))) { + diffMap.put("connScenarioPreScriptRaw1", globalScriptNew.getString("connScenarioPreScript")); + diffMap.put("connScenarioPreScriptRaw2", globalScriptOld.getString("connScenarioPreScript")); + } + // 后置关联场景结果 + if (!StringUtils.equals(globalScriptNew.getString("connScenarioPostScript"), globalScriptOld.getString("connScenarioPostScript"))) { + diffMap.put("connScenarioPostScriptRaw1", globalScriptNew.getString("connScenarioPostScript")); + diffMap.put("connScenarioPostScriptRaw2", globalScriptOld.getString("connScenarioPostScript")); + } + // 全局脚本设置 diffMap.put("globalScriptConfigRaw1", bloBsNew.getString("globalScriptConfig")); diffMap.put("globalScriptConfigRaw2", bloBsOld.getString("globalScriptConfig")); } diff --git a/frontend/src/business/components/history/api/EnvironmentEditParams.vue b/frontend/src/business/components/history/api/EnvironmentEditParams.vue index e9cc88892a..f062f6fefc 100644 --- a/frontend/src/business/components/history/api/EnvironmentEditParams.vue +++ b/frontend/src/business/components/history/api/EnvironmentEditParams.vue @@ -3,18 +3,42 @@
- + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+
+
- +
- +
@@ -22,31 +46,45 @@ - + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+
- +
- +
- - - - -
@@ -76,21 +114,34 @@ preStepProcessor: "preStepProcessor", postStepProcessor: "preStepProcessor", loading: false, + + showPre: false, + showPost: false, } }, methods: { active() { + if (this.request.script && (this.request.script.postProcessorRaw1 || this.request.script.postProcessorRaw2 + || this.request.script.postStepProcessorRaw1 || this.request.script.postStepProcessorRaw2) + || ((this.request.script.globalScriptConfigRaw1 || this.request.script.globalScriptConfigRaw2) && + (this.request.script.globalScriptConfig.filterRequestPostScriptRaw1 || this.request.script.globalScriptConfig.filterRequestPostScriptRaw2 + || this.request.script.globalScriptConfig.isPostScriptExecAfterPrivateScriptRaw1 || this.request.script.globalScriptConfig.isPostScriptExecAfterPrivateScriptRaw2 + || this.request.script.globalScriptConfig.connScenarioPostScriptRaw1 || this.request.script.globalScriptConfig.connScenarioPostScriptRaw2))){ + this.showPost = true; + this.activeName = 'allPostScript'; + }else { + this.showPost = false; + } if (this.request.script && (this.request.script.preProcessorRaw1 || this.request.script.preProcessorRaw2 - || this.request.script.preStepProcessorRaw1 || this.request.script.preStepProcessorRaw2)) { - this.activeName = "allPreScript"; - } - else if (this.request.script - && (this.request.script.postProcessorRaw1 || this.request.script.postProcessorRaw2 - || this.request.script.postStepProcessorRaw1 || this.request.script.postStepProcessorRaw2)) { - this.activeName = "allPostScript"; - } - else if (this.request.script && (this.request.script.globalScriptConfigRaw1 || this.request.script.globalScriptConfigRaw2)) { - this.activeName = "globalScriptConfig"; + || this.request.script.preStepProcessorRaw1 || this.request.script.preStepProcessorRaw2) + || ((this.request.script.globalScriptConfigRaw1 || this.request.script.globalScriptConfigRaw2) && + (this.request.script.globalScriptConfig.filterRequestPreScriptRaw1 || this.request.script.globalScriptConfig.filterRequestPreScriptRaw2 + || this.request.script.globalScriptConfig.isPreScriptExecAfterPrivateScriptRaw1 || this.request.script.globalScriptConfig.isPreScriptExecAfterPrivateScriptRaw2 + || this.request.script.globalScriptConfig.connScenarioPreScriptRaw1 || this.request.script.globalScriptConfig.connScenarioPreScriptRaw2))) { + this.showPre = true; + this.activeName = 'allPreScript'; + }else { + this.showPre = false; } }, getDiff(v1, v2) { diff --git a/frontend/src/business/components/history/api/EnvironmentHistoryDetail.vue b/frontend/src/business/components/history/api/EnvironmentHistoryDetail.vue index 90118afd20..bdc32629b7 100644 --- a/frontend/src/business/components/history/api/EnvironmentHistoryDetail.vue +++ b/frontend/src/business/components/history/api/EnvironmentHistoryDetail.vue @@ -56,6 +56,27 @@ formatScript(diffValue) { this.detail.script = {}; if (diffValue.globalScriptConfigRaw1 || diffValue.globalScriptConfigRaw2) { + + this.detail.script.globalScriptConfig = {}; + this.detail.script.globalScriptConfig.filterRequestPreScriptRaw1 = diffValue.filterRequestPreScriptRaw1; + this.detail.script.globalScriptConfig.filterRequestPreScriptRaw2 = diffValue.filterRequestPreScriptRaw2; + + this.detail.script.globalScriptConfig.filterRequestPostScriptRaw1 = diffValue.filterRequestPostScriptRaw1; + this.detail.script.globalScriptConfig.filterRequestPostScriptRaw2 = diffValue.filterRequestPostScriptRaw2; + + this.detail.script.globalScriptConfig.isPreScriptExecAfterPrivateScriptRaw1 = diffValue.isPreScriptExecAfterPrivateScriptRaw1; + this.detail.script.globalScriptConfig.isPreScriptExecAfterPrivateScriptRaw2 = diffValue.isPreScriptExecAfterPrivateScriptRaw2; + + this.detail.script.globalScriptConfig.isPostScriptExecAfterPrivateScriptRaw1 = diffValue.isPostScriptExecAfterPrivateScriptRaw1; + this.detail.script.globalScriptConfig.isPostScriptExecAfterPrivateScriptRaw2 = diffValue.isPostScriptExecAfterPrivateScriptRaw2; + + this.detail.script.globalScriptConfig.connScenarioPreScriptRaw1 = diffValue.connScenarioPreScriptRaw1; + this.detail.script.globalScriptConfig.connScenarioPreScriptRaw2 = diffValue.connScenarioPreScriptRaw2; + + this.detail.script.globalScriptConfig.connScenarioPostScriptRaw1 = diffValue.connScenarioPostScriptRaw1; + this.detail.script.globalScriptConfig.connScenarioPostScriptRaw2 = diffValue.connScenarioPostScriptRaw2; + + // 全局脚本配置 this.detail.script.globalScriptConfigRaw1 = diffValue.globalScriptConfigRaw1; this.detail.script.globalScriptConfigRaw2 = diffValue.globalScriptConfigRaw2; } diff --git a/frontend/src/i18n/en-US.js b/frontend/src/i18n/en-US.js index 9ff73b47a0..21eddc1d44 100644 --- a/frontend/src/i18n/en-US.js +++ b/frontend/src/i18n/en-US.js @@ -1865,6 +1865,13 @@ export default { after_the_post_script_step: "After the script is placed in the step", before_the_post_script_step: "Post-in-step before script", global_script_config: "Global script config", + + pre_script_filter_request_type: "Pre script filter request type", + post_script_filter_request_type: "Post script filter request type", + pre_script_exec_order: "Pre script exec order", + post_script_exec_order: "Post script exec order", + pre_link_scenario_result: "Pre link scenario result", + post_link_scenario_result: "Post link scenario result", } }, api_report: { diff --git a/frontend/src/i18n/zh-CN.js b/frontend/src/i18n/zh-CN.js index daf5d5b848..a1d6f51133 100644 --- a/frontend/src/i18n/zh-CN.js +++ b/frontend/src/i18n/zh-CN.js @@ -1870,6 +1870,13 @@ export default { after_the_post_script_step: "步骤内后置脚本后", before_the_post_script_step: "步骤内后置脚本前", global_script_config: "全局脚本配置", + + pre_script_filter_request_type: "前置脚本过滤请求类型", + post_script_filter_request_type: "后置脚本过滤请求类型", + pre_script_exec_order: "前置脚本执行顺序", + post_script_exec_order: "后置脚本执行顺序", + pre_link_scenario_result: "前置关联场景结果", + post_link_scenario_result: "后置关联场景结果", } }, api_report: { diff --git a/frontend/src/i18n/zh-TW.js b/frontend/src/i18n/zh-TW.js index 6d0013b75c..9c538f00de 100644 --- a/frontend/src/i18n/zh-TW.js +++ b/frontend/src/i18n/zh-TW.js @@ -1870,6 +1870,13 @@ export default { after_the_post_script_step: "步驟內後置腳本後", before_the_post_script_step: "步驟內後置腳本前", global_script_config: "全局腳本配置", + + pre_script_filter_request_type: "前置腳本過濾請求類型", + post_script_filter_request_type: "後置腳本過濾請求類型", + pre_script_exec_order: "前置腳本執行順序", + post_script_exec_order: "後置腳本執行順序", + pre_link_scenario_result: "前置關聯場景結果", + post_link_scenario_result: "後置關聯場景結果", } }, api_report: {