diff --git a/backend/src/main/java/io/metersphere/api/jmeter/APIBackendListenerClient.java b/backend/src/main/java/io/metersphere/api/jmeter/APIBackendListenerClient.java index fa14afa7fa..3ecf48632c 100644 --- a/backend/src/main/java/io/metersphere/api/jmeter/APIBackendListenerClient.java +++ b/backend/src/main/java/io/metersphere/api/jmeter/APIBackendListenerClient.java @@ -333,10 +333,6 @@ public class APIBackendListenerClient extends AbstractBackendListenerClient impl for (SampleResult subResult : result.getSubResults()) { requestResult.getSubRequestResults().add(getRequestResult(subResult)); } - for (SampleResult subResult : result.getSubResults()) { - requestResult.getSubRequestResults().add(getRequestResult(subResult)); - } - ResponseResult responseResult = requestResult.getResponseResult(); responseResult.setBody(result.getResponseDataAsString()); responseResult.setHeaders(result.getResponseHeaders()); diff --git a/backend/src/main/java/io/metersphere/track/service/TestCaseService.java b/backend/src/main/java/io/metersphere/track/service/TestCaseService.java index 881d60f382..d4f7a9cf12 100644 --- a/backend/src/main/java/io/metersphere/track/service/TestCaseService.java +++ b/backend/src/main/java/io/metersphere/track/service/TestCaseService.java @@ -182,25 +182,19 @@ public class TestCaseService { List caseList = testCaseMapper.selectByExampleWithBLOBs(example); - // 如果上边字段全部相同,去检查 steps 和 remark - boolean isExt = false; - String caseRemark = testCase.getRemark(); - if (StringUtils.isBlank(caseRemark)) { - caseRemark = ""; - } + // 如果上边字段全部相同,去检查 remark 和 steps if (!CollectionUtils.isEmpty(caseList)) { + String caseRemark = testCase.getRemark(); + String caseSteps = testCase.getSteps(); for (TestCaseWithBLOBs tc : caseList) { String steps = tc.getSteps(); String remark = tc.getRemark(); - if (StringUtils.equals(steps, testCase.getSteps()) && StringUtils.equals(remark, caseRemark)) { - //MSException.throwException(Translator.get("test_case_already_exists")); - isExt = true; + if (StringUtils.equals(steps, caseSteps) && StringUtils.equals(remark, caseRemark)) { + //MSException.throwException(Translator.get("test_case_already_exists")); + return tc; } } } - if (isExt) { - return caseList.get(0); - } } return null; } diff --git a/backend/src/main/java/io/metersphere/xmind/XmindCaseParser.java b/backend/src/main/java/io/metersphere/xmind/XmindCaseParser.java index 8a65db8a7b..d9d672385a 100644 --- a/backend/src/main/java/io/metersphere/xmind/XmindCaseParser.java +++ b/backend/src/main/java/io/metersphere/xmind/XmindCaseParser.java @@ -113,8 +113,8 @@ public class XmindCaseParser { for (int i = 0; i < nodes.length; i++) { if (i != 0 && StringUtils.equals(nodes[i].trim(), "")) { process.add(Translator.get("module_not_null"), path); - } else if (nodes[i].trim().length() > 30) { - process.add(Translator.get("module") + Translator.get("test_track.length_less_than") + "30", path + nodes[i].trim()); + } else if (nodes[i].trim().length() > 100) { + process.add(Translator.get("module") + Translator.get("test_track.length_less_than") + "100", path + nodes[i].trim()); } else { path += nodes[i].trim() + "/"; } @@ -150,8 +150,8 @@ public class XmindCaseParser { if (i != 0 && StringUtils.equals(nodes[i].trim(), "")) { process.add(Translator.get("test_case") + Translator.get("module_not_null"), nodePath + data.getName()); break; - } else if (nodes[i].trim().length() > 30) { - process.add(Translator.get("module") + Translator.get("test_track.length_less_than") + "30 ", nodes[i].trim()); + } else if (nodes[i].trim().length() > 100) { + process.add(Translator.get("module") + Translator.get("test_track.length_less_than") + "100 ", nodes[i].trim()); break; } } diff --git a/backend/src/main/resources/i18n/messages_zh_CN.properties b/backend/src/main/resources/i18n/messages_zh_CN.properties index ef493c103e..f158ce921c 100644 --- a/backend/src/main/resources/i18n/messages_zh_CN.properties +++ b/backend/src/main/resources/i18n/messages_zh_CN.properties @@ -144,7 +144,7 @@ password_format_is_incorrect=有效密码:8-30位,英文大小写字母+数 please_input_workspace_member=请填写该工作空间相关人员 test_case_report_template_repeat=同一工作空间下不能存在同名模版 plan_name_already_exists=测试计划名称已存在 -test_case_already_exists_excel=导入文件中存在重复用例 +test_case_already_exists_excel=文件中存在多条相同用例 test_case_module_already_exists=同层级下已存在该模块名称 api_test_name_already_exists=测试名称已经存在 functional_method_tip=功能测试不支持自动方式 diff --git a/backend/src/main/resources/i18n/messages_zh_TW.properties b/backend/src/main/resources/i18n/messages_zh_TW.properties index 85650bc3c6..321e8630fb 100644 --- a/backend/src/main/resources/i18n/messages_zh_TW.properties +++ b/backend/src/main/resources/i18n/messages_zh_TW.properties @@ -144,7 +144,7 @@ password_format_is_incorrect=有效密碼:8-30位,英文大小寫字母+數 please_input_workspace_member=請填寫該工作空間相關人員 test_case_report_template_repeat=同壹工作空間下不能存在同名模版 plan_name_already_exists=測試計劃名稱已存在 -test_case_already_exists_excel=導入文件中存在重復用例 +test_case_already_exists_excel=文件中存在多條相同用例 test_case_module_already_exists=同層級下已存在該模塊名稱 api_test_name_already_exists=測試名稱已經存在 functional_method_tip=功能測試不支持自動方式 diff --git a/frontend/src/business/components/api/automation/scenario/EditApiScenario.vue b/frontend/src/business/components/api/automation/scenario/EditApiScenario.vue index 8978fd056a..09d3cdf8ce 100644 --- a/frontend/src/business/components/api/automation/scenario/EditApiScenario.vue +++ b/frontend/src/business/components/api/automation/scenario/EditApiScenario.vue @@ -100,7 +100,14 @@
- {{ currentScenario.name === undefined || '' ? $t('api_test.scenario.name') : currentScenario.name }} + + + + {{ currentScenario.name === undefined || '' ? $t('api_test.scenario.name') : currentScenario.name }} + + {{$t('api_test.automation.step_total')}}:{{scenarioDefinition.length}} @@ -447,7 +454,7 @@ }, }, methods: { - setModule(id,data) { + setModule(id, data) { this.currentScenario.apiScenarioModuleId = id; this.currentScenario.modulePath = data.path; }, @@ -1250,4 +1257,14 @@ font-size: 18px; } + .scenario-name { + display: inline-block; + margin: 0 5px; + overflow-x: hidden; + padding-bottom: 0; + text-overflow: ellipsis; + vertical-align: middle; + white-space: nowrap; + width: 200px; + } diff --git a/frontend/src/business/components/api/definition/components/assertion/ApiJsonpathSuggest.vue b/frontend/src/business/components/api/definition/components/assertion/ApiJsonpathSuggest.vue index cd25a48dac..4325ad5cc4 100644 --- a/frontend/src/business/components/api/definition/components/assertion/ApiJsonpathSuggest.vue +++ b/frontend/src/business/components/api/definition/components/assertion/ApiJsonpathSuggest.vue @@ -163,4 +163,9 @@ export default { margin-left: 6px; } + /deep/ .el-icon-close:hover { + font-size: 30px; + font-weight: bold; + } + diff --git a/frontend/src/business/components/track/report/components/TestPlanReportList.vue b/frontend/src/business/components/track/report/components/TestPlanReportList.vue index b4b7049506..2058420062 100644 --- a/frontend/src/business/components/track/report/components/TestPlanReportList.vue +++ b/frontend/src/business/components/track/report/components/TestPlanReportList.vue @@ -20,7 +20,7 @@ @@ -49,7 +49,7 @@ + @exec="handleDelete(scope.row)" v-tester/>