From 6260f99bbd803a4b23e131076b2e26ec407eb7ef Mon Sep 17 00:00:00 2001 From: song-tianyang Date: Fri, 17 Feb 2023 16:14:14 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=8E=A5=E5=8F=A3=E6=B5=8B=E8=AF=95):=20?= =?UTF-8?q?=E5=A6=82=E6=9E=9C=E5=9C=BA=E6=99=AF=E4=B8=AD=E8=AE=A4=E4=B8=BA?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=BF=9B=E4=BA=86=E5=85=A8=E5=B1=80=E5=89=8D?= =?UTF-8?q?=E5=90=8E=E7=BD=AE=E8=84=9A=E6=9C=AC=E5=B9=B6=E4=B8=94=E6=AD=A5?= =?UTF-8?q?=E9=AA=A4=E5=90=8D=E7=A7=B0=E4=B9=9F=E7=AC=A6=E5=90=88=E5=85=A8?= =?UTF-8?q?=E5=B1=80=E5=89=8D=E5=90=8E=E7=BD=AE=E8=84=9A=E6=9C=AC=E7=9A=84?= =?UTF-8?q?=E5=91=BD=E5=90=8D=E8=A7=84=E8=8C=83=EF=BC=8C=E9=82=A3=E4=B9=88?= =?UTF-8?q?=E6=8A=A5=E5=91=8A=E4=B8=AD=E5=BA=94=E8=AF=A5=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=AD=A5=E9=AA=A4=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --bug=1023228 --user=宋天阳 【接口测试】导入附件中的脚本执行,步骤1和7执行了,但是报告里显示的是pending https://www.tapd.cn/55049933/s/1336950 --- .../service/scenario/ApiScenarioReportStructureService.java | 2 -- .../src/main/java/io/metersphere/jmeter/JMeterBase.java | 6 ++++++ 2 files changed, 6 insertions(+), 2 deletions(-) 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 43958b16ad..345c9a0101 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,8 +567,6 @@ 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); - //判断是否含有全局前后置脚本,如果有的话需要将脚本内容添加到stepDTO中 - 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()); diff --git a/framework/sdk-parent/jmeter/src/main/java/io/metersphere/jmeter/JMeterBase.java b/framework/sdk-parent/jmeter/src/main/java/io/metersphere/jmeter/JMeterBase.java index 790e0ceaf0..3013a34a78 100644 --- a/framework/sdk-parent/jmeter/src/main/java/io/metersphere/jmeter/JMeterBase.java +++ b/framework/sdk-parent/jmeter/src/main/java/io/metersphere/jmeter/JMeterBase.java @@ -224,6 +224,7 @@ public class JMeterBase { String evnStr = result.getResponseDataAsString(); environmentList.add(evnStr); } else { + //检查是否有关系到最终执行结果的全局前后置脚本。 boolean resultNotFilterOut = ListenerUtil.checkResultIsNotFilterOut(requestResult); if (resultNotFilterOut) { if (StringUtils.isNotEmpty(requestResult.getName()) && requestResult.getName().startsWith("Transaction=")) { @@ -231,6 +232,11 @@ public class JMeterBase { } else { requestResults.add(requestResult); } + } else { + //全局前后置脚本的执行结果不影响场景执行结果,默认它们都是执行成功的 + requestResult.setError(0); + requestResult.setSuccess(true); + requestResults.add(requestResult); } } });