From 8ac28a233fca96cb65879f532fb9c702d23edd72 Mon Sep 17 00:00:00 2001 From: fit2-zhao Date: Wed, 16 Dec 2020 17:30:47 +0800 Subject: [PATCH 01/12] =?UTF-8?q?fix(=E6=8E=A5=E5=8F=A3=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=8C=96):=20=E4=BF=AE=E5=A4=8D=E5=9C=BA=E6=99=AF=E5=A4=8D?= =?UTF-8?q?=E5=88=B6=E7=BC=BA=E9=99=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/controller/ApiAutomationController.java | 4 ++-- .../metersphere/api/service/ApiAutomationService.java | 10 ++++++---- backend/src/main/java/io/metersphere/xpack | 2 +- .../api/automation/scenario/ApiScenarioList.vue | 2 +- .../api/automation/scenario/EditApiScenario.vue | 8 +++++++- 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/backend/src/main/java/io/metersphere/api/controller/ApiAutomationController.java b/backend/src/main/java/io/metersphere/api/controller/ApiAutomationController.java index 710f2d3aa3..2593fd31d3 100644 --- a/backend/src/main/java/io/metersphere/api/controller/ApiAutomationController.java +++ b/backend/src/main/java/io/metersphere/api/controller/ApiAutomationController.java @@ -34,8 +34,8 @@ public class ApiAutomationController { } @PostMapping(value = "/create") - public void create(@RequestPart("request") SaveApiScenarioRequest request, @RequestPart(value = "files") List bodyFiles) { - apiAutomationService.create(request, bodyFiles); + public ApiScenario create(@RequestPart("request") SaveApiScenarioRequest request, @RequestPart(value = "files") List bodyFiles) { + return apiAutomationService.create(request, bodyFiles); } @PostMapping(value = "/update") diff --git a/backend/src/main/java/io/metersphere/api/service/ApiAutomationService.java b/backend/src/main/java/io/metersphere/api/service/ApiAutomationService.java index ee13eb7368..ad04dbc5fd 100644 --- a/backend/src/main/java/io/metersphere/api/service/ApiAutomationService.java +++ b/backend/src/main/java/io/metersphere/api/service/ApiAutomationService.java @@ -100,11 +100,12 @@ public class ApiAutomationService { apiScenarioMapper.deleteByExample(example); } - public void create(SaveApiScenarioRequest request, List bodyFiles) { + public ApiScenario create(SaveApiScenarioRequest request, List bodyFiles) { + request.setId(UUID.randomUUID().toString()); checkNameExist(request); - + final ApiScenario scenario = new ApiScenario(); - scenario.setId(UUID.randomUUID().toString()); + scenario.setId(request.getId()); scenario.setName(request.getName()); scenario.setProjectId(request.getProjectId()); scenario.setTagId(request.getTagId()); @@ -132,6 +133,7 @@ public class ApiAutomationService { List bodyUploadIds = request.getBodyUploadIds(); apiDefinitionService.createBodyFiles(bodyUploadIds, bodyFiles); + return scenario; } public void update(SaveApiScenarioRequest request, List bodyFiles) { @@ -248,7 +250,7 @@ public class ApiAutomationService { JSONObject element = JSON.parseObject(item.getScenarioDefinition()); MsScenario scenario = JSONObject.parseObject(item.getScenarioDefinition(), MsScenario.class); // 多态JSON普通转换会丢失内容,需要通过 ObjectMapper 获取 - if (element!= null && StringUtils.isNotEmpty(element.getString("hashTree"))) { + if (element != null && StringUtils.isNotEmpty(element.getString("hashTree"))) { LinkedList elements = mapper.readValue(element.getString("hashTree"), new TypeReference>() { }); diff --git a/backend/src/main/java/io/metersphere/xpack b/backend/src/main/java/io/metersphere/xpack index 61397c1672..1fe20ba15a 160000 --- a/backend/src/main/java/io/metersphere/xpack +++ b/backend/src/main/java/io/metersphere/xpack @@ -1 +1 @@ -Subproject commit 61397c16728a63493507679f7e0940d9099f337f +Subproject commit 1fe20ba15a7ca3fe9f77ddf866021e7c7dfe5969 diff --git a/frontend/src/business/components/api/automation/scenario/ApiScenarioList.vue b/frontend/src/business/components/api/automation/scenario/ApiScenarioList.vue index 20eb794b26..9f89ad79fd 100644 --- a/frontend/src/business/components/api/automation/scenario/ApiScenarioList.vue +++ b/frontend/src/business/components/api/automation/scenario/ApiScenarioList.vue @@ -240,7 +240,7 @@ }); }, copy(row) { - row.id = getUUID(); + row.copy = true; this.$emit('edit', row); }, showReport(row) { diff --git a/frontend/src/business/components/api/automation/scenario/EditApiScenario.vue b/frontend/src/business/components/api/automation/scenario/EditApiScenario.vue index 4c1fb5faea..38c86dc5ac 100644 --- a/frontend/src/business/components/api/automation/scenario/EditApiScenario.vue +++ b/frontend/src/business/components/api/automation/scenario/EditApiScenario.vue @@ -694,9 +694,12 @@ if (valid) { this.setParameter(); let bodyFiles = this.getBodyUploadFiles(this.currentScenario); - this.$fileUpload(this.path, null, bodyFiles, this.currentScenario, () => { + this.$fileUpload(this.path, null, bodyFiles, this.currentScenario, response => { this.$success(this.$t('commons.save_success')); this.path = "/api/automation/update"; + if (response.data) { + this.currentScenario.id = response.data.id; + } this.currentScenario.tagId = JSON.parse(this.currentScenario.tagId); this.$emit('refresh'); }) @@ -719,6 +722,9 @@ this.scenarioDefinition = obj.hashTree; } } + if (this.currentScenario.copy) { + this.path = "/api/automation/create"; + } } }) } From 614bcaaf15829d1a4817c50fe65e818a7bbc6f4d Mon Sep 17 00:00:00 2001 From: "Captain.B" Date: Wed, 16 Dec 2020 18:11:58 +0800 Subject: [PATCH 02/12] chore: Sync --- backend/src/main/java/io/metersphere/xpack | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/main/java/io/metersphere/xpack b/backend/src/main/java/io/metersphere/xpack index 1fe20ba15a..61397c1672 160000 --- a/backend/src/main/java/io/metersphere/xpack +++ b/backend/src/main/java/io/metersphere/xpack @@ -1 +1 @@ -Subproject commit 1fe20ba15a7ca3fe9f77ddf866021e7c7dfe5969 +Subproject commit 61397c16728a63493507679f7e0940d9099f337f From 6820c599b077267e57f1f0f28b293cb570d29ca3 Mon Sep 17 00:00:00 2001 From: fit2-zhao Date: Wed, 16 Dec 2020 18:38:59 +0800 Subject: [PATCH 03/12] =?UTF-8?q?feat(=E6=8E=A5=E5=8F=A3=E5=AE=9A=E4=B9=89?= =?UTF-8?q?):=20=E5=85=B6=E4=BB=96=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../automation/scenario/EditApiScenario.vue | 4 +- .../request/http/ApiAdvancedConfig.vue | 42 +++++++++++++++++++ .../request/http/ApiHttpRequestForm.vue | 6 ++- 3 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 frontend/src/business/components/api/definition/components/request/http/ApiAdvancedConfig.vue diff --git a/frontend/src/business/components/api/automation/scenario/EditApiScenario.vue b/frontend/src/business/components/api/automation/scenario/EditApiScenario.vue index 38c86dc5ac..c8a27f9661 100644 --- a/frontend/src/business/components/api/automation/scenario/EditApiScenario.vue +++ b/frontend/src/business/components/api/automation/scenario/EditApiScenario.vue @@ -557,8 +557,8 @@ copyRow(row, node) { const parent = node.parent const hashTree = parent.data.hashTree || parent.data; - let obj = {}; - Object.assign(obj, row); + // 深度复制 + let obj = JSON.parse(JSON.stringify(row)); obj.resourceId = getUUID(); hashTree.push(obj); this.sort(); diff --git a/frontend/src/business/components/api/definition/components/request/http/ApiAdvancedConfig.vue b/frontend/src/business/components/api/definition/components/request/http/ApiAdvancedConfig.vue new file mode 100644 index 0000000000..421f459749 --- /dev/null +++ b/frontend/src/business/components/api/definition/components/request/http/ApiAdvancedConfig.vue @@ -0,0 +1,42 @@ + + + + + diff --git a/frontend/src/business/components/api/definition/components/request/http/ApiHttpRequestForm.vue b/frontend/src/business/components/api/definition/components/request/http/ApiHttpRequestForm.vue index c03a7320b4..b49558810f 100644 --- a/frontend/src/business/components/api/definition/components/request/http/ApiHttpRequestForm.vue +++ b/frontend/src/business/components/api/definition/components/request/http/ApiHttpRequestForm.vue @@ -60,6 +60,10 @@ + + + +
@@ -101,13 +105,13 @@ import {REQUEST_HEADERS} from "@/common/js/constants"; import MsApiVariable from "../../ApiVariable"; import MsJsr233Processor from "../../processor/Jsr233Processor"; - import MsApiAdvancedConfig from "../../ApiAdvancedConfig"; import {createComponent} from "../../jmeter/components"; import MsApiAssertions from "../../assertion/ApiAssertions"; import MsApiExtract from "../../extract/ApiExtract"; import {Assertions, Body, Extract, KeyValue} from "../../../model/ApiTestModel"; import {getUUID} from "@/common/js/utils"; import BatchAddParameter from "../../basis/BatchAddParameter"; + import MsApiAdvancedConfig from "./ApiAdvancedConfig"; export default { From 45e1ecb9fad55350df6eaab2bc006e51f0329f73 Mon Sep 17 00:00:00 2001 From: fit2-zhao Date: Wed, 16 Dec 2020 19:23:30 +0800 Subject: [PATCH 04/12] =?UTF-8?q?fix(=E6=8E=A5=E5=8F=A3=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=8C=96):=20=E9=83=A8=E5=88=86=E7=BC=BA=E9=99=B7=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/mapper/ext/ExtApiDefinitionExecResultMapper.xml | 2 +- .../components/api/automation/scenario/EditApiScenario.vue | 5 ++++- .../components/api/definition/components/ApiConfig.vue | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtApiDefinitionExecResultMapper.xml b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtApiDefinitionExecResultMapper.xml index fec17fae05..ccc638897d 100644 --- a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtApiDefinitionExecResultMapper.xml +++ b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtApiDefinitionExecResultMapper.xml @@ -7,6 +7,6 @@ \ No newline at end of file diff --git a/frontend/src/business/components/api/automation/scenario/EditApiScenario.vue b/frontend/src/business/components/api/automation/scenario/EditApiScenario.vue index c8a27f9661..3dacc7a663 100644 --- a/frontend/src/business/components/api/automation/scenario/EditApiScenario.vue +++ b/frontend/src/business/components/api/automation/scenario/EditApiScenario.vue @@ -493,6 +493,9 @@ request.enable === undefined ? request.enable = true : request.enable; request.active = false; request.resourceId = getUUID(); + if (!request.url) { + request.url = ""; + } if (referenced === 'REF' || !request.hashTree) { request.hashTree = []; } @@ -604,7 +607,7 @@ this.getEnvironments(); }, allowDrop(draggingNode, dropNode, type) { - if (ELEMENTS.get(dropNode.data.type).indexOf(draggingNode.data.type) != -1) { + if (dropNode.data.type === draggingNode.data.type || ELEMENTS.get(dropNode.data.type).indexOf(draggingNode.data.type) != -1) { return true; } return false; diff --git a/frontend/src/business/components/api/definition/components/ApiConfig.vue b/frontend/src/business/components/api/definition/components/ApiConfig.vue index b886bf9d60..bceea6b325 100644 --- a/frontend/src/business/components/api/definition/components/ApiConfig.vue +++ b/frontend/src/business/components/api/definition/components/ApiConfig.vue @@ -67,7 +67,7 @@ if (Object.prototype.toString.call(this.currentApi.response).match(/\[object (\w+)\]/)[1].toLowerCase() === 'object') { this.response = this.currentApi.response; } else { - this.response = new ResponseFactory(JSON.parse(this.currentApi.response)); + this.response = JSON.parse(this.currentApi.response); } } else { this.response = {headers: [], body: new Body(), statusCode: [], type: "HTTP"}; From 76edbbd917f046ce936f7f45bf5f84cf2f7425e7 Mon Sep 17 00:00:00 2001 From: shiziyuan9527 Date: Thu, 17 Dec 2020 10:58:51 +0800 Subject: [PATCH 05/12] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E9=A1=B9=E7=9B=AE=E7=BC=BA=E9=99=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/metersphere/api/controller/APITestController.java | 1 + .../src/main/java/io/metersphere/api/service/APITestService.java | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/main/java/io/metersphere/api/controller/APITestController.java b/backend/src/main/java/io/metersphere/api/controller/APITestController.java index 8a2beaab59..5a58efb37e 100644 --- a/backend/src/main/java/io/metersphere/api/controller/APITestController.java +++ b/backend/src/main/java/io/metersphere/api/controller/APITestController.java @@ -51,6 +51,7 @@ public class APITestController { public Pager> list(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody QueryAPITestRequest request) { Page page = PageHelper.startPage(goPage, pageSize, true); request.setWorkspaceId(SessionUtils.getCurrentWorkspaceId()); + request.setProjectId(SessionUtils.getCurrentProjectId()); return PageUtils.setPageInfo(page, apiTestService.list(request)); } diff --git a/backend/src/main/java/io/metersphere/api/service/APITestService.java b/backend/src/main/java/io/metersphere/api/service/APITestService.java index 8932a52370..23ae3400e9 100644 --- a/backend/src/main/java/io/metersphere/api/service/APITestService.java +++ b/backend/src/main/java/io/metersphere/api/service/APITestService.java @@ -68,7 +68,6 @@ public class APITestService { public List list(QueryAPITestRequest request) { request.setOrders(ServiceUtils.getDefaultOrder(request.getOrders())); - request.setProjectId(SessionUtils.getCurrentProjectId()); return extApiTestMapper.list(request); } From 57d1518ff64bd2c571a7a25ffd2eddf3f2c0f084 Mon Sep 17 00:00:00 2001 From: wenyann <64353056+wenyann@users.noreply.github.com> Date: Thu, 17 Dec 2020 11:26:18 +0800 Subject: [PATCH 06/12] =?UTF-8?q?fix:=E7=A9=BA=E6=8C=87=E9=92=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/business/components/xpack | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/business/components/xpack b/frontend/src/business/components/xpack index d39dafaf84..010ad7a5f0 160000 --- a/frontend/src/business/components/xpack +++ b/frontend/src/business/components/xpack @@ -1 +1 @@ -Subproject commit d39dafaf84b9c7a56cb51f2caf67dd7dfde5938c +Subproject commit 010ad7a5f072a5e9d368c756a2473bbd20781433 From a6876c8516b8468af0a397a9d02f0a1978dd3d1f Mon Sep 17 00:00:00 2001 From: BugKing Date: Thu, 17 Dec 2020 11:46:46 +0800 Subject: [PATCH 07/12] =?UTF-8?q?docs:=20=E4=BF=AE=E6=94=B9=20readme=20?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E5=8A=9F=E8=83=BD=E5=8F=8A=E4=BC=98=E5=8A=BF?= =?UTF-8?q?=E4=BB=8B=E7=BB=8D=E9=83=A8=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index b8bcefc10c..9048e41765 100755 --- a/README.md +++ b/README.md @@ -13,10 +13,10 @@ MeterSphere 是一站式开源持续测试平台,涵盖测试跟踪、接口测试、性能测试、团队协作等功能,兼容JMeter 等开源标准,有效助力开发和测试团队充分利用云弹性进行高度可扩展的自动化测试,加速高质量软件的交付。 -- 测试跟踪: 远超 TestLink 的使用体验; -- 接口测试: 类似 Postman 的体验; +- 测试跟踪: 远超 TestLink 的使用体验,覆盖从编写用例到生成测试报告的完整流程; +- 接口测试: 集 Postman 的易用与 JMeter 的灵活于一体,接口管理、多协议支持、场景自动化,你想要的全都有; - 性能测试: 兼容 JMeter,支持 Kubernetes 和云环境,轻松支持高并发、分布式的性能测试; -- 团队协作: 两级租户体系,天然支持团队协作。 +- 团队协作: 用户管理、租户管理、权限管理、资源管理,无论团队规模如何,总有适合的落地方式。 ![产品定位](https://metersphere.oss-cn-hangzhou.aliyuncs.com/img/ct-devops.png) @@ -72,12 +72,11 @@ v1.1.0 是 v1.0.0 之后的功能版本。 像其它优秀开源项目一样,MeterSphere 将每月发布一个功能版本。 -## 技术优势 +## 产品优势 -- 全生命周期: 能够覆盖从测试计划到测试执行、测试报告分析的不同阶段; -- 自动化 & 扩展性: 支持接口和性能的自动化测试,可以充分利用云弹性实现超大规模的性能测试; -- 持续测试: 能够与持续集成工具无缝集成,支撑企业实现测试左移; -- 团队协作: 支持不同规模的测试团队,小到几个人的测试团队、大到数百人的测试中心。 +- 开源:基于开源、兼容开源;按月发布新版本、日均下载安装超过100次、被大量客户验证; +- 一站式:一个产品全面涵盖测试跟踪、接口测试、性能测试等功能并形成联动:其中用例管理是底座需求、接口自动化测试是高频需求、性能测试是专家服务为主工具为辅;一个产品全满足从测试计划、测试执行到测试报告分析的全生命周期需求; +- 持续测试:能将测试融入持续交付和 DevOps 体系;无缝对接 Bug 管理工具和持续集成工具等;支持团队协作和资产沉淀。 ## 功能列表 From 1c184a38651bd8c660eb2c0476f658ae483fdc95 Mon Sep 17 00:00:00 2001 From: fit2-zhao Date: Thu, 17 Dec 2020 12:15:20 +0800 Subject: [PATCH 08/12] =?UTF-8?q?fix(=E6=8E=A5=E5=8F=A3=E5=AE=9A=E4=B9=89)?= =?UTF-8?q?:=20=E4=BF=AE=E5=A4=8D=E9=83=A8=E5=88=86=E7=BC=BA=E9=99=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/dto/definition/request/assertions/MsAssertions.java | 1 + .../definition/components/request/database/BasisParameters.vue | 3 +-- .../definition/components/request/dubbo/BasisParameters.vue | 3 +-- .../definition/components/request/http/ApiHttpRequestForm.vue | 3 +-- .../api/definition/components/request/tcp/BasisParameters.vue | 3 +-- frontend/src/business/components/xpack | 2 +- 6 files changed, 6 insertions(+), 9 deletions(-) diff --git a/backend/src/main/java/io/metersphere/api/dto/definition/request/assertions/MsAssertions.java b/backend/src/main/java/io/metersphere/api/dto/definition/request/assertions/MsAssertions.java index f3fa1d3801..21fcf65837 100644 --- a/backend/src/main/java/io/metersphere/api/dto/definition/request/assertions/MsAssertions.java +++ b/backend/src/main/java/io/metersphere/api/dto/definition/request/assertions/MsAssertions.java @@ -67,6 +67,7 @@ public class MsAssertions extends MsTestElement { assertion.setProperty(TestElement.TEST_CLASS, ResponseAssertion.class.getName()); assertion.setProperty(TestElement.GUI_CLASS, SaveService.aliasToClass("AssertionGui")); assertion.setAssumeSuccess(assertionRegex.isAssumeSuccess()); + assertion.addTestString(assertionRegex.getExpression()); assertion.setToContainsType(); switch (assertionRegex.getSubject()) { case "Response Code": diff --git a/frontend/src/business/components/api/definition/components/request/database/BasisParameters.vue b/frontend/src/business/components/api/definition/components/request/database/BasisParameters.vue index 1a43a0cde1..d1ac3e96ee 100644 --- a/frontend/src/business/components/api/definition/components/request/database/BasisParameters.vue +++ b/frontend/src/business/components/api/definition/components/request/database/BasisParameters.vue @@ -167,8 +167,7 @@ this.reload(); }, copyRow(row) { - let obj = {}; - Object.assign(obj, row); + let obj =JSON.parse(JSON.stringify(row)); obj.id = getUUID(); this.request.hashTree.push(obj); this.reload(); diff --git a/frontend/src/business/components/api/definition/components/request/dubbo/BasisParameters.vue b/frontend/src/business/components/api/definition/components/request/dubbo/BasisParameters.vue index 532089f8b1..64a4065e72 100644 --- a/frontend/src/business/components/api/definition/components/request/dubbo/BasisParameters.vue +++ b/frontend/src/business/components/api/definition/components/request/dubbo/BasisParameters.vue @@ -141,8 +141,7 @@ this.reload(); }, copyRow(row) { - let obj = {}; - Object.assign(obj, row); + let obj =JSON.parse(JSON.stringify(row)); obj.id = getUUID(); this.request.hashTree.push(obj); this.reload(); diff --git a/frontend/src/business/components/api/definition/components/request/http/ApiHttpRequestForm.vue b/frontend/src/business/components/api/definition/components/request/http/ApiHttpRequestForm.vue index b49558810f..bed9bd662c 100644 --- a/frontend/src/business/components/api/definition/components/request/http/ApiHttpRequestForm.vue +++ b/frontend/src/business/components/api/definition/components/request/http/ApiHttpRequestForm.vue @@ -204,8 +204,7 @@ this.reload(); }, copyRow(row) { - let obj = {}; - Object.assign(obj, row); + let obj =JSON.parse(JSON.stringify(row)); obj.id = getUUID(); this.request.hashTree.push(obj); this.reload(); diff --git a/frontend/src/business/components/api/definition/components/request/tcp/BasisParameters.vue b/frontend/src/business/components/api/definition/components/request/tcp/BasisParameters.vue index e456e0fbc2..bd408af00d 100644 --- a/frontend/src/business/components/api/definition/components/request/tcp/BasisParameters.vue +++ b/frontend/src/business/components/api/definition/components/request/tcp/BasisParameters.vue @@ -195,8 +195,7 @@ this.reload(); }, copyRow(row) { - let obj = {}; - Object.assign(obj, row); + let obj =JSON.parse(JSON.stringify(row)); obj.id = getUUID(); this.request.hashTree.push(obj); this.reload(); diff --git a/frontend/src/business/components/xpack b/frontend/src/business/components/xpack index 010ad7a5f0..d39dafaf84 160000 --- a/frontend/src/business/components/xpack +++ b/frontend/src/business/components/xpack @@ -1 +1 @@ -Subproject commit 010ad7a5f072a5e9d368c756a2473bbd20781433 +Subproject commit d39dafaf84b9c7a56cb51f2caf67dd7dfde5938c From cca4e4f12975b85a8b87e18ec8dfb0d8174a27ee Mon Sep 17 00:00:00 2001 From: BugKing Date: Thu, 17 Dec 2020 12:55:56 +0800 Subject: [PATCH 09/12] =?UTF-8?q?refactor:=20=E4=BF=AE=E6=94=B9=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 4 ++-- backend/pom.xml | 2 +- frontend/pom.xml | 2 +- pom.xml | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 5dc3c7e4d7..832764cb3d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,11 +6,11 @@ ARG MS_VERSION=dev RUN mkdir -p /opt/apps && mkdir -p /opt/jmeter/lib/junit -COPY backend/target/backend-1.5.jar /opt/apps +COPY backend/target/backend-1.6.jar /opt/apps COPY backend/target/classes/jmeter/ /opt/jmeter/ -ENV JAVA_APP_JAR=/opt/apps/backend-1.5.jar +ENV JAVA_APP_JAR=/opt/apps/backend-1.6.jar ENV AB_OFF=true diff --git a/backend/pom.xml b/backend/pom.xml index a227d4f89b..961d3aab62 100644 --- a/backend/pom.xml +++ b/backend/pom.xml @@ -7,7 +7,7 @@ metersphere-server io.metersphere - 1.5 + 1.6 4.0.0 diff --git a/frontend/pom.xml b/frontend/pom.xml index 8a9a98a84a..43af035ce4 100644 --- a/frontend/pom.xml +++ b/frontend/pom.xml @@ -7,7 +7,7 @@ metersphere-server io.metersphere - 1.5 + 1.6 4.0.0 diff --git a/pom.xml b/pom.xml index 568ceb82c5..dfccba1d83 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 io.metersphere metersphere-server - 1.5 + 1.6 pom From e18e136b273d296bfb2c31ce30ee96ae2aef30eb Mon Sep 17 00:00:00 2001 From: fit2-zhao Date: Thu, 17 Dec 2020 13:40:50 +0800 Subject: [PATCH 10/12] =?UTF-8?q?fix(=E6=8E=A5=E5=8F=A3=E5=AE=9A=E4=B9=89)?= =?UTF-8?q?:=20=E4=BF=AE=E5=A4=8D=E9=83=A8=E5=88=86=E7=BC=BA=E9=99=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/definition/components/debug/DebugHttpPage.vue | 2 +- .../components/api/definition/components/list/ApiList.vue | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/business/components/api/definition/components/debug/DebugHttpPage.vue b/frontend/src/business/components/api/definition/components/debug/DebugHttpPage.vue index ad1404f120..d272e61ee9 100644 --- a/frontend/src/business/components/api/definition/components/debug/DebugHttpPage.vue +++ b/frontend/src/business/components/api/definition/components/debug/DebugHttpPage.vue @@ -68,7 +68,7 @@ method: [{required: true, message: this.$t('test_track.case.input_maintainer'), trigger: 'change'}], url: [{required: true, message: this.$t('api_test.definition.request.path_all_info'), trigger: 'blur'}], }, - debugForm: {method: REQ_METHOD[0].id}, + debugForm: {method: REQ_METHOD[0].id, environmentId: ""}, options: [], responseData: {type: 'HTTP', responseResult: {}, subRequestResults: []}, loading: false, diff --git a/frontend/src/business/components/api/definition/components/list/ApiList.vue b/frontend/src/business/components/api/definition/components/list/ApiList.vue index 238486294b..3253450c79 100644 --- a/frontend/src/business/components/api/definition/components/list/ApiList.vue +++ b/frontend/src/business/components/api/definition/components/list/ApiList.vue @@ -138,7 +138,7 @@ {name: this.$t('api_test.definition.request.batch_edit'), handleClick: this.handleEditBatch} ], typeArr: [ - {id: 'status', name: this.$t('api_test.definition.api_case_status')}, + {id: 'status', name: this.$t('api_test.definition.api_status')}, {id: 'method', name: this.$t('api_test.definition.api_type')}, {id: 'userId', name: this.$t('api_test.definition.api_principal')}, ], From 086b780dbe02ab429cd7f3e1b950d00d2ccfc076 Mon Sep 17 00:00:00 2001 From: fit2-zhao Date: Thu, 17 Dec 2020 13:44:46 +0800 Subject: [PATCH 11/12] =?UTF-8?q?fix(=E6=8E=A5=E5=8F=A3=E5=AE=9A=E4=B9=89)?= =?UTF-8?q?:=20=E8=AE=A4=E8=AF=81=E5=AF=86=E7=A0=81=E9=95=BF=E5=BA=A6?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/api/definition/components/auth/ApiAuthConfig.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/business/components/api/definition/components/auth/ApiAuthConfig.vue b/frontend/src/business/components/api/definition/components/auth/ApiAuthConfig.vue index a1f5bc31b3..2fc2b7136b 100644 --- a/frontend/src/business/components/api/definition/components/auth/ApiAuthConfig.vue +++ b/frontend/src/business/components/api/definition/components/auth/ApiAuthConfig.vue @@ -26,7 +26,7 @@ + maxlength="50" show-word-limit/> From 9d9f949414925232a21d9a56778bf043600d7030 Mon Sep 17 00:00:00 2001 From: fit2-zhao Date: Thu, 17 Dec 2020 14:11:20 +0800 Subject: [PATCH 12/12] =?UTF-8?q?fix(=E6=8E=A5=E5=8F=A3=E5=AE=9A=E4=B9=89)?= =?UTF-8?q?:=20=E6=A8=A1=E5=9D=97=E7=A7=BB=E5=8A=A8=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/metersphere/api/service/ApiModuleService.java | 7 ++++--- .../api/service/ApiScenarioModuleService.java | 10 +++++++--- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/backend/src/main/java/io/metersphere/api/service/ApiModuleService.java b/backend/src/main/java/io/metersphere/api/service/ApiModuleService.java index e0051020e4..c6acd01c8b 100644 --- a/backend/src/main/java/io/metersphere/api/service/ApiModuleService.java +++ b/backend/src/main/java/io/metersphere/api/service/ApiModuleService.java @@ -166,7 +166,9 @@ public class ApiModuleService extends NodeTreeService { ApiModuleDTO nodeTree = request.getNodeTree(); List updateNodes = new ArrayList<>(); - + if (nodeTree == null) { + return; + } buildUpdateDefinition(nodeTree, apiModule, updateNodes, "/", "0", nodeTree.getLevel()); updateNodes = updateNodes.stream() @@ -179,8 +181,7 @@ public class ApiModuleService extends NodeTreeService { } private void buildUpdateDefinition(ApiModuleDTO rootNode, List apiDefinitions, - List updateNodes, String rootPath, String pId, int level) { - + List updateNodes, String rootPath, String pId, int level) { rootPath = rootPath + rootNode.getName(); if (level > 8) { diff --git a/backend/src/main/java/io/metersphere/api/service/ApiScenarioModuleService.java b/backend/src/main/java/io/metersphere/api/service/ApiScenarioModuleService.java index ce1a051acc..032257a248 100644 --- a/backend/src/main/java/io/metersphere/api/service/ApiScenarioModuleService.java +++ b/backend/src/main/java/io/metersphere/api/service/ApiScenarioModuleService.java @@ -13,7 +13,6 @@ import io.metersphere.base.mapper.ApiScenarioModuleMapper; import io.metersphere.base.mapper.ext.ExtApiScenarioModuleMapper; import io.metersphere.commons.constants.TestCaseConstants; import io.metersphere.commons.exception.MSException; -import io.metersphere.commons.utils.BeanUtils; import io.metersphere.i18n.Translator; import io.metersphere.service.NodeTreeService; import org.apache.commons.lang3.StringUtils; @@ -24,7 +23,10 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.UUID; import java.util.stream.Collectors; @Service @@ -140,7 +142,9 @@ public class ApiScenarioModuleService extends NodeTreeService updateNodes = new ArrayList<>(); - + if (nodeTree == null) { + return; + } buildUpdateDefinition(nodeTree, apiScenarios, updateNodes, "/", "0", nodeTree.getLevel()); updateNodes = updateNodes.stream()