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

路由规则

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