seleniumWebDriver的API高级应用Log4j打印执行日志11_2

            seleniumWebDriver的API高级应用Log4j打印执行日志11_2

目标:使用Log4j在日志文件中打印执行日志,用于监控和后学调试测试脚本

例如:打开百度网页

操作步骤:

1.新建maven项目,引入selenium包,testNG框架,引入log4j包如下

pom.xml内容:

 <dependencies>

    <dependency>

      <groupId>org.seleniumhq.selenium</groupId>

      <artifactId>selenium-java</artifactId>

      <version>2.44.0</version>

    </dependency>

    <dependency>

       <groupId>log4j</groupId>

       <artifactId>log4j</artifactId>

       <version>1.2.17</version>

    </dependency>

  </dependencies>

2.在项目根目录上新建名为Log4j.xml文件并配置如下内容:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE log4j:configuration SYSTEM"log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">

   <appender name="fileAppender" class="org.apache.log4j.FileAppender">

      <param name="Threshold" value="INFO"/>

      <param name="File" value="logfile.log"/>

      <layout class="org.apache.log4j.PatternLayout">

         <param name="ConversionPattern" value="%d %-5p [%c{1}] %m %n"/>

      </layout>

   </appender>

   <root>

      <level value="INFO"/>

      <appender-ref ref="fileAppender"/>

   </root>

</log4j:configuration>

 

 

3.新建log的java class类,内容(示例类名toolLog,可定义其他名称)

import org.apache.log4j.Logger;

public class toolLog {

   //初始化一个Logger对象

   private static Logger log=Logger.getLogger(toolLog.class.getName());

   //定义一个静态方法,可以打印自定义的某个测试用例开始执行的日志信息

   public static voidstartTestCase(String sTestCaseName){

      log.info("====执行当前用例之前的日志信息====");

      log.info("*********      "+sTestCaseName+"     **********");

   }

   //定义一个静态方法,可以打印自定义的某个测试用例执行结束之后的日志信息

   public static voidendTestCase(String sTestCaseName){

      log.info("====执行当前用例之后的日志信息====");

      log.info("*********      "+"测试用例执行结束"+"     **********");

   }

   //定义一个静态fatal方法,打印自定义的fatal级别日志信息

   public static voidfatal(String message){

      log.fatal(message);

   }

   //定义一个静态fatal方法,打印自定义的fatal级别日志信息

   public static voiderror(String message){

      log.error(message);

   }

   //定义一个静态fatal方法,打印自定义的fatal级别日志信息

   public static voidwarn(String message){

      log.warn(message);

   }

   //定义一个静态fatal方法,打印自定义的fatal级别日志信息

   public static voidinfo(String message){

      log.info(message);

   }

   //定义一个静态fatal方法,打印自定义的fatal级别日志信息

   public static voiddebug(String message){

      log.debug(message);

   }

}

 

4.新建一个testNG框架类TestLog4j用来测试日志输出内容:

public class TestLog4j{

   WebDriver driver;

    @Test

    public void f() {

       toolLog.startTestCase("搜素");

       driver.get("http://www.baidu.com");

       toolLog.info("打开百度首页");

       toolLog.endTestCase("搜索");

    }

    @BeforeMethod

    public voidbeforeMethod() {

       System.setProperty("webdriver.firefox.bin","D:\\firefox\\firefox.exe");

       driver=newFirefoxDriver();

    }

    @AfterMethod

    public voidafterMethod() throws InterruptedException {

       Thread.sleep(3000);

       driver.quit();

    }

    @BeforeClass

    public voidbeforeClass() {

       //读取log4j的配置文件log4j.xml的配置信息

       DOMConfigurator.configure("log4j.xml");

    }

}

 

5.执行完TestLog4j测试类会生成一个logfile.log,刷新当前项目进入log4j.log查看到如下预期结果:

2017-03-05 00:10:07,249 INFO  [toolLog] ====执行当前用例之前的日志信息====

2017-03-05 00:10:07,249 INFO  [toolLog] *********    搜素      **********

2017-03-05 00:10:07,689 INFO  [toolLog] 打开百度首页

2017-03-05 00:10:07,689 INFO  [toolLog] ====执行当前用例之后的日志信息====

2017-03-05 00:10:07,689 INFO  [toolLog] *********    测试用例执行结束    **********

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值