提交 7f970097 authored 作者: 孙洁清's avatar 孙洁清

路由规则

上级 dba76e58
...@@ -38,7 +38,8 @@ public class TestTask { ...@@ -38,7 +38,8 @@ public class TestTask {
private TestReportService testReportService; private TestReportService testReportService;
@Autowired @Autowired
private SeleniumExecutor seleniumExecutor; private SeleniumExecutor seleniumExecutor;
private static Object o=new Object(); private static Object o = new Object();
@Scheduled(cron = "0/5 * * * * ?") @Scheduled(cron = "0/5 * * * * ?")
@Async("asyncServiceExecutor") @Async("asyncServiceExecutor")
public void getMessage() { public void getMessage() {
...@@ -58,16 +59,16 @@ public class TestTask { ...@@ -58,16 +59,16 @@ public class TestTask {
if (testChannel != null) { if (testChannel != null) {
log.info("testChannel不为空:{}", testChannel); log.info("testChannel不为空:{}", testChannel);
try { try {
Project project=new Project(); Project project = new Project();
project.setBrowser(testChannel.getBrowser().toLowerCase()); project.setBrowser(testChannel.getBrowser().toLowerCase());
project.setName(testChannel.getName()); project.setName(testChannel.getName());
project.setUrl(testChannel.getUrl()); project.setUrl(testChannel.getUrl());
List<RuleSet> ruleSets = testChannel.getRuleSets(); List<RuleSet> ruleSets = testChannel.getRuleSets();
List<Input> inputs=new ArrayList<>(); List<Input> inputs = new ArrayList<>();
project.setInputs(null); project.setInputs(null);
if(ruleSets!=null) { if (ruleSets != null) {
for (RuleSet ruleSet : ruleSets) { for (RuleSet ruleSet : ruleSets) {
Input input=new Input(); Input input = new Input();
input.setKey(ruleSet.getDes()); input.setKey(ruleSet.getDes());
input.setAttrName(ruleSet.getCommand()); input.setAttrName(ruleSet.getCommand());
input.setAttrValue(ruleSet.getTarget()); input.setAttrValue(ruleSet.getTarget());
...@@ -82,8 +83,8 @@ public class TestTask { ...@@ -82,8 +83,8 @@ public class TestTask {
Report report = seleniumExecutor.execute(project); Report report = seleniumExecutor.execute(project);
System.out.println(report); System.out.println(report);
List<Measure> measures = report.getMeasures(); List<Measure> measures = report.getMeasures();
if(measures!=null&&measures.size()>0) { if (measures != null && measures.size() > 0) {
long count = measures.stream().filter(m -> m.getSuccess()!=true).count(); long count = measures.stream().filter(m -> m.getSuccess() != true).count();
System.out.println(report); System.out.println(report);
EvaReport evaReport = new EvaReport(); EvaReport evaReport = new EvaReport();
evaReport.setBrowser(report.getBrowser()); evaReport.setBrowser(report.getBrowser());
...@@ -117,11 +118,11 @@ public class TestTask { ...@@ -117,11 +118,11 @@ public class TestTask {
pageContentTest.setResponseTime(measure.getResponseTime()); pageContentTest.setResponseTime(measure.getResponseTime());
pageContentTest.setScreenshot(measure.getScreenshot()); pageContentTest.setScreenshot(measure.getScreenshot());
pageContentTest.setSuccess(0); pageContentTest.setSuccess(0);
if(measure.getSuccess()) { if (measure.getSuccess()) {
pageContentTest.setSuccess(1); pageContentTest.setSuccess(1);
} }
List<ElementDetail> elementDetails = measure.getElementDetails(); List<ElementDetail> elementDetails = measure.getElementDetails();
if(elementDetails!=null) { if (elementDetails != null) {
List<PageContent> contents = new ArrayList<>(); List<PageContent> contents = new ArrayList<>();
for (ElementDetail elementDetail : elementDetails) { for (ElementDetail elementDetail : elementDetails) {
PageContent pageContent = new PageContent(); PageContent pageContent = new PageContent();
...@@ -139,12 +140,12 @@ public class TestTask { ...@@ -139,12 +140,12 @@ public class TestTask {
pageContents.add(pageContentTest); pageContents.add(pageContentTest);
} }
evaReport.setPageContents(pageContents); evaReport.setPageContents(pageContents);
List<PageRoute> pageRoutes=new ArrayList<>(); List<PageRoute> pageRoutes = new ArrayList<>();
for (Measure measure : measures) { for (Measure measure : measures) {
PageRoute pageRoute=new PageRoute(); PageRoute pageRoute = new PageRoute();
pageRoute.setPageName(measure.getUrl()); pageRoute.setPageName(measure.getUrl());
pageRoute.setSuccess(0); pageRoute.setSuccess(0);
if(measure.getSuccess()) { if (measure.getSuccess()) {
pageRoute.setSuccess(1); pageRoute.setSuccess(1);
} }
pageRoute.setMessage("无/有"); pageRoute.setMessage("无/有");
...@@ -154,12 +155,17 @@ public class TestTask { ...@@ -154,12 +155,17 @@ public class TestTask {
} }
List<String> sourceUrls = getSourceUrls(testChannel, pageContents); List<String> sourceUrls = getSourceUrls(testChannel, pageContents);
List<PageRoute> allPageRoutes = getAllPageRoutes(pageRoutes, sourceUrls); List<PageRoute> allPageRoutes = getAllPageRoutes(pageRoutes, sourceUrls);
List<PageRoute> collect = allPageRoutes.stream().distinct().collect(Collectors.toList()); if(allPageRoutes!=null&&allPageRoutes.size()>0) {
if(collect!=null&&collect.size()>0){ List<PageRoute> collect = allPageRoutes.stream().distinct().collect(Collectors.toList());
evaReport.setPageRoutes(collect); if (collect != null && collect.size() > 0) {
}else{ evaReport.setPageRoutes(collect);
evaReport.setPageRoutes(pageRoutes); } else {
evaReport.setPageRoutes(null);
}
}else {
evaReport.setPageRoutes(null);
} }
System.out.println("修改状态"); System.out.println("修改状态");
//改变报告状态 //改变报告状态
String out = JSON.toJSONString(evaReport); String out = JSON.toJSONString(evaReport);
...@@ -170,17 +176,17 @@ public class TestTask { ...@@ -170,17 +176,17 @@ public class TestTask {
testReport.setOutReport(out); testReport.setOutReport(out);
testReportService.update(testReport); testReportService.update(testReport);
autoResultSetService.updateByid(id,1); autoResultSetService.updateByid(id, 1);
WebSocketServer.sendInfo("1,"+id,"sjq110"); WebSocketServer.sendInfo("1," + id, "sjq110");
return; return;
} }
autoResultSetService.updateByid(id,2); autoResultSetService.updateByid(id, 2);
WebSocketServer.sendInfo("2,"+id,"sjq110"); WebSocketServer.sendInfo("2," + id, "sjq110");
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
try { try {
autoResultSetService.updateByid(id,2); autoResultSetService.updateByid(id, 2);
WebSocketServer.sendInfo("2,"+id,"sjq110"); WebSocketServer.sendInfo("2," + id, "sjq110");
} catch (IOException e1) { } catch (IOException e1) {
e1.printStackTrace(); e1.printStackTrace();
} }
...@@ -213,12 +219,12 @@ public class TestTask { ...@@ -213,12 +219,12 @@ public class TestTask {
fileRoutes = "angular"; fileRoutes = "angular";
} }
if (fileRoutes != null) { if (fileRoutes != null) {
System.out.println("源码类型:"+fileRoutes); System.out.println("源码类型:" + fileRoutes);
List<String> routerList = getRouterList(alls, fileRoutes); List<String> routerList = getRouterList(alls, fileRoutes);
List<String> collect = routerList.stream().map(String::toLowerCase).distinct().collect(Collectors.toList()); List<String> collect = routerList.stream().map(String::toLowerCase).distinct().collect(Collectors.toList());
System.out.println("源代码中的路由地址:"+collect.toString()); System.out.println("源代码中的路由地址:" + collect.toString());
FileHtmlUtil.clearAll(); FileHtmlUtil.clearAll();
return collect; return collect;
} }
FileHtmlUtil.clearAll(); FileHtmlUtil.clearAll();
} }
...@@ -226,66 +232,67 @@ public class TestTask { ...@@ -226,66 +232,67 @@ public class TestTask {
} }
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-Z]+)+"; String pattern = "(<*\\/:*[a-zA-Z]+)+";
List<String> allRouters = new ArrayList<>(); List<String> allRouters = new ArrayList<>();
Set<String> all = alls.keySet(); Set<String> all = alls.keySet();
if(all!=null) { if (all != null) {
//所有的路由 //所有的路由
if (fileRoutes.equals("vue")) { if (fileRoutes.equals("vue")) {
for (String s1 : all) { for (String s1 : all) {
List<FileType> fileBeans = alls.get(s1); if ("router".equals(s1)) {
if (fileRoutes != null) { List<FileType> fileBeans = alls.get(s1);
if (s1.contains("router")) { if (fileRoutes != null) {
for (FileType fileBean : fileBeans) {
allRouters.addAll(FileHtmlUtil.readTxtFile(fileBean.getAddress(), pattern));
}
}else{
for (FileType fileBean : fileBeans) { for (FileType fileBean : fileBeans) {
if(fileBean.getFileName().contains("router")&&fileBean.getSuffix().equals("js")){ if (fileBean.getFileName().equals("index.js")) {
allRouters.addAll(FileHtmlUtil.readTxtFile(fileBean.getAddress(), pattern)); allRouters.addAll(FileHtmlUtil.readTxtFile(fileBean.getAddress(), pattern));
} }
} }
} }
} }
} }
} else if (fileRoutes.equals("angular") || fileRoutes.equals("react")) { } else if (fileRoutes.equals("angular")) {
for (String s1 : all) { for (String s1 : all) {
List<FileType> fileBeans = alls.get(s1); if("app".equals(s1)) {
if (fileRoutes != null) { List<FileType> fileBeans = alls.get(s1);
for (FileType fileBean : fileBeans) { if (fileRoutes != null) {
if (fileBean.getSuffix().equals("js")) { for (FileType fileBean : fileBeans) {
allRouters.addAll(FileHtmlUtil.readTxtFile(fileBean.getAddress(), pattern)); if (fileBean.getFileName().equals("app.module.ts")) {
allRouters.addAll(FileHtmlUtil.readTxtFile(fileBean.getAddress(), pattern));
}
} }
} }
} }
} }
} else { }else if (fileRoutes.equals("react")) {
for (String s1 : all) { for (String s1 : all) {
List<FileType> fileBeans = alls.get(s1); List<FileType> fileBeans = alls.get(s1);
if (fileRoutes != null) { if (fileRoutes != null) {
for (FileType fileBean : fileBeans) { for (FileType fileBean : fileBeans) {
if (fileBean.getSuffix().equals("jsp")) { if (fileBean.getFileName().equals("index.js")) {
allRouters.addAll(FileHtmlUtil.readTxtFile(fileBean.getAddress(), pattern)); allRouters.addAll(FileHtmlUtil.readTxtFile(fileBean.getAddress(), pattern));
}
} }
} }
} }
} }
} else {
return null;
} }
}
return allRouters; return allRouters;
} }
public static void main(String[] args) { public static void main(String[] args) {
List<PageRoute> pageRoutes=new ArrayList<>(); List<PageRoute> pageRoutes = new ArrayList<>();
PageRoute p1=new PageRoute(); PageRoute p1 = new PageRoute();
p1.setPageName("http://www.baidu.com/eva/update"); p1.setPageName("http://www.baidu.com/eva/update");
PageRoute p2=new PageRoute(); PageRoute p2 = new PageRoute();
p2.setPageName("/eva/save"); p2.setPageName("/eva/save");
PageRoute p3=new PageRoute(); PageRoute p3 = new PageRoute();
p3.setPageName("http://www.baidu.com/eva/delete"); p3.setPageName("http://www.baidu.com/eva/delete");
PageRoute p4=new PageRoute(); PageRoute p4 = new PageRoute();
p4.setPageName("http://www.baidu.com/eva/find"); p4.setPageName("http://www.baidu.com/eva/find");
PageRoute p5=new PageRoute(); PageRoute p5 = new PageRoute();
p5.setPageName("http://www.baidu.com/sff/1/s/10"); p5.setPageName("http://www.baidu.com/sff/1/s/10");
pageRoutes.add(p1); pageRoutes.add(p1);
pageRoutes.add(p2); pageRoutes.add(p2);
...@@ -293,12 +300,12 @@ public class TestTask { ...@@ -293,12 +300,12 @@ public class TestTask {
pageRoutes.add(p4); pageRoutes.add(p4);
pageRoutes.add(p5); pageRoutes.add(p5);
List<String> urls=Arrays.asList("/save","/find/search","/update","/sdf/hks","/sff/:sdf/s/:size"); List<String> urls = Arrays.asList("/save", "/find/search", "/update", "/sdf/hks", "/sff/:sdf/s/:size");
List<PageRoute> pageRouteList=new ArrayList<>(); List<PageRoute> pageRouteList = new ArrayList<>();
List<String> s=new ArrayList<>(); List<String> s = new ArrayList<>();
for (PageRoute pageRoute : pageRoutes) { for (PageRoute pageRoute : pageRoutes) {
for (String url : urls) { for (String url : urls) {
if(pageRoute.getPageName().contains(url)){ if (pageRoute.getPageName().contains(url)) {
pageRouteList.add(pageRoute); pageRouteList.add(pageRoute);
s.add(url); s.add(url);
} }
...@@ -306,13 +313,13 @@ public class TestTask { ...@@ -306,13 +313,13 @@ public class TestTask {
} }
List<String> collect = urls.stream().filter(u -> !s.contains(u)).collect(Collectors.toList()); 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> ps = pageRoutes.stream().filter(u -> !pageRouteList.contains(u)).collect(Collectors.toList());
List<PageRoute> allPageRoutes=new ArrayList<>(); List<PageRoute> allPageRoutes = new ArrayList<>();
for (PageRoute pageRoute : pageRouteList) { for (PageRoute pageRoute : pageRouteList) {
pageRoute.setMessage("有/有"); pageRoute.setMessage("有/有");
allPageRoutes.add(pageRoute); allPageRoutes.add(pageRoute);
} }
for (String s1 : collect) { for (String s1 : collect) {
PageRoute pageRoute=new PageRoute(); PageRoute pageRoute = new PageRoute();
pageRoute.setPageName(s1); pageRoute.setPageName(s1);
pageRoute.setMessage("有/无"); pageRoute.setMessage("有/无");
pageRoute.setResponseTime(0); pageRoute.setResponseTime(0);
...@@ -327,18 +334,18 @@ public class TestTask { ...@@ -327,18 +334,18 @@ public class TestTask {
allPageRoutes.stream().forEach(System.out::println); allPageRoutes.stream().forEach(System.out::println);
} }
public List<PageRoute> getAllPageRoutes(List<PageRoute> pageRoutes,List<String> sourceUrls){ public List<PageRoute> getAllPageRoutes(List<PageRoute> pageRoutes, List<String> sourceUrls) {
if(pageRoutes==null||pageRoutes.size()==0){ if (pageRoutes == null || pageRoutes.size() == 0) {
return null; return null;
} }
if(sourceUrls==null||sourceUrls.size()==0){ if (sourceUrls == null || sourceUrls.size() == 0) {
return pageRoutes; return pageRoutes;
} }
List<PageRoute> pageRouteList=new ArrayList<>(); List<PageRoute> pageRouteList = new ArrayList<>();
List<String> s=new ArrayList<>(); List<String> s = new ArrayList<>();
for (PageRoute pageRoute : pageRoutes) { for (PageRoute pageRoute : pageRoutes) {
for (String url : sourceUrls) { for (String url : sourceUrls) {
if(pageRoute.getPageName().contains(url)){ if (pageRoute.getPageName().contains(url)) {
pageRouteList.add(pageRoute); pageRouteList.add(pageRoute);
s.add(url); s.add(url);
} }
...@@ -346,13 +353,13 @@ public class TestTask { ...@@ -346,13 +353,13 @@ public class TestTask {
} }
List<String> collect = sourceUrls.stream().filter(u -> !s.contains(u)).collect(Collectors.toList()); 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> ps = pageRoutes.stream().filter(u -> !pageRouteList.contains(u)).collect(Collectors.toList());
List<PageRoute> allPageRoutes=new ArrayList<>(); List<PageRoute> allPageRoutes = new ArrayList<>();
for (PageRoute pageRoute : pageRouteList) { for (PageRoute pageRoute : pageRouteList) {
pageRoute.setMessage("有/有"); pageRoute.setMessage("有/有");
allPageRoutes.add(pageRoute); allPageRoutes.add(pageRoute);
} }
for (String s1 : collect) { for (String s1 : collect) {
PageRoute pageRoute=new PageRoute(); PageRoute pageRoute = new PageRoute();
pageRoute.setPageName(s1); pageRoute.setPageName(s1);
pageRoute.setMessage("有/无"); pageRoute.setMessage("有/无");
pageRoute.setResponseTime(0); pageRoute.setResponseTime(0);
......
...@@ -18,10 +18,10 @@ spring.servlet.multipart.max-file-size=500MB ...@@ -18,10 +18,10 @@ spring.servlet.multipart.max-file-size=500MB
spring.servlet.multipart.max-request-size=500MB spring.servlet.multipart.max-request-size=500MB
screenshot-path=C:/MyProjects/auto-test/src/main/resources/screenshots/ screenshot-path=E:/opt/auto/image
selenium.executor.wait-after-click=6 selenium.executor.wait-after-click=2
selenium.executor.screenshot.url-host=localhost selenium.executor.screenshot.url-host=192.168.0.119
selenium.executor.screenshot.url-port=13500 selenium.executor.screenshot.url-port=13500
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论