refactor(接口测试): 去掉场景导入Postman用例中的前置脚本

--bug=1014726 --user=王孝刚
【接口测试】github#15535,通过Postman导入的接口自动化用例,在有前置脚本的情况下,导入至MS平台,显示的脚本类型为不存在的rhino
https://www.tapd.cn/55049933/s/1197819
This commit is contained in:
wxg0103 2022-07-08 11:39:45 +08:00 committed by f2c-ci-robot[bot]
parent 82812a58db
commit 08c01b4443
1 changed files with 0 additions and 36 deletions

View File

@ -2,7 +2,6 @@ package io.metersphere.api.parse;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import io.metersphere.api.dto.definition.request.processors.pre.MsJSR223PreProcessor;
import io.metersphere.api.dto.definition.request.sampler.MsHTTPSamplerProxy; import io.metersphere.api.dto.definition.request.sampler.MsHTTPSamplerProxy;
import io.metersphere.api.dto.definition.response.HttpResponse; import io.metersphere.api.dto.definition.response.HttpResponse;
import io.metersphere.api.dto.parse.postman.*; import io.metersphere.api.dto.parse.postman.*;
@ -12,17 +11,14 @@ import io.metersphere.commons.constants.MsRequestBodyType;
import io.metersphere.commons.constants.PostmanRequestBodyMode; import io.metersphere.commons.constants.PostmanRequestBodyMode;
import io.metersphere.commons.utils.BeanUtils; import io.metersphere.commons.utils.BeanUtils;
import io.metersphere.commons.utils.LogUtil; import io.metersphere.commons.utils.LogUtil;
import io.metersphere.plugin.core.MsTestElement;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import java.util.stream.Collectors;
public abstract class PostmanAbstractParserParser<T> extends ApiImportAbstractParser<T> { public abstract class PostmanAbstractParserParser<T> extends ApiImportAbstractParser<T> {
@ -47,7 +43,6 @@ public abstract class PostmanAbstractParserParser<T> extends ApiImportAbstractPa
request.setArguments(parseKeyValue(url == null ? new ArrayList<>() : url.getQuery())); request.setArguments(parseKeyValue(url == null ? new ArrayList<>() : url.getQuery()));
request.setHeaders(parseKeyValue(requestDesc.getHeader())); request.setHeaders(parseKeyValue(requestDesc.getHeader()));
addBodyHeader(request); addBodyHeader(request);
addPreScript(request, requestItem.getEvent());
return request; return request;
} }
@ -110,37 +105,6 @@ public abstract class PostmanAbstractParserParser<T> extends ApiImportAbstractPa
return value; return value;
} }
private void addPreScript(MsHTTPSamplerProxy request, List<PostmanEvent> event) {
if (request != null && CollectionUtils.isNotEmpty(event)) {
StringBuilder scriptStr = new StringBuilder();
event = event.stream()
.filter(item -> item.getScript() != null)
.collect(Collectors.toList());
event.forEach(item -> {
PostmanScript script = item.getScript();
if (script != null && item.getListen().contains("prerequest")) {
List<String> exec = script.getExec();
if (CollectionUtils.isNotEmpty(exec)) {
exec.forEach(col -> {
if (StringUtils.isNotEmpty(col)) {
scriptStr.append(col + "\n");
}
});
}
}
});
if (StringUtils.isNotBlank(scriptStr)) {
MsJSR223PreProcessor jsr223PreProcessor = new MsJSR223PreProcessor();
jsr223PreProcessor.setName("JSR223PreProcessor");
jsr223PreProcessor.setScriptLanguage("rhino");
jsr223PreProcessor.setScript(parseVariable(scriptStr.toString()));
LinkedList<MsTestElement> hashTree = new LinkedList<>();
hashTree.add(jsr223PreProcessor);
request.setHashTree(hashTree);
}
}
}
private List<KeyValue> parseKeyValue(List<PostmanKeyValue> postmanKeyValues) { private List<KeyValue> parseKeyValue(List<PostmanKeyValue> postmanKeyValues) {
if (postmanKeyValues == null) { if (postmanKeyValues == null) {
return new ArrayList<>(); return new ArrayList<>();