diff --git a/api-test/backend/src/main/java/io/metersphere/service/plan/TestPlanScenarioCaseService.java b/api-test/backend/src/main/java/io/metersphere/service/plan/TestPlanScenarioCaseService.java index 8c15bd5af5..64fed84a78 100644 --- a/api-test/backend/src/main/java/io/metersphere/service/plan/TestPlanScenarioCaseService.java +++ b/api-test/backend/src/main/java/io/metersphere/service/plan/TestPlanScenarioCaseService.java @@ -351,11 +351,16 @@ public class TestPlanScenarioCaseService { map.put(s, envMap.get(s)); } } - - testPlanApiScenario.setEnvironmentType(runModeConfig.getEnvironmentType()); - testPlanApiScenario.setEnvironmentGroupId(runModeConfig.getEnvironmentGroupId()); - testPlanApiScenario.setEnvironment(JSON.toJSONString(map)); - mapper.updateByPrimaryKeyWithBLOBs(testPlanApiScenario); + + String envJsonStr = JSON.toJSONString(map); + if (!StringUtils.equals(envJsonStr, testPlanApiScenario.getEnvironment()) + || !StringUtils.equals(runModeConfig.getEnvironmentType(), testPlanApiScenario.getEnvironmentType()) + || !StringUtils.equals(runModeConfig.getEnvironmentGroupId(), testPlanApiScenario.getEnvironmentGroupId())) { + testPlanApiScenario.setEnvironmentType(runModeConfig.getEnvironmentType()); + testPlanApiScenario.setEnvironmentGroupId(runModeConfig.getEnvironmentGroupId()); + testPlanApiScenario.setEnvironment(envJsonStr); + mapper.updateByPrimaryKeyWithBLOBs(testPlanApiScenario); + } } sqlSession.flushStatements(); if (sqlSession != null && sqlSessionFactory != null) { diff --git a/api-test/backend/src/main/java/io/metersphere/service/scenario/ApiScenarioReportStructureService.java b/api-test/backend/src/main/java/io/metersphere/service/scenario/ApiScenarioReportStructureService.java index 345c9a0101..d93044fd5a 100644 --- a/api-test/backend/src/main/java/io/metersphere/service/scenario/ApiScenarioReportStructureService.java +++ b/api-test/backend/src/main/java/io/metersphere/service/scenario/ApiScenarioReportStructureService.java @@ -567,6 +567,8 @@ public class ApiScenarioReportStructureService { if (CollectionUtils.isNotEmpty(reportStructureWithBLOBs) && CollectionUtils.isNotEmpty(reportResults)) { ApiScenarioReportStructureWithBLOBs scenarioReportStructure = reportStructureWithBLOBs.get(0); List stepList = JSON.parseArray(new String(scenarioReportStructure.getResourceTree(), StandardCharsets.UTF_8), StepTreeDTO.class); + //过滤掉前后置脚本。否则会影响到下面几行的统计数据。 + reportResults = this.filterProcessResult(reportResults); reportDTO.setTotal(reportResults.size()); reportDTO.setError(reportResults.stream().filter(e -> StringUtils.equals(e.getStatus(), ApiReportStatus.ERROR.name())).collect(Collectors.toList()).size());