脚本中LOG的重要性
1.有了断言,有了截图,当出现失败的用例时,我们就会根据这些来分析一下用例为什么失败了,但往往这些信息在我们查找失败原因时发挥不了作用,要说查找错误最直接的,还是LOG了,根据LOG的内容,就可以大概的判断出在哪一行以及大概的错误,LOG4J是一个被泛使用的LOG框架,不管是开发还是测试,LOG4J都很流行,LOG4J就是提供了一个JAR包,然后我们配置一下,配置完成后,在程序里直接调用即可,可能有的人认为LOG是自动生成的,其实不是的,LOG的内容都是我们在程序中写好的,所以,一个好的程序员,要学会写个注释及加上好的LOG。
Log4j的配置
代码配置与调用
具体代码如下:
log4j.properties文件:
1 log4j.rootLogger=INFO, stdout, fileout 2 log4j.logger.TestProject=INFO 3 log4j.appender.stdout=org.apache.log4j.ConsoleAppender 4 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 5 log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %c : %m%n 6 log4j.appender.fileout=org.apache.log4j.FileAppender 7 log4j.appender.fileout.File=log.log 8 log4j.appender.fileout.layout=org.apache.log4j.PatternLayout 9 log4j.appender.fileout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %c : %m%n
Log.java文件:
package com.selenium.utils; import java.io.File; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; public class Log { private static Logger logger; private static String filePath = "src/log4j.properties"; private static boolean flag = false; private static synchronized void getPropertyFile() { logger = Logger.getLogger("TestProject"); PropertyConfigurator.configure(new File(filePath).getAbsolutePath()); flag = true; } private static void getFlag() { if (flag == false) { Log.getPropertyFile(); } } public static void logInfo(String message) { Log.getFlag(); logger.info(message); } public static void logError(String message) { Log.getFlag(); logger.error(message); } public static void logWarn(String message) { Log.getFlag(); logger.warn(message); } }
最后打个广告,不要介意哦~
最近我在Dataguru学了《软件自动化测试Selenium2》网络课程,挺不错的,你可以来看看!要是想报名,可以用我的优惠码 G863,立减你50%的固定学费!
链接:http://www.dataguru.cn/invite.php?invitecode=G863