• 自动化生成html报告


      1 package Utils;
      2 
      3 import java.io.File;
      4 import java.util.Date;
      5 
      6 import org.apache.commons.lang3.time.DateFormatUtils;
      7 import org.apache.log4j.Logger;
      8 import org.testng.Reporter;
      9 
     10 public class ReportUtils {
     11 
     12     private static Logger logger = Logger.getLogger(ReportUtils.class.getName());
     13 
     14     public ReportUtils() {
     15         System.setProperty("org.uncommons.reportng.escape-output", "false");
     16     }
     17 
     18     /*********************************************************************************************
     19      * 写log和报告操作
     20      *********************************************************************************************/
     21     /**
     22      * 写日志和报告
     23      *
     24      * @param comm
     25      */
     26     public void log(String... comm) {
     27         String time = DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss");
     28         if (comm.length == 0) {
     29             Reporter.log("[" + time + "] <br />");
     30             logger.info("");
     31         } else {
     32             Reporter.log("[" + time + "] " + comm[0] + "<br />");
     33             logger.info(comm[0]);
     34         }
     35     }
     36 
     37     /**
     38      * 写日志和报告
     39      *
     40      * @param comm
     41      * @comment 如果selenium.properties中【isPrintDebugMsg】值为0,则只打印looger,不打印report
     42      */
     43     public void debug(String... comm) {
     44         if (1 == 1) {
     45             log("[debug]" + comm[0]);
     46         } else {
     47             logger.info(comm[0]);
     48         }
     49     }
     50 
     51     /**
     52      * 写错误日志和报告
     53      *
     54      * @param comm
     55      */
     56     public void error(String comm) {
     57         String time = DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss");
     58         Reporter.log("<span style="color:#FF0000"><b>[" + time + "] [ERROR] " + comm + "</b></span><br />");
     59         logger.error(comm);
     60     }
     61 
     62     /**
     63      * 写警告日志和报告
     64      *
     65      * @param comm
     66      */
     67     public void warn(String comm) {
     68         String time = DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss");
     69         Reporter.log("<span style="color:#FF7F27"><b>[" + time + "] [WARNING] " + comm + "</b></span><br />");
     70         logger.warn(comm);
     71     }
     72 
     73     /**
     74      * 写重要的日志和报告
     75      *
     76      * @param comm
     77      */
     78     public void highLight(String comm) {
     79         log("<span style='background-color:#FFE500;'>" + comm + "</span>");
     80     }
     81 
     82     /**
     83      * 写绿色高亮的的日志和报告
     84      *
     85      * @param comm
     86      */
     87     public void greenLight(String comm) {
     88         log("<span style='background-color:#CFFFBA;'>" + comm + "</span>");
     89     }
     90 
     91     /**
     92      * 参数高亮
     93      *
     94      * @param comm
     95      */
     96     public void paraLight(String comm) {
     97         if (1 == 1) {
     98             log("<span style='background-color:#E4FFD9;'>" + comm + "</span>");
     99         } else {
    100             logger.info(comm);
    101         }
    102     }
    103 
    104     /**
    105      * 给MCDB用的日志和报告
    106      *
    107      * @param comm
    108      */
    109     public void mcdbLight(String comm) {
    110         if (1 == 1) {
    111             log("<span style='background-color:#C1E7F7;'>[MCDB]" + comm + "</span>");
    112         } else {
    113             logger.info("[MCDB]" + comm);
    114         }
    115     }
    116 
    117     /**
    118      * 写醒目的标题
    119      *
    120      * @param comm
    121      */
    122     public void title(String comm) {
    123         String str;
    124         str = "<p style="color:#0068BD;margin-top:25px;margin-bottom:8px"><b>";
    125         str = str + "**********************************************************************************************<br>";
    126         str = str + "* " + comm + "<br>";
    127         str = str + "**********************************************************************************************</b>";
    128         str = str + "</p>";
    129         Reporter.log(str);
    130     }
    131 
    132     /**
    133      * 用于截图的log写入
    134      *
    135      * @param comm
    136      * @param file
    137      */
    138     public void screenShotLog(String comm, File file) {
    139         int width = 350;
    140         String absolute = "file:" + file.getAbsolutePath();
    141 
    142         Reporter.log("<a target='_blank' href="" + absolute + "">");
    143         Reporter.log("<img width="" + width + "" src="" + absolute + "" />    " + comm);
    144         Reporter.log("</a><br />");
    145     }
    146 }
    View Code
     
  • 相关阅读:
    网络基础复习02
    网络基础复习01
    python 基础复习之数据库02
    python 基础复习之数据库01
    python 基础复习 13
    python基础复习 12
    python基础复习 11
    python基础复习10
    列表切片,内置方法
    文件操作基础流程
  • 原文地址:https://www.cnblogs.com/sunny-sl/p/7451582.html
Copyright © 2020-2023  润新知