之前的測試框架:http://www.cnblogs.com/tobecrazy/p/4553444.html 配合Jenkins可持續(xù)集成:http://www.cnblogs.com/tobecrazy/p/4529399.html 這次demo的代碼已經(jīng)放到github:https://github.com/tobecrazy/Demo 打log是一個測試框架必備的功能之一,trace測試執(zhí)行的內(nèi)容,使測試分析更容易和有規(guī)律可循。進(jìn)而進(jìn)一步處理測試log,實(shí)現(xiàn)自動分析測試結(jié)果。 現(xiàn)在java項目寫日志一般使用Log4j 2 log4j 2是一個開源的記錄log的框架,比log4j 效率更高 更多內(nèi)容:http://logging./log4j/2.x/manual/index.html 首先下載相應(yīng)的jar包,放到工程: 接下來創(chuàng)建Log類,使用 clazz.getCanonicalName() 獲取類名字,為將來case執(zhí)行獲取case名和page名和action名 package com.log; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; public class Log { private final Class<?> clazz; private Logger logger; /** * * @param clazz */ Log(Class<?> clazz) { this.clazz = clazz; this.logger = LogManager.getLogger(this.clazz); } /** * @author Young * @param message * */ public void info(String message) { logger.info(clazz.getCanonicalName() + ": " + message); } /** * @author Young * @param message */ public void debug(String message) { logger.debug(clazz.getCanonicalName() + ": " + message); } /** * @author Young * @param message */ public void error(String message) { logger.error(clazz.getCanonicalName() + ": " + message); } /** * @author Young * @param message */ public void trace(String message) { logger.trace(clazz.getCanonicalName() + ": " + message); } /** * @author Young * @param message */ public void warn(String message) { logger.warn(clazz.getCanonicalName() + ": " + message); } /** * @author Young * @param message */ public void fatal(String message) { logger.fatal(clazz.getCanonicalName() + ": " + message); } }
接下來就可以直接調(diào)用這個類:
然后, run as application 吧 結(jié)果如下: holy shit,damn it 居然報錯 ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. 原來是缺少config 于是乎準(zhǔn)備一份log4j2.xml文件,放在該package下: ![]() View Code 但是依然不行,沒法加參數(shù) 加上:
妥妥的 , 運(yùn)行結(jié)果如下: 2015-06-07 00:06:31 [main] INFO com.log.test - com.log.test: this is my test 并且logs目錄下生城相應(yīng)的log文件 當(dāng)然,這并不完美,log4j可以放在src目錄下,這要就不需要指定位置 接下來把這個log類放在測試框架里: 在basePage加入相應(yīng)的代碼,如下:
在UITest類也加入相應(yīng)的代碼: ![]() View Code 接下來就是見證奇跡的時候: 運(yùn)行一下:log能夠清晰記錄測試時所做的內(nèi)容 也有相應(yīng)的file log 今天的工程下載地址:http://pan.baidu.com/s/1kTqvzZx |
|