自动化生成html报告

package Utils;

import java.io.File;
import java.util.Date;

import org.apache.commons.lang3.time.DateFormatUtils;
import org.apache.log4j.Logger;
import org.testng.Reporter;

public class ReportUtils {

    private static Logger logger = Logger.getLogger(ReportUtils.class.getName());

    public ReportUtils() {
        System.setProperty("org.uncommons.reportng.escape-output", "false");
    }

    /*********************************************************************************************
     * 写log和报告操作
     *********************************************************************************************/
    /**
     * 写日志和报告
     *
     * @param comm
     */
    public void log(String... comm) {
        String time = DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss");
        if (comm.length == 0) {
            Reporter.log("[" + time + "] <br />");
            logger.info("");
        } else {
            Reporter.log("[" + time + "] " + comm[0] + "<br />");
            logger.info(comm[0]);
        }
    }

    /**
     * 写日志和报告
     *
     * @param comm
     * @comment 如果selenium.properties中【isPrintDebugMsg】值为0,则只打印looger,不打印report
     */
    public void debug(String... comm) {
        if (1 == 1) {
            log("[debug]" + comm[0]);
        } else {
            logger.info(comm[0]);
        }
    }

    /**
     * 写错误日志和报告
     *
     * @param comm
     */
    public void error(String comm) {
        String time = DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss");
        Reporter.log("<span style=\"color:#FF0000\"><b>[" + time + "] [ERROR] " + comm + "</b></span><br />");
        logger.error(comm);
    }

    /**
     * 写警告日志和报告
     *
     * @param comm
     */
    public void warn(String comm) {
        String time = DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss");
        Reporter.log("<span style=\"color:#FF7F27\"><b>[" + time + "] [WARNING] " + comm + "</b></span><br />");
        logger.warn(comm);
    }

    /**
     * 写重要的日志和报告
     *
     * @param comm
     */
    public void highLight(String comm) {
        log("<span style='background-color:#FFE500;'>" + comm + "</span>");
    }

    /**
     * 写绿色高亮的的日志和报告
     *
     * @param comm
     */
    public void greenLight(String comm) {
        log("<span style='background-color:#CFFFBA;'>" + comm + "</span>");
    }

    /**
     * 参数高亮
     *
     * @param comm
     */
    public void paraLight(String comm) {
        if (1 == 1) {
            log("<span style='background-color:#E4FFD9;'>" + comm + "</span>");
        } else {
            logger.info(comm);
        }
    }

    /**
     * 给MCDB用的日志和报告
     *
     * @param comm
     */
    public void mcdbLight(String comm) {
        if (1 == 1) {
            log("<span style='background-color:#C1E7F7;'>[MCDB]" + comm + "</span>");
        } else {
            logger.info("[MCDB]" + comm);
        }
    }

    /**
     * 写醒目的标题
     *
     * @param comm
     */
    public void title(String comm) {
        String str;
        str = "<p style=\"color:#0068BD;margin-top:25px;margin-bottom:8px\"><b>";
        str = str + "**********************************************************************************************<br>";
        str = str + "* " + comm + "<br>";
        str = str + "**********************************************************************************************</b>";
        str = str + "</p>";
        Reporter.log(str);
    }

    /**
     * 用于截图的log写入
     *
     * @param comm
     * @param file
     */
    public void screenShotLog(String comm, File file) {
        int width = 350;
        String absolute = "file:" + file.getAbsolutePath();

        Reporter.log("<a target='_blank' href=\"" + absolute + "\">");
        Reporter.log("<img width=\"" + width + "\" src=\"" + absolute + "\" />    " + comm);
        Reporter.log("</a><br />");
    }
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值