提交 6cb493c9 authored 作者: 黄夏豪's avatar 黄夏豪

feat(base): 修复了JSONPATH无法执行的BUG

上级 adab7aee
......@@ -35,7 +35,7 @@ public class CheckPoint {
/**
* JsonPath检查点
*/
private JsonPathCheckPoint jsonPathCheckPoint;
private String jsonPathCheckPoint;
......
......@@ -71,15 +71,15 @@ public class CheckPointActuator implements Actuator {
checkPointResult.addCheckPointResultDetail(noContainCheck(checkPoint.getNoContainCheckPoint(), httpResponseDetail.getResponseBody()));
}
//JsonPath检查点检测
if (checkPoint.getJsonPathCheckPoint()!=null) {
if (!StringUtils.isEmpty(checkPoint.getJsonPathCheckPoint())) {
Object jsonObject = Configuration.defaultConfiguration().jsonProvider().parse(httpResponseDetail.getResponseBody());
checkPointResult.addCheckPointResultDetail(jsonPathCheck(checkPoint.getJsonPathCheckPoint(), jsonObject));
}
return checkPointResult;
}
public CheckPointResultDetail jsonPathCheck(JsonPathCheckPoint jsonPathCheckPoint, Object jsonObject) {
String expression = jsonPathCheckPoint.getExpression();
public CheckPointResultDetail jsonPathCheck(String jsonPathCheckPoint, Object jsonObject) {
String expression = jsonPathCheckPoint;
try {
expression = CompleteExpressionUtil.completeDynamicVariable(
expression,
......@@ -94,7 +94,7 @@ public class CheckPointActuator implements Actuator {
} catch (IllegalArgumentException e) {
return new CheckPointResultDetail(
false,
String.format("JsonPath检查点,检查未通过,不能填写空的JsonPath,错误的jsonpath为:%s", jsonPathCheckPoint.getExpression())
String.format("JsonPath检查点,检查未通过,不能填写空的JsonPath,错误的jsonpath为:%s", jsonPathCheckPoint)
);
} catch (PathNotFoundException e) {
return new CheckPointResultDetail(
......
......@@ -72,7 +72,7 @@ public class CaseActuator implements Actuator {
}
checkPoint.setContainCheckPoint(testCase.getContainCheckpoint());
checkPoint.setNoContainCheckPoint(testCase.getNoContainCheckpoint());
checkPoint.setJsonPathCheckPoint(JSON.parseObject(testCase.getJsonpathCheckpoint(), JsonPathCheckPoint.class));
checkPoint.setJsonPathCheckPoint(testCase.getJsonpathCheckpoint());
return checkPoint;
}
......
package org.matrix.actuators.sql;
import com.alibaba.fastjson.JSON;
import org.checkerframework.checker.units.qual.A;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.matrix.actuators.httpclient.HttpClientActuator;
......@@ -17,11 +15,11 @@ import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class CaseActuatorTest {
class CaseActuatorTest {
@Test
public void test(){
void test(){
CaseActuator httpClientActuator = new CaseActuator(
1l,
1l
......@@ -43,7 +41,9 @@ public class CaseActuatorTest {
testCase.setType(1);
testCase.setDetail(json);
testCase.setAbnormalCheckpoint(1);
testCase.setContainCheckpoint("");
testCase.setContainCheckpoint("张三,李四");
testCase.setNoContainCheckpoint("张三,李四");
testCase.setJsonpathCheckpoint("contains({$..category},${componentName}[0])");
TestCaseExecuteResult testCaseExecuteResult = httpClientActuator.executeTestCase(testCase);
System.out.println(testCaseExecuteResult);
......
......@@ -12,10 +12,10 @@ import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class HttpClientActuatorTest {
class HttpClientActuatorTest {
@Test
public void test(){
void test(){
HttpClientActuator httpClientActuator = new HttpClientActuator(
new HttpRequestConfig(),
1l,
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论