用例提取为全局变量可引用
This commit is contained in:
@@ -6,6 +6,8 @@ import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 用例对象 test_case
|
||||
*
|
||||
@@ -47,4 +49,7 @@ public class TestCase extends BaseEntity
|
||||
|
||||
/** 用例会话id */
|
||||
private String caseSid;
|
||||
|
||||
/** 存储用例上下文提取结果 */
|
||||
private Map<String, String> contextResultMap;
|
||||
}
|
||||
|
||||
@@ -141,6 +141,8 @@ public class TestCaseServiceImpl implements ITestCaseService
|
||||
log.error("用例计划已被删除,不能执行!");
|
||||
return null;
|
||||
}
|
||||
Map<String, String> contextResultMap = new HashMap<>();
|
||||
testCase.setContextResultMap(contextResultMap);
|
||||
TestCaseLog testCaseLog = new TestCaseLog();
|
||||
testCaseLog.setCaseId(id);
|
||||
testCaseLog.setCreateTime(DateUtils.getNowDate());
|
||||
@@ -219,10 +221,12 @@ public class TestCaseServiceImpl implements ITestCaseService
|
||||
testCaseResult.setResponseBody(resultMap.get("responseBody"));
|
||||
// 处理参数提取
|
||||
Map<String, String> assignmentResultMap = new HashMap<>();
|
||||
assignmentResultMap.putAll(testCase.getContextResultMap());
|
||||
String assignmentResult = this.dealTestCaseStepAssignment(resultMap, assignmentResultMap, assignment);
|
||||
testCaseResult.setAssignment(assignmentResult);
|
||||
// 根据提取结果处理校验规则
|
||||
String assertionResult = this.dealTestCaseStepAssertion(assignmentResultMap, assertion);
|
||||
testCase.getContextResultMap().putAll(assignmentResultMap);
|
||||
testCaseResult.setAssertion(assertionResult);
|
||||
Long useTime = null;
|
||||
if (resultMap.get("costMiliseconds") != null) {
|
||||
@@ -295,10 +299,12 @@ public class TestCaseServiceImpl implements ITestCaseService
|
||||
testCaseResult.setSqlResult(gson.toJson(sqlResult));
|
||||
// 处理参数提取
|
||||
Map<String, String> assignmentResultMap = new HashMap<>();
|
||||
assignmentResultMap.putAll(testCase.getContextResultMap());
|
||||
String assignmentResult = this.dealDataSourceTestCaseStepAssignment(resultMapList, assignmentResultMap, sqlSpecialResultMap, assignment);
|
||||
testCaseResult.setAssignment(assignmentResult);
|
||||
// 根据提取结果处理校验规则
|
||||
String assertionResult = this.dealTestCaseStepAssertion(assignmentResultMap, assertion);
|
||||
testCase.getContextResultMap().putAll(assignmentResultMap);
|
||||
testCaseResult.setAssertion(assertionResult);
|
||||
if ("fail".equals(assignmentResultMap.get("assertionResult"))) {
|
||||
testCaseResult.setStatus("失败");
|
||||
@@ -510,6 +516,8 @@ public class TestCaseServiceImpl implements ITestCaseService
|
||||
ruleResult.setValue(value);
|
||||
} else if ("${RESPONSE_CODE}".equals(content)) {
|
||||
ruleResult.setValue(responseCode);
|
||||
} else if (content.startsWith("${")) {
|
||||
ruleResult.setValue(assignmentResultMap.get(StringUtils.substringBetween(content, "${", "}")));
|
||||
}
|
||||
assignmentResultMap.put(rule.getName(), ruleResult.getValue());
|
||||
ruleResultList.add(ruleResult);
|
||||
@@ -564,6 +572,8 @@ public class TestCaseServiceImpl implements ITestCaseService
|
||||
} else {
|
||||
ruleResult.setValue(affectRows);
|
||||
}
|
||||
} else if (content.startsWith("${")) {
|
||||
ruleResult.setValue(assignmentResultMap.get(StringUtils.substringBetween(content, "${", "}")));
|
||||
}
|
||||
assignmentResultMap.put(rule.getName(), ruleResult.getValue());
|
||||
ruleResultList.add(ruleResult);
|
||||
|
||||
Reference in New Issue
Block a user