【问题标题】:How to print logs using log4j in selenium webdriver如何在 selenium webdriver 中使用 log4j 打印日志
【发布时间】:2017-06-25 23:33:49
【问题描述】:

环境: Java、Selenium webdriver、Maven、testNG、Log4J、Eclipse

  1. XML
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="TestAll" parallel = "tests" thread-count = "2">

 <test name="postivelogintest_IE">
 <parameter name="browser" value="ie"/>

 <classes>
 <class name="com.dice.LoginTest">
 <methods>
 <include name="DataDrivenpositiveLoginTest"/>
 </methods>
 </class>
 </classes>
 </test>


 <test name="postivelogintest_CH">
 <parameter name="browser" value="ch"/>

 <classes>
 <class name="com.dice.LoginTest">
 <methods>
 <include name="DataDrivenpositiveLoginTest"/>
 </methods>
 </class>
 </classes>
 </test>


</suite>
  1. BaseTest.java
package com.diceBase;
import org.apache.log4j.Logger;
import org.openqa.selenium.WebDriver;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Parameters;




public class BaseTest {
 protected WebDriver driver;
 protected Logger log;

    @Parameters ({"browser"})
 @BeforeMethod
 protected void MethodSetup(String browser){
 log.info("method set up"); // line 16
 driver = BrowserFactory.getDriver(browser);
 }

 @AfterMethod
 protected void TearDown(){
 log.info("method tear down");


 try {
 Thread.sleep(5000);
 driver.quit();
 } catch (Exception e) {
 }
 }
}
  1. 我在 src/main/resources 下添加了 log4j.properties。

  2. 在 BaseTest.java 中,我在导入 log4j 后添加了两行。

    log.info("方法设置");

    log.info("方法拆解");

iMy 的目标是能够在整个项目中使用 log.info。在此之前,我想通过只在 basetest 类中导入 log4j 记录器来测试它,看看它是否有效。如果它有效,那么我可以在整个项目中导入 log4j。

如果我保留两条日志消息,我会收到错误消息。但是,如果我删除两条日志消息,脚本就会通过。如何使用 log4j 打印日志?

【问题讨论】:

    标签: log4j


    【解决方案1】:

    您的 BaseTest.java 中的日志变量尚未分配记录器类的对象 (https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Logger.html) 。由于没有为变量 log 分配对象,因此会引发 NULL 指针异常。所以请将记录器类的对象创建为可变日志

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-27
      • 1970-01-01
      • 2016-10-30
      • 1970-01-01
      • 2015-05-05
      • 2017-08-28
      • 1970-01-01
      相关资源
      最近更新 更多