如何在SeleniumWebDriver中使用log4j打印日志

如何在SeleniumWebDriver中使用log4j打印日志,log4j,Log4j,环境: Java、SeleniumWebDriver、Maven、testNG、Log4J、Eclipse XML 我在src/main/resources下添加了log4j.properties 在BaseTest.java中,我在导入log4j之后添加了两行 log.info(“方法设置”) log.info(“方法分解”) 我的目标是能够在整个项目中使用log.info。在此之前,我只想通过在basetest类中导入log4j logger来测试它,看看它是否工作。如果它能工作,那么我可

环境: Java、SeleniumWebDriver、Maven、testNG、Log4J、Eclipse

  • XML
  • 我在src/main/resources下添加了log4j.properties

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

    log.info(“方法设置”)

    log.info(“方法分解”)

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

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

    BaseTest.java中的日志变量未分配logger类()的对象。由于没有为变量log分配对象,因此它会引发空指针异常。所以,请创建logger类的对象以创建可变日志

    <?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>
    
    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) {
     }
     }
    }