From 22855ba8cbaeef2dedbe2a1f6a7b69b2fda7e137 Mon Sep 17 00:00:00 2001 From: fit2-zhao Date: Tue, 23 Feb 2021 14:27:23 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=8E=A5=E5=8F=A3=E5=AE=9A=E4=B9=89):?= =?UTF-8?q?=E8=A7=84=E8=8C=83jmx=E5=AF=BC=E5=85=A5=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../metersphere/api/dto/automation/parse/MsJmeterParser.java | 2 ++ .../io/metersphere/api/dto/definition/request/MsScenario.java | 2 +- .../metersphere/api/dto/definition/request/MsTestElement.java | 2 +- .../io/metersphere/api/dto/definition/request/MsTestPlan.java | 3 ++- .../api/dto/definition/request/auth/MsAuthManager.java | 3 ++- .../definition/request/configurations/MsHeaderManager.java | 3 ++- .../dto/definition/request/controller/MsLoopController.java | 2 +- .../dto/definition/request/sampler/MsHTTPSamplerProxy.java | 2 +- .../api/dto/definition/request/sampler/MsJDBCSampler.java | 4 ++-- .../api/dto/definition/request/unknown/MsJmeterElement.java | 3 ++- backend/src/main/java/io/metersphere/xpack | 2 +- .../automation/scenario/component/JmeterElementComponent.vue | 2 +- 12 files changed, 18 insertions(+), 12 deletions(-) diff --git a/backend/src/main/java/io/metersphere/api/dto/automation/parse/MsJmeterParser.java b/backend/src/main/java/io/metersphere/api/dto/automation/parse/MsJmeterParser.java index 29581f17e5..17a4575b73 100644 --- a/backend/src/main/java/io/metersphere/api/dto/automation/parse/MsJmeterParser.java +++ b/backend/src/main/java/io/metersphere/api/dto/automation/parse/MsJmeterParser.java @@ -497,6 +497,7 @@ public class MsJmeterParser extends ApiImportAbstractParser { elementNode = new MsJmeterElement(); elementNode.setName(((TestPlan) key).getName()); ((MsJmeterElement) elementNode).setJmeterElement(objToXml(key)); + ((MsJmeterElement) elementNode).setElementType(key.getClass().getSimpleName()); } // 线程组 else if (key instanceof ThreadGroup) { @@ -614,6 +615,7 @@ public class MsJmeterParser extends ApiImportAbstractParser { TestElement testElement = (TestElement) key; elementNode.setName(testElement.getName()); ((MsJmeterElement) elementNode).setJmeterElement(objToXml(key)); + ((MsJmeterElement) elementNode).setElementType(key.getClass().getSimpleName()); } elementNode.setEnable(((TestElement) key).isEnabled()); elementNode.setResourceId(UUID.randomUUID().toString()); diff --git a/backend/src/main/java/io/metersphere/api/dto/definition/request/MsScenario.java b/backend/src/main/java/io/metersphere/api/dto/definition/request/MsScenario.java index b4bd06b4ca..03039f7909 100644 --- a/backend/src/main/java/io/metersphere/api/dto/definition/request/MsScenario.java +++ b/backend/src/main/java/io/metersphere/api/dto/definition/request/MsScenario.java @@ -135,7 +135,7 @@ public class MsScenario extends MsTestElement { private Arguments arguments(ParameterConfig config) { Arguments arguments = new Arguments(); arguments.setEnabled(true); - arguments.setName(this.getName() + "Variables"); + arguments.setName(StringUtils.isNotEmpty(this.getName()) ? this.getName() : "Arguments"); arguments.setProperty(TestElement.TEST_CLASS, Arguments.class.getName()); arguments.setProperty(TestElement.GUI_CLASS, SaveService.aliasToClass("ArgumentsPanel")); if (CollectionUtils.isNotEmpty(this.getVariables())) { diff --git a/backend/src/main/java/io/metersphere/api/dto/definition/request/MsTestElement.java b/backend/src/main/java/io/metersphere/api/dto/definition/request/MsTestElement.java index 71f605b89e..fb30feb4b1 100644 --- a/backend/src/main/java/io/metersphere/api/dto/definition/request/MsTestElement.java +++ b/backend/src/main/java/io/metersphere/api/dto/definition/request/MsTestElement.java @@ -168,7 +168,7 @@ public abstract class MsTestElement { && CollectionUtils.isNotEmpty(config.getConfig().getCommonConfig().getVariables())) { Arguments arguments = new Arguments(); arguments.setEnabled(true); - arguments.setName(name + "Variables"); + arguments.setName(StringUtils.isNoneBlank(this.getName()) ? this.getName() : "Arguments"); arguments.setProperty(TestElement.TEST_CLASS, Arguments.class.getName()); arguments.setProperty(TestElement.GUI_CLASS, SaveService.aliasToClass("ArgumentsPanel")); config.getConfig().getCommonConfig().getVariables().stream().filter(KeyValue::isValid).filter(KeyValue::isEnable).forEach(keyValue -> diff --git a/backend/src/main/java/io/metersphere/api/dto/definition/request/MsTestPlan.java b/backend/src/main/java/io/metersphere/api/dto/definition/request/MsTestPlan.java index c9fb3fae2b..3f127ea4d0 100644 --- a/backend/src/main/java/io/metersphere/api/dto/definition/request/MsTestPlan.java +++ b/backend/src/main/java/io/metersphere/api/dto/definition/request/MsTestPlan.java @@ -1,5 +1,6 @@ package io.metersphere.api.dto.definition.request; +import com.alibaba.excel.util.StringUtils; import com.alibaba.fastjson.annotation.JSONType; import lombok.Data; import lombok.EqualsAndHashCode; @@ -29,7 +30,7 @@ public class MsTestPlan extends MsTestElement { } public TestPlan getPlan() { - TestPlan testPlan = new TestPlan(this.getName() + "TestPlan"); + TestPlan testPlan = new TestPlan(StringUtils.isEmpty(this.getName()) ? "TestPlan" : this.getName()); testPlan.setProperty(TestElement.TEST_CLASS, TestPlan.class.getName()); testPlan.setProperty(TestElement.GUI_CLASS, SaveService.aliasToClass("TestPlanGui")); testPlan.setEnabled(true); diff --git a/backend/src/main/java/io/metersphere/api/dto/definition/request/auth/MsAuthManager.java b/backend/src/main/java/io/metersphere/api/dto/definition/request/auth/MsAuthManager.java index 18beab89f0..fcded90f88 100644 --- a/backend/src/main/java/io/metersphere/api/dto/definition/request/auth/MsAuthManager.java +++ b/backend/src/main/java/io/metersphere/api/dto/definition/request/auth/MsAuthManager.java @@ -11,6 +11,7 @@ import io.metersphere.base.domain.ApiTestEnvironmentWithBLOBs; import io.metersphere.commons.utils.CommonBeanFactory; import lombok.Data; import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.StringUtils; import org.apache.jmeter.protocol.http.control.AuthManager; import org.apache.jmeter.protocol.http.control.Authorization; import org.apache.jmeter.save.SaveService; @@ -58,7 +59,7 @@ public class MsAuthManager extends MsTestElement { } AuthManager authManager = new AuthManager(); authManager.setEnabled(true); - authManager.setName(this.getUsername() + "AuthManager"); + authManager.setName(StringUtils.isNotEmpty(this.getName()) ? this.getName() : "AuthManager"); authManager.setProperty(TestElement.TEST_CLASS, AuthManager.class.getName()); authManager.setProperty(TestElement.GUI_CLASS, SaveService.aliasToClass("AuthPanel")); Authorization auth = new Authorization(); diff --git a/backend/src/main/java/io/metersphere/api/dto/definition/request/configurations/MsHeaderManager.java b/backend/src/main/java/io/metersphere/api/dto/definition/request/configurations/MsHeaderManager.java index 071d095ed3..f0f0e19e95 100644 --- a/backend/src/main/java/io/metersphere/api/dto/definition/request/configurations/MsHeaderManager.java +++ b/backend/src/main/java/io/metersphere/api/dto/definition/request/configurations/MsHeaderManager.java @@ -8,6 +8,7 @@ import io.metersphere.api.dto.scenario.KeyValue; import lombok.Data; import lombok.EqualsAndHashCode; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.jmeter.protocol.http.control.Header; import org.apache.jmeter.protocol.http.control.HeaderManager; import org.apache.jmeter.save.SaveService; @@ -29,7 +30,7 @@ public class MsHeaderManager extends MsTestElement { public void toHashTree(HashTree tree, List hashTree, ParameterConfig config) { HeaderManager headerManager = new HeaderManager(); headerManager.setEnabled(this.isEnable()); - headerManager.setName(this.getName() + "Headers"); + headerManager.setName(StringUtils.isNotEmpty(this.getName()) ? this.getName() : "HeaderManager"); headerManager.setProperty(TestElement.TEST_CLASS, HeaderManager.class.getName()); headerManager.setProperty(TestElement.GUI_CLASS, SaveService.aliasToClass("HeaderPanel")); headers.stream().filter(KeyValue::isValid).filter(KeyValue::isEnable).forEach(keyValue -> diff --git a/backend/src/main/java/io/metersphere/api/dto/definition/request/controller/MsLoopController.java b/backend/src/main/java/io/metersphere/api/dto/definition/request/controller/MsLoopController.java index bf5005a885..3e6059f5ba 100644 --- a/backend/src/main/java/io/metersphere/api/dto/definition/request/controller/MsLoopController.java +++ b/backend/src/main/java/io/metersphere/api/dto/definition/request/controller/MsLoopController.java @@ -78,7 +78,7 @@ public class MsLoopController extends MsTestElement { private CounterConfig addCounterConfig() { CounterConfig counterConfig = new CounterConfig(); counterConfig.setVarName("LoopCounterConfigXXX"); - counterConfig.setName("LoopCounterConfigXXX"); + counterConfig.setName("数循结果统计计数器"); counterConfig.setEnabled(true); counterConfig.setProperty(TestElement.TEST_CLASS, CounterConfig.class.getName()); counterConfig.setProperty(TestElement.GUI_CLASS, SaveService.aliasToClass("CounterConfigGui")); diff --git a/backend/src/main/java/io/metersphere/api/dto/definition/request/sampler/MsHTTPSamplerProxy.java b/backend/src/main/java/io/metersphere/api/dto/definition/request/sampler/MsHTTPSamplerProxy.java index bb870e5888..0a7a2a5420 100644 --- a/backend/src/main/java/io/metersphere/api/dto/definition/request/sampler/MsHTTPSamplerProxy.java +++ b/backend/src/main/java/io/metersphere/api/dto/definition/request/sampler/MsHTTPSamplerProxy.java @@ -305,7 +305,7 @@ public class MsHTTPSamplerProxy extends MsTestElement { public void setHeader(HashTree tree, List headers) { HeaderManager headerManager = new HeaderManager(); headerManager.setEnabled(true); - headerManager.setName(this.getName() + "Headers"); + headerManager.setName(StringUtils.isNotEmpty(this.getName()) ? this.getName() : "HeaderManager"); headerManager.setProperty(TestElement.TEST_CLASS, HeaderManager.class.getName()); headerManager.setProperty(TestElement.GUI_CLASS, SaveService.aliasToClass("HeaderPanel")); headers.stream().filter(KeyValue::isValid).filter(KeyValue::isEnable).forEach(keyValue -> diff --git a/backend/src/main/java/io/metersphere/api/dto/definition/request/sampler/MsJDBCSampler.java b/backend/src/main/java/io/metersphere/api/dto/definition/request/sampler/MsJDBCSampler.java index 40362b1bb3..b3fa3b2f9d 100644 --- a/backend/src/main/java/io/metersphere/api/dto/definition/request/sampler/MsJDBCSampler.java +++ b/backend/src/main/java/io/metersphere/api/dto/definition/request/sampler/MsJDBCSampler.java @@ -46,7 +46,7 @@ public class MsJDBCSampler extends MsTestElement { private List variables; @JSONField(ordinal = 26) private String environmentId; -// @JSONField(ordinal = 27) + // @JSONField(ordinal = 27) // private Object requestResult; @JSONField(ordinal = 28) private String dataSourceId; @@ -67,7 +67,7 @@ public class MsJDBCSampler extends MsTestElement { } final HashTree samplerHashTree = tree.add(jdbcSampler(config)); tree.add(jdbcDataSource()); - Arguments arguments = arguments(this.getName() + " Variables", this.getVariables()); + Arguments arguments = arguments(StringUtils.isNotEmpty(this.getName()) ? this.getName() : "Arguments", this.getVariables()); if (arguments != null) { tree.add(arguments); } diff --git a/backend/src/main/java/io/metersphere/api/dto/definition/request/unknown/MsJmeterElement.java b/backend/src/main/java/io/metersphere/api/dto/definition/request/unknown/MsJmeterElement.java index ac533c5aef..ac24fb0019 100644 --- a/backend/src/main/java/io/metersphere/api/dto/definition/request/unknown/MsJmeterElement.java +++ b/backend/src/main/java/io/metersphere/api/dto/definition/request/unknown/MsJmeterElement.java @@ -24,7 +24,7 @@ import java.util.List; @JSONType(typeName = "JmeterElement") public class MsJmeterElement extends MsTestElement { private String type = "JmeterElement"; - + private String elementType; private String jmeterElement; @Override @@ -34,6 +34,7 @@ public class MsJmeterElement extends MsTestElement { if (inputSource != null) { Object scriptWrapper = SaveService.loadElement(inputSource); HashTree elementTree = tree; + this.setElementType(scriptWrapper.getClass().getName()); if (config.isOperating()) { elementTree = tree.add(scriptWrapper); } else if (!(scriptWrapper instanceof TestPlan) && !(scriptWrapper instanceof ThreadGroup)) { diff --git a/backend/src/main/java/io/metersphere/xpack b/backend/src/main/java/io/metersphere/xpack index b9042074b7..5e0b365f10 160000 --- a/backend/src/main/java/io/metersphere/xpack +++ b/backend/src/main/java/io/metersphere/xpack @@ -1 +1 @@ -Subproject commit b9042074b780205e275c674f64417799110519fd +Subproject commit 5e0b365f1080197e84055e80071165787e2e79c5 diff --git a/frontend/src/business/components/api/automation/scenario/component/JmeterElementComponent.vue b/frontend/src/business/components/api/automation/scenario/component/JmeterElementComponent.vue index 9f44b0dd85..5a2f0502e1 100644 --- a/frontend/src/business/components/api/automation/scenario/component/JmeterElementComponent.vue +++ b/frontend/src/business/components/api/automation/scenario/component/JmeterElementComponent.vue @@ -6,7 +6,7 @@ :draggable="draggable" :color="defColor" :background-color="defBackgroundColor" - :title="defTitle"> + :title="request.elementType">