Commit 026ef99e authored by 黎博's avatar 黎博

修改参数替换逻辑

parent 9c2b7e2e
......@@ -10,6 +10,8 @@ public interface AutoUtilsService {
Map<String, String> replaceParameters(String parameters, String variables, UUID uuid);
Map<String, String> replaceVariables(String parameters, UUID uuid);
boolean extractResponse(String response, String extract, UUID uuid);
boolean assertResponse(String response, List<Map> validateList);
......
......@@ -63,6 +63,25 @@ public class AutoUtilsServiceImpl implements AutoUtilsService {
return parameterMap;
}
/**
* 参数替换-新
* @param parameters headers或者parameters
* @param uuid 唯一标识
*/
@Override
public Map<String, String> replaceVariables(String parameters, UUID uuid) {
Map<String, String> parameterMap = JSON.parseObject(parameters, Map.class);
log.info("替换之前的参数:{}", parameterMap);
for (String key: parameterMap.keySet()) {
String value = parameterMap.get(key);
if (value.startsWith("$")) {
parameterMap.put(key, redisUtils.get(uuid + "_" + value.substring(1)).toString());
}
}
log.info("替换之后的参数:{}", parameterMap);
return parameterMap;
}
/**
* 将响应中的值解析出来并存储到redis值
* @param response 响应json
......
......@@ -92,12 +92,18 @@ public class SceneTestcaseServiceImpl extends ServiceImpl<SceneTestcaseMapper, S
Map<String, String> parameterMap = JSON.parseObject(parameters, Map.class);
Map<String, String> headersMap = JSON.parseObject(headers, Map.class);
// 使用变量替换headers
if (variables != null && !variables.isEmpty() && headers != null && !headers.isEmpty()) {
headersMap = autoUtilsService.replaceHeaders(headers, variables, uuid);
// if (variables != null && !variables.isEmpty() && headers != null && !headers.isEmpty()) {
// headersMap = autoUtilsService.replaceHeaders(headers, variables, uuid);
// }
if (headers != null && !headers.isEmpty()) {
headersMap = autoUtilsService.replaceVariables(headers, uuid);
}
// 使用变量替换参数
if (variables != null && !variables.isEmpty() && parameters != null && !parameters.isEmpty()) {
parameterMap = autoUtilsService.replaceParameters(parameters, variables, uuid);
// if (variables != null && !variables.isEmpty() && parameters != null && !parameters.isEmpty()) {
// parameterMap = autoUtilsService.replaceParameters(parameters, variables, uuid);
// }
if (parameters != null && !parameters.isEmpty()) {
parameterMap = autoUtilsService.replaceVariables(parameters, uuid);
}
// 创建断言列表
List<Map> validateList = new ArrayList<>();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment