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 57f07cb8d3..6dac9ca643 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 @@ -663,6 +663,9 @@ public class ApiScenarioReportStructureService { allUnExecute.set(allUnExecute.longValue() + 1); } } + if (step.getValue() == null && StringUtils.equals(step.getType(), "GenericController") && StringUtils.equalsIgnoreCase(step.getTotalStatus(), ApiReportStatus.PENDING.name())) { + allUnExecute.set(allUnExecute.longValue() + 1); + } if (CollectionUtils.isNotEmpty(step.getChildren())) { this.countAllUnexpected(step.getChildren(), allUnExecute); } diff --git a/api-test/frontend/src/business/automation/report/ApiReportDetail.vue b/api-test/frontend/src/business/automation/report/ApiReportDetail.vue index 24145f2e6d..611df53b05 100644 --- a/api-test/frontend/src/business/automation/report/ApiReportDetail.vue +++ b/api-test/frontend/src/business/automation/report/ApiReportDetail.vue @@ -244,9 +244,9 @@ export default { filterNodes(node, status) { if (status === 'ERROR' || status === 'FAKE_ERROR' || status === 'UN_EXECUTE') { let data = { ...node }; - if (!data.value && (!data.children || data.children.length === 0)) { + /*if (!data.value && (!data.children || data.children.length === 0)) { return null; - } + }*/ if (data.children.length > 0) { let filteredChildren = []; for (let i = 0; i < data.children.length; i++) { @@ -271,6 +271,9 @@ export default { if (data.type === 'IfController' && data.totalStatus === 'PENDING') { return data; } + if (data.type === 'GenericController' && data.totalStatus === 'PENDING') { + return data; + } } else if (status === 'ERROR') { if (data.totalStatus !== 'FAKE_ERROR' && data.value && data.value.error > 0) { return data; diff --git a/api-test/frontend/src/business/automation/report/components/RequestResult.vue b/api-test/frontend/src/business/automation/report/components/RequestResult.vue index c311e1580a..244dfb5d93 100644 --- a/api-test/frontend/src/business/automation/report/components/RequestResult.vue +++ b/api-test/frontend/src/business/automation/report/components/RequestResult.vue @@ -164,9 +164,9 @@ export default { request: { deep: true, handler(n) { - if (this.request.errorCode) { + if (this.request && this.request.errorCode) { this.baseErrorCode = this.request.errorCode; - } else if (this.request.attachInfoMap && this.request.attachInfoMap.FAKE_ERROR) { + } else if (this.request && this.request.attachInfoMap && this.request.attachInfoMap.FAKE_ERROR) { if (this.request.attachInfoMap.FAKE_ERROR !== '') { this.baseErrorCode = this.request.attachInfoMap.FAKE_ERROR; } @@ -207,7 +207,7 @@ export default { element.parentNode.removeChild(element); }, loadRequestInfoExpand() { - if ( + if ( this.request && !this.request.responseResult || this.request.responseResult.body === null || this.request.responseResult.body === undefined diff --git a/api-test/frontend/src/business/automation/scenario/Setting.js b/api-test/frontend/src/business/automation/scenario/Setting.js index 59be25f99d..613beac93f 100644 --- a/api-test/frontend/src/business/automation/scenario/Setting.js +++ b/api-test/frontend/src/business/automation/scenario/Setting.js @@ -55,7 +55,6 @@ export function STEP() { [ 'AllSamplerProxy', [ - 'GenericController', 'HTTPSamplerProxy', 'DubboSampler', 'JDBCSampler',