Commit e8e89472 authored by 黎博's avatar 黎博

新增正则表达式以及SceneTestcase和SceneTestcase里新增字段

parent 8b622e8e
...@@ -20,6 +20,7 @@ public class SceneTestcase { ...@@ -20,6 +20,7 @@ public class SceneTestcase {
private Integer id; private Integer id;
private Integer sceneId; private Integer sceneId;
private Integer interfaceId; private Integer interfaceId;
private String name;
private String preAction; private String preAction;
private String postAction; private String postAction;
private String headers; private String headers;
......
...@@ -21,6 +21,7 @@ public class SceneTestcaseReport { ...@@ -21,6 +21,7 @@ public class SceneTestcaseReport {
private Integer sceneTestcaseId; private Integer sceneTestcaseId;
private String interfaceUrl; private String interfaceUrl;
private String interfaceName; private String interfaceName;
private String testcaseName;
private String url; private String url;
private String headers; private String headers;
private String parameters; private String parameters;
......
...@@ -11,6 +11,8 @@ import org.springframework.stereotype.Service; ...@@ -11,6 +11,8 @@ import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.UUID; import java.util.UUID;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/** /**
* @author libo * @author libo
...@@ -94,7 +96,20 @@ public class AutoUtilsServiceImpl implements AutoUtilsService { ...@@ -94,7 +96,20 @@ public class AutoUtilsServiceImpl implements AutoUtilsService {
for (String key: extractMap.keySet()) { for (String key: extractMap.keySet()) {
String value = extractMap.get(key); String value = extractMap.get(key);
String redisKey = uuid + "_" + key; String redisKey = uuid + "_" + key;
redisUtils.set(redisKey, JsonPath.read(response, value)); String redisValue = "";
if (value.startsWith("$")) {
redisValue = JsonPath.read(response, value);
} else {
Pattern pattern = Pattern.compile(value);
Matcher matcher = pattern.matcher(response);
if (matcher.find()) {
redisValue = matcher.group(1);
} else {
return false;
}
}
// redisUtils.set(redisKey, JsonPath.read(response, value));
redisUtils.set(redisKey, redisValue);
redisUtils.expire(redisKey, 120); redisUtils.expire(redisKey, 120);
} }
} catch (Exception e) { } catch (Exception e) {
......
...@@ -56,7 +56,7 @@ public class SceneTestcaseServiceImpl extends ServiceImpl<SceneTestcaseMapper, S ...@@ -56,7 +56,7 @@ public class SceneTestcaseServiceImpl extends ServiceImpl<SceneTestcaseMapper, S
List<SceneTestcase> sceneTestcaseList = sceneTestcaseMapper.selectList(queryWrapper); List<SceneTestcase> sceneTestcaseList = sceneTestcaseMapper.selectList(queryWrapper);
List<Map<String, Object>> resultList = new ArrayList<>(); List<Map<String, Object>> resultList = new ArrayList<>();
for (SceneTestcase sceneTestcase: sceneTestcaseList) { for (SceneTestcase sceneTestcase: sceneTestcaseList) {
resultList.add(JSON.parseObject(sceneTestcaseExecution(namespace, sceneId, sceneTestcase.getInterfaceId(), uuid, batch), Map.class)); resultList.add(JSON.parseObject(sceneTestcaseExecution(namespace, sceneId, sceneTestcase.getInterfaceId(), sceneTestcase.getSequence(), uuid, batch), Map.class));
} }
return JSON.toJSONString(resultList); return JSON.toJSONString(resultList);
} }
...@@ -71,10 +71,11 @@ public class SceneTestcaseServiceImpl extends ServiceImpl<SceneTestcaseMapper, S ...@@ -71,10 +71,11 @@ public class SceneTestcaseServiceImpl extends ServiceImpl<SceneTestcaseMapper, S
return sceneTestcaseMapper.getSceneTestcaseListBySceneId(sceneId); return sceneTestcaseMapper.getSceneTestcaseListBySceneId(sceneId);
} }
public String sceneTestcaseExecution(String namespace, Integer sceneId, Integer interfaceId, UUID uuid, String batch) { public String sceneTestcaseExecution(String namespace, Integer sceneId, Integer interfaceId, Integer sequence, UUID uuid, String batch) {
QueryWrapper queryWrapper = new QueryWrapper(); QueryWrapper<SceneTestcase> queryWrapper = new QueryWrapper();
queryWrapper.eq("scene_id", sceneId); queryWrapper.eq("scene_id", sceneId);
queryWrapper.eq("interface_id", interfaceId); queryWrapper.eq("interface_id", interfaceId);
queryWrapper.eq("sequence", sequence);
SceneTestcase sceneTestcase = sceneTestcaseMapper.selectOne(queryWrapper); SceneTestcase sceneTestcase = sceneTestcaseMapper.selectOne(queryWrapper);
Interface anInterface = interfaceService.getById(interfaceId); Interface anInterface = interfaceService.getById(interfaceId);
AutoModule autoModule = autoModuleService.getById(anInterface.getModuleId()); AutoModule autoModule = autoModuleService.getById(anInterface.getModuleId());
...@@ -155,6 +156,7 @@ public class SceneTestcaseServiceImpl extends ServiceImpl<SceneTestcaseMapper, S ...@@ -155,6 +156,7 @@ public class SceneTestcaseServiceImpl extends ServiceImpl<SceneTestcaseMapper, S
sceneTestcaseReport.setSequence(sceneTestcase.getSequence()); sceneTestcaseReport.setSequence(sceneTestcase.getSequence());
sceneTestcaseReport.setInterfaceUrl(anInterface.getUrl()); sceneTestcaseReport.setInterfaceUrl(anInterface.getUrl());
sceneTestcaseReport.setInterfaceName(anInterface.getName()); sceneTestcaseReport.setInterfaceName(anInterface.getName());
sceneTestcaseReport.setTestcaseName(sceneTestcase.getName());
sceneTestcaseReport.setUrl(url); sceneTestcaseReport.setUrl(url);
sceneTestcaseReport.setHeaders(JSON.toJSONString(headersMap)); sceneTestcaseReport.setHeaders(JSON.toJSONString(headersMap));
sceneTestcaseReport.setParameters(JSON.toJSONString(parameterMap)); sceneTestcaseReport.setParameters(JSON.toJSONString(parameterMap));
......
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