提交 4befc3a2 authored 作者: 黄夏豪's avatar 黄夏豪

feat(base): 修复了包含和不包含检查点无法支持,的bug

上级 a398b171
......@@ -21,6 +21,8 @@ import javax.script.ScriptEngine;
import javax.script.ScriptException;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
/**
......@@ -133,38 +135,52 @@ public class CheckPointActuator implements Actuator {
}
public CheckPointResultDetail containCheck(String containCheckPoint, String responseBody) {
public List<CheckPointResultDetail> containCheck(String containCheckPoint, String responseBody) {
List<CheckPointResultDetail> resultDetails = new ArrayList<>();
containCheckPoint = CompleteExpressionUtil.completeDynamicVariable(
containCheckPoint,
envId,
projectId)
;
String[] split = containCheckPoint.split(",");
if (responseBody.contains(containCheckPoint)) {
return new CheckPointResultDetail(
for (String containExpression : split) {
if (responseBody.contains(containExpression)) {
resultDetails.add(new CheckPointResultDetail(
true,
"包含检查点,检查通过"
);
));
} else {
return new CheckPointResultDetail(
resultDetails.add(new CheckPointResultDetail(
false,
String.format("包含检查点,检查未通过,结果:%s 中,不包含值:%s", responseBody, containCheckPoint)
);
String.format("包含检查点,检查未通过,结果:%s 中,不包含值:%s", responseBody, containExpression)
));
}
}
return resultDetails;
}
public CheckPointResultDetail noContainCheck(String noContainCheckPoint, String responseBody) {
public List<CheckPointResultDetail> noContainCheck(String noContainCheckPoint, String responseBody) {
List<CheckPointResultDetail> resultDetails = new ArrayList<>();
noContainCheckPoint = CompleteExpressionUtil.completeDynamicVariable(
noContainCheckPoint,
envId,
projectId)
;
String[] split = noContainCheckPoint.split(",");
for (String containExpression : split) {
if (responseBody.contains(noContainCheckPoint)) {
return new CheckPointResultDetail(
resultDetails.add( new CheckPointResultDetail(
false,
String.format("不包含检查点,检查未通过,结果:%s 中,包含值:%s", responseBody, noContainCheckPoint)
);
));
} else {
return new CheckPointResultDetail(
resultDetails.add( new CheckPointResultDetail(
true,
"不包含检查点,检查通过"
);
));
}
}
return resultDetails;
}
......
......@@ -43,7 +43,7 @@ public class CaseActuatorTest {
testCase.setType(1);
testCase.setDetail(json);
testCase.setAbnormalCheckpoint(1);
testCase.setContainCheckpoint("xxxxxxx");
testCase.setContainCheckpoint("");
TestCaseExecuteResult testCaseExecuteResult = httpClientActuator.executeTestCase(testCase);
System.out.println(testCaseExecuteResult);
......
......@@ -22,14 +22,14 @@ public class HttpClientActuatorTest {
1l
);
String json = "{\n" +
" \"url\":\"http://127.0.0.1:13245/test/sayHelloJson\",\n" +
" \"method\":\"POST\",\n" +
" \"requestType\":\"JSON\",\n" +
" \"stringValue\":\"{\\\"name\\\":\\\"${componentName}[0]\\\"}\",\n" +
" \"headers\":[\n" +
" \"url\": \"http://127.0.0.1:13245/test/tableName\",\n" +
" \"method\": \"GET\",\n" +
" \"requestType\": \"QUERY\",\n" +
" \"requestBodies\": [\n" +
" {\n" +
" \"name\":\"cookie\",\n" +
" \"value\":\"123456\"\n" +
" \"key\": \"tableName\",\n" +
" \"type\": \"TEXT\",\n" +
" \"value\": \"example\"\n" +
" }\n" +
" ]\n" +
"}";
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论