diff --git a/backend/pom.xml b/backend/pom.xml
index 55853f97ac..3af82d43e6 100644
--- a/backend/pom.xml
+++ b/backend/pom.xml
@@ -17,7 +17,7 @@
UTF-8
1.6.0
1.8
- 5.2.1
+ 5.4.1
1.1.3
2.7.8
20.1.0
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 914ef1eef0..7cb52c524c 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
@@ -136,8 +136,10 @@ public class MsJmeterParser extends ApiImportAbstractParser {
try {
HTTPSamplerProxy source = (HTTPSamplerProxy) key;
BeanUtils.copyBean(samplerProxy, source);
+ samplerProxy.setRest(new ArrayList(){{this.add(new KeyValue());}});
+ samplerProxy.setArguments(new ArrayList(){{this.add(new KeyValue());}});
if (source != null && source.getHTTPFiles().length > 0) {
- samplerProxy.getBody().setBinary(new ArrayList<>());
+ samplerProxy.getBody().initBinary();
samplerProxy.getBody().setType(Body.FORM_DATA);
List keyValues = new LinkedList<>();
for (HTTPFileArg arg : source.getHTTPFiles()) {
@@ -163,6 +165,7 @@ public class MsJmeterParser extends ApiImportAbstractParser {
source.getArguments().getArgumentsAsMap().forEach((k, v) -> {
samplerProxy.getBody().setRaw(v);
});
+ samplerProxy.getBody().initKvs();
} else {
List keyValues = new LinkedList<>();
source.getArguments().getArgumentsAsMap().forEach((k, v) -> {
@@ -173,6 +176,7 @@ public class MsJmeterParser extends ApiImportAbstractParser {
samplerProxy.setArguments(keyValues);
}
}
+ samplerProxy.getBody().initBinary();
}
samplerProxy.setPath("");
samplerProxy.setMethod(source.getMethod());
diff --git a/backend/src/main/java/io/metersphere/api/dto/scenario/Body.java b/backend/src/main/java/io/metersphere/api/dto/scenario/Body.java
index f3f484b747..4ae0e7d279 100644
--- a/backend/src/main/java/io/metersphere/api/dto/scenario/Body.java
+++ b/backend/src/main/java/io/metersphere/api/dto/scenario/Body.java
@@ -66,14 +66,11 @@ public class Body {
sampler.setDoMultipart(true);
}
} else {
- if (!this.isJson()) {
- sampler.setPostBodyRaw(true);
- } else {
- if (StringUtils.isNotEmpty(this.format) && "JSON-SCHEMA".equals(this.format) && this.getJsonSchema() != null) {
- this.raw = JSONSchemaGenerator.getJson(com.alibaba.fastjson.JSON.toJSONString(this.getJsonSchema()));
- }
+ if (StringUtils.isNotEmpty(this.format) && "JSON-SCHEMA".equals(this.format) && this.getJsonSchema() != null) {
+ this.raw = JSONSchemaGenerator.getJson(com.alibaba.fastjson.JSON.toJSONString(this.getJsonSchema()));
}
KeyValue keyValue = new KeyValue("", "JSON-SCHEMA", this.getRaw(), true, true);
+ sampler.setPostBodyRaw(true);
keyValue.setEnable(true);
keyValue.setEncode(false);
body.add(keyValue);
diff --git a/backend/src/main/resources/db/migration/V79__v1.8.1_release.sql b/backend/src/main/resources/db/migration/V79__v1.8.1_release.sql
new file mode 100644
index 0000000000..8c15c4fe47
--- /dev/null
+++ b/backend/src/main/resources/db/migration/V79__v1.8.1_release.sql
@@ -0,0 +1,2 @@
+-- api_scenario_report modify column length
+ALTER TABLE api_scenario_report MODIFY COLUMN name VARCHAR(300);
\ No newline at end of file
diff --git a/frontend/src/business/components/xpack b/frontend/src/business/components/xpack
index 2115bd28a9..07951ba17a 160000
--- a/frontend/src/business/components/xpack
+++ b/frontend/src/business/components/xpack
@@ -1 +1 @@
-Subproject commit 2115bd28a90854d2b6276a90878934715498c584
+Subproject commit 07951ba17aef6f29e50cfd68e40de3266f9a60cd