提交 9cffede2 authored 作者: 孙洁清's avatar 孙洁清

路由规则

上级 17b1eca6
...@@ -139,74 +139,25 @@ public class TestTask { ...@@ -139,74 +139,25 @@ public class TestTask {
pageContents.add(pageContentTest); pageContents.add(pageContentTest);
} }
evaReport.setPageContents(pageContents); evaReport.setPageContents(pageContents);
if (testChannel.getCodeUrl() != null) {
//解压上传得代码
FileHtmlUtil.getFiles(testChannel.getCodeUrl(), null);
Map<String, List<FileType>> alls = FileHtmlUtil.getAlls();
//获取项目类型
FileHtmlUtil.getFileRoutes(testChannel.getCodeUrl());
int jspcount = FileHtmlUtil.jspNum;
int jscount = FileHtmlUtil.jsNum;
int vuecount = FileHtmlUtil.vueNum;
int angularcount = FileHtmlUtil.angularNum;
int htmlcount = FileHtmlUtil.count;
String fileRoutes = null;
if (jspcount > 0) {
fileRoutes = "jsp";
} else if (vuecount > 0) {
fileRoutes = "vue";
} else if (jscount > 0) {
fileRoutes = "react";
} else if (angularcount > 0) {
fileRoutes = "angular";
}
if (fileRoutes != null) {
Map<String,List<PageRoute>> routemap=new HashMap<>();
List<String> routerList = getRouterList(alls, fileRoutes);
List<String> collect = routerList.stream().map(String::toLowerCase).distinct().collect(Collectors.toList());
System.out.println(collect.toString());
if(collect!=null) {
if(pageContents!=null) {
for (String s : collect) {
if(routemap.get(s)==null) {
routemap.put(s, null);
}
for (PageContentTest pageContent : pageContents) {
if(pageContent.getUrl().contains(s)){
List<PageRoute> pageRoutes=new ArrayList<>(); List<PageRoute> pageRoutes=new ArrayList<>();
PageRoute route=new PageRoute(); for (Measure measure : measures) {
route.setAddress(s); PageRoute pageRoute=new PageRoute();
route.setPageName(pageContent.getUrl()); pageRoute.setPageName(measure.getUrl());
route.setSuccess(pageContent.getSuccess()); pageRoute.setSuccess(0);
route.setResponseTime(pageContent.getResponseTime()); if(measure.getSuccess()) {
route.setPicture(pageContent.getScreenshot()); pageRoute.setSuccess(1);
route.setMessage(pageContent.getMessage());
pageRoutes.add(route);
List<PageRoute> ps = routemap.get(s);
if(ps!=null){
ps.add(route);
routemap.put(s,ps);
}else{
routemap.put(s,pageRoutes);
}
}
}
}
}
} }
pageRoute.setMessage("无/有");
pageRoute.setPicture(measure.getScreenshot());
pageRoute.setResponseTime(measure.getResponseTime());
pageRoutes.add(pageRoute);
} }
List<String> sourceUrls = getSourceUrls(testChannel, pageContents);
List<PageRoute> allPageRoutes = getAllPageRoutes(pageRoutes, sourceUrls);
FileHtmlUtil.clearAll(); if(allPageRoutes!=null&&allPageRoutes.size()>0){
//获取前端代码中得网页路由地址 evaReport.setPageRoutes(allPageRoutes);
//比对黄承天代码中访问得地址和路由地址,黄承天是否访问全了。 }else{
evaReport.setPageRoutes(pageRoutes);
} }
System.out.println("修改状态"); System.out.println("修改状态");
//改变报告状态 //改变报告状态
...@@ -237,6 +188,41 @@ public class TestTask { ...@@ -237,6 +188,41 @@ public class TestTask {
} }
} }
private List<String> getSourceUrls(TestChannel testChannel, List<PageContentTest> pageContents) {
if (testChannel.getCodeUrl() != null) {
//解压上传得代码
FileHtmlUtil.getFiles(testChannel.getCodeUrl(), null);
Map<String, List<FileType>> alls = FileHtmlUtil.getAlls();
//获取项目类型
FileHtmlUtil.getFileRoutes(testChannel.getCodeUrl());
int jspcount = FileHtmlUtil.jspNum;
int jscount = FileHtmlUtil.jsNum;
int vuecount = FileHtmlUtil.vueNum;
int angularcount = FileHtmlUtil.angularNum;
int htmlcount = FileHtmlUtil.count;
String fileRoutes = null;
if (jspcount > 0) {
fileRoutes = "jsp";
} else if (vuecount > 0) {
fileRoutes = "vue";
} else if (jscount > 0) {
fileRoutes = "react";
} else if (angularcount > 0) {
fileRoutes = "angular";
}
if (fileRoutes != null) {
List<String> routerList = getRouterList(alls, fileRoutes);
List<String> collect = routerList.stream().map(String::toLowerCase).distinct().collect(Collectors.toList());
System.out.println("源代码中的路由地址:"+collect.toString());
FileHtmlUtil.clearAll();
return collect;
}
FileHtmlUtil.clearAll();
}
return null;
}
private List<String> getRouterList(Map<String, List<FileType>> alls, String fileRoutes) { private List<String> getRouterList(Map<String, List<FileType>> alls, String fileRoutes) {
String pattern="(\\/:*[a-zA-Z0-9]+)+"; String pattern="(\\/:*[a-zA-Z0-9]+)+";
List<String> allRouters = new ArrayList<>(); List<String> allRouters = new ArrayList<>();
...@@ -305,15 +291,80 @@ public class TestTask { ...@@ -305,15 +291,80 @@ public class TestTask {
pageRoutes.add(p4); pageRoutes.add(p4);
pageRoutes.add(p5); pageRoutes.add(p5);
List<String> urls=Arrays.asList("/save","/find/search","/dsfff","/sdf/hks","/sff/:sdf/s/:size"); List<String> urls=Arrays.asList("/save","/find/search","/update","/sdf/hks","/sff/:sdf/s/:size");
List<String> collect = pageRoutes.stream().map(p -> p.getPageName()).collect(Collectors.toList()); List<PageRoute> pageRouteList=new ArrayList<>();
List diff = diff(urls, collect); List<String> s=new ArrayList<>();
diff.stream().forEach(System.out::println); for (PageRoute pageRoute : pageRoutes) {
for (String url : urls) {
if(pageRoute.getPageName().contains(url)){
pageRouteList.add(pageRoute);
s.add(url);
}
}
}
List<String> collect = urls.stream().filter(u -> !s.contains(u)).collect(Collectors.toList());
List<PageRoute> ps = pageRoutes.stream().filter(u -> !pageRouteList.contains(u)).collect(Collectors.toList());
List<PageRoute> allPageRoutes=new ArrayList<>();
for (PageRoute pageRoute : pageRouteList) {
pageRoute.setMessage("有/有");
allPageRoutes.add(pageRoute);
}
for (String s1 : collect) {
PageRoute pageRoute=new PageRoute();
pageRoute.setPageName(s1);
pageRoute.setMessage("有/无");
pageRoute.setResponseTime(0);
pageRoute.setSuccess(0);
allPageRoutes.add(pageRoute);
}
for (PageRoute p : ps) {
p.setMessage("无/有");
allPageRoutes.add(p);
}
allPageRoutes.stream().forEach(System.out::println);
} }
public static List diff(List ls, List ls2) {
List list = new ArrayList(Arrays.asList(new Object[ls.size()])); public List<PageRoute> getAllPageRoutes(List<PageRoute> pageRoutes,List<String> sourceUrls){
Collections.copy(list, ls); if(pageRoutes==null||pageRoutes.size()==0){
list.removeAll(ls2); return null;
return list; }
if(sourceUrls==null||sourceUrls.size()==0){
return pageRoutes;
}
List<PageRoute> pageRouteList=new ArrayList<>();
List<String> s=new ArrayList<>();
for (PageRoute pageRoute : pageRoutes) {
for (String url : sourceUrls) {
if(pageRoute.getPageName().contains(url)){
pageRouteList.add(pageRoute);
s.add(url);
}
}
}
List<String> collect = sourceUrls.stream().filter(u -> !s.contains(u)).collect(Collectors.toList());
List<PageRoute> ps = pageRoutes.stream().filter(u -> !pageRouteList.contains(u)).collect(Collectors.toList());
List<PageRoute> allPageRoutes=new ArrayList<>();
for (PageRoute pageRoute : pageRouteList) {
pageRoute.setMessage("有/有");
allPageRoutes.add(pageRoute);
}
for (String s1 : collect) {
PageRoute pageRoute=new PageRoute();
pageRoute.setPageName(s1);
pageRoute.setMessage("有/无");
pageRoute.setResponseTime(0);
pageRoute.setSuccess(0);
allPageRoutes.add(pageRoute);
}
for (PageRoute p : ps) {
p.setMessage("无/有");
allPageRoutes.add(p);
}
allPageRoutes.stream().forEach(System.out::println);
return allPageRoutes;
} }
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论