Merge branch 'v1.4'
This commit is contained in:
commit
870f9f9388
|
@ -250,7 +250,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>io.metersphere</groupId>
|
<groupId>io.metersphere</groupId>
|
||||||
<artifactId>jmeter-plugins-dubbo</artifactId>
|
<artifactId>jmeter-plugins-dubbo</artifactId>
|
||||||
<version>2.7.11</version>
|
<version>2.7.12</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- LDAP Module -->
|
<!-- LDAP Module -->
|
||||||
|
@ -362,14 +362,6 @@
|
||||||
<artifactId>httpclient</artifactId>
|
<artifactId>httpclient</artifactId>
|
||||||
<version>4.5.6</version>
|
<version>4.5.6</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.commons</groupId>
|
|
||||||
<artifactId>commons-text</artifactId>
|
|
||||||
<version>1.3</version>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
|
|
@ -61,7 +61,7 @@ public class MsParser extends ApiImportAbstractParser {
|
||||||
Object body = requestObject.get("body");
|
Object body = requestObject.get("body");
|
||||||
if (body instanceof JSONArray) {
|
if (body instanceof JSONArray) {
|
||||||
JSONArray bodies = requestObject.getJSONArray("body");
|
JSONArray bodies = requestObject.getJSONArray("body");
|
||||||
if (StringUtils.equalsIgnoreCase(requestObject.getString("method"), "POST") && bodies != null) {
|
if (bodies != null) {
|
||||||
StringBuilder bodyStr = new StringBuilder();
|
StringBuilder bodyStr = new StringBuilder();
|
||||||
for (int i = 0; i < bodies.size(); i++) {
|
for (int i = 0; i < bodies.size(); i++) {
|
||||||
String tmp = bodies.getString(i);
|
String tmp = bodies.getString(i);
|
||||||
|
@ -74,7 +74,7 @@ public class MsParser extends ApiImportAbstractParser {
|
||||||
}
|
}
|
||||||
} else if (body instanceof JSONObject) {
|
} else if (body instanceof JSONObject) {
|
||||||
JSONObject bodyObj = requestObject.getJSONObject("body");
|
JSONObject bodyObj = requestObject.getJSONObject("body");
|
||||||
if (StringUtils.equalsIgnoreCase(requestObject.getString("method"), "POST") && bodyObj != null) {
|
if (bodyObj != null) {
|
||||||
JSONArray kvs = new JSONArray();
|
JSONArray kvs = new JSONArray();
|
||||||
bodyObj.keySet().forEach(key -> {
|
bodyObj.keySet().forEach(key -> {
|
||||||
JSONObject kv = new JSONObject();
|
JSONObject kv = new JSONObject();
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package io.metersphere.performance.notice;
|
package io.metersphere.performance.notice;
|
||||||
|
|
||||||
import io.metersphere.base.domain.LoadTestReportWithBLOBs;
|
import io.metersphere.base.domain.LoadTestReportWithBLOBs;
|
||||||
|
import io.metersphere.base.mapper.LoadTestReportMapper;
|
||||||
import io.metersphere.commons.constants.NoticeConstants;
|
import io.metersphere.commons.constants.NoticeConstants;
|
||||||
import io.metersphere.commons.constants.PerformanceTestStatus;
|
import io.metersphere.commons.constants.PerformanceTestStatus;
|
||||||
import io.metersphere.commons.utils.LogUtil;
|
import io.metersphere.commons.utils.LogUtil;
|
||||||
|
@ -34,6 +35,9 @@ public class PerformanceNoticeTask {
|
||||||
private MailService mailService;
|
private MailService mailService;
|
||||||
@Resource
|
@Resource
|
||||||
private SystemParameterService systemParameterService;
|
private SystemParameterService systemParameterService;
|
||||||
|
@Resource
|
||||||
|
private LoadTestReportMapper loadTestReportMapper;
|
||||||
|
|
||||||
private final ExecutorService executorService = Executors.newFixedThreadPool(20);
|
private final ExecutorService executorService = Executors.newFixedThreadPool(20);
|
||||||
private boolean isRunning = true;
|
private boolean isRunning = true;
|
||||||
|
|
||||||
|
@ -45,14 +49,16 @@ public class PerformanceNoticeTask {
|
||||||
public void registerNoticeTask(LoadTestReportWithBLOBs loadTestReport) {
|
public void registerNoticeTask(LoadTestReportWithBLOBs loadTestReport) {
|
||||||
executorService.submit(() -> {
|
executorService.submit(() -> {
|
||||||
while (isRunning) {
|
while (isRunning) {
|
||||||
if (StringUtils.equals(loadTestReport.getStatus(), PerformanceTestStatus.Completed.name())) {
|
LoadTestReportWithBLOBs loadTestReportFromDatabase = loadTestReportMapper.selectByPrimaryKey(loadTestReport.getId());
|
||||||
|
|
||||||
|
if (StringUtils.equals(loadTestReportFromDatabase.getStatus(), PerformanceTestStatus.Completed.name())) {
|
||||||
isRunning = false;
|
isRunning = false;
|
||||||
sendSuccessNotice(loadTestReport);
|
sendSuccessNotice(loadTestReportFromDatabase);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (StringUtils.equals(loadTestReport.getStatus(), PerformanceTestStatus.Error.name())) {
|
if (StringUtils.equals(loadTestReportFromDatabase.getStatus(), PerformanceTestStatus.Error.name())) {
|
||||||
isRunning = false;
|
isRunning = false;
|
||||||
sendFailNotice(loadTestReport);
|
sendFailNotice(loadTestReportFromDatabase);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -162,9 +162,11 @@ export default {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
getColor(enable, method) {
|
getColor(requestEnable, method) {
|
||||||
if (enable) {
|
if (this.scenario.enable && requestEnable) {
|
||||||
return this.methodColorMap.get(method);
|
return this.methodColorMap.get(method);
|
||||||
|
} else {
|
||||||
|
return '#909399';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
select(request) {
|
select(request) {
|
||||||
|
|
|
@ -1363,15 +1363,19 @@ class JMXGenerator {
|
||||||
}
|
}
|
||||||
|
|
||||||
addContentType(request, type) {
|
addContentType(request, type) {
|
||||||
|
let hasContentType = false;
|
||||||
for (let index in request.headers) {
|
for (let index in request.headers) {
|
||||||
if (request.headers.hasOwnProperty(index)) {
|
if (request.headers.hasOwnProperty(index)) {
|
||||||
if (request.headers[index].name === 'Content-Type') {
|
if (request.headers[index].name === 'Content-Type' && request.headers[index].enable != false) {
|
||||||
request.headers.splice(index, 1);
|
request.headers.splice(index, 1);
|
||||||
|
hasContentType = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
request.headers.push(new KeyValue({name: 'Content-Type', value: type}));
|
if (!hasContentType) {
|
||||||
|
request.headers.push(new KeyValue({name: 'Content-Type', value: type}));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
addRequestArguments(httpSamplerProxy, request) {
|
addRequestArguments(httpSamplerProxy, request) {
|
||||||
|
|
Loading…
Reference in New Issue