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: {