diff --git a/backend/src/main/java/io/metersphere/api/service/ApiScenarioReportService.java b/backend/src/main/java/io/metersphere/api/service/ApiScenarioReportService.java index 137a0c5be8..89a37d1150 100644 --- a/backend/src/main/java/io/metersphere/api/service/ApiScenarioReportService.java +++ b/backend/src/main/java/io/metersphere/api/service/ApiScenarioReportService.java @@ -992,17 +992,19 @@ public class ApiScenarioReportService { */ private long getUiErrorSize(ResultDTO dto) { int errorSize = 0; + boolean success = false; + String processType = null; + String cmdName = null; for (RequestResult r : dto.getRequestResults()) { if (StringUtils.isNotEmpty(r.getResponseResult().getHeaders())) { JSONArray responseArr = JSONArray.parseArray(r.getResponseResult().getHeaders()); for (int i = 0; i < responseArr.size(); i++) { JSONObject stepResult = responseArr.getJSONObject(i); - if (stepResult.containsKey("success") && !stepResult.getBoolean("success")) { - if ((stepResult.containsKey("processType") && StringUtils.equalsIgnoreCase("MAIN", stepResult.getString("processType"))) - || (stepResult.containsKey("cmdName") - && ((stepResult.getString("cmdName").startsWith("verify")) || stepResult.getString("cmdName").startsWith("assert")))) { - errorSize++; - } + success = Optional.ofNullable(stepResult.getBoolean("success")).orElse(Boolean.FALSE); + processType = Optional.ofNullable(stepResult.getString("processType")).orElse(""); + cmdName = Optional.ofNullable(stepResult.getString("cmdName")).orElse(""); + if (!success && (StringUtils.equalsIgnoreCase("MAIN", processType) || cmdName.startsWith("verify") || cmdName.startsWith("assert"))) { + errorSize++; } } }