运行 selenium 脚本时日志方法中遇到问题。
我已在 pom 文件中附加了 log4j maven 存储库。
log4j 设置文件也附在主目录中
任何人都可以帮我解决为什么会出现此错误吗? 错误
java.lang.NullPointerException:无法调用“org.apache.log4j.Logger.info(Object)”,因为“blocknet_maven_hybird_framework_v1.testcases.TC_login.logger”为空。
driver = new ChromeDriver () ;
Logger logger = Logger.getLogger(TC_login.class);
PropertyConfigurator.configure ("Log4j.properties") ;
driver.manage().timeouts().implicitlyWait(3000,TimeUnit.SECONDS);
}
login_page lp = new login_page( driver ) ;
lp.setUserName ( username ) ;
logger.info("username entered");
lp.setPassword ( password ) ;
//log.**info**("password is entered");
lp.clickSubmit ( ) ;
if ( driver.getTitle ( ) . equals ( "EveryCred"))
{
Assert.assertTrue ( true ) ;
}
else
{
Assert.assertTrue ( false ) ;
}
//log.info("login testcase is passed");
我也遇到了同样的问题,但这是由于第二次初始化 Logger 类造成的。
首先我是这样声明的 “公共静态记录器日志;”
但错误地在方法体中第二次重新初始化了类 “记录器日志 = Logger.getLogger(TestBase.class);”
修复:删除第二次声明 - “log = Logger.getLogger(TestBase.class);”
我遇到了同样的问题,但没有双重声明...只是将代码放在 window.setVisible(true) 之后的 main() 中...意味着记录器未初始化。只需按照正确的顺序编写内容即可解决问题: