Java 将日志保存在SeleniumWebDriver中生成的文本文件中

Java 将日志保存在SeleniumWebDriver中生成的文本文件中,java,selenium-webdriver,Java,Selenium Webdriver,如何将日志保存在SeleniumWebDriver中生成的文本文件中 我知道如何用java记录普通日志,就像使用logger一样。 下面是我尝试记录的步骤 Logger logger = Logger.getRootLogger(); PropertyConfigurator.configure("data/config/log4j.properties"); FileAppender appender = (FileAppender)logger.getAppender("file"); St

如何将日志保存在SeleniumWebDriver中生成的文本文件中

我知道如何用java记录普通日志,就像使用logger一样。 下面是我尝试记录的步骤

Logger logger = Logger.getRootLogger();
PropertyConfigurator.configure("data/config/log4j.properties");
FileAppender appender = (FileAppender)logger.getAppender("file");
String logFilePath ="C:\\Users\\priyarsi\\Desktop\\LdapLog.txt";
appender.setFile(logFilePath);
appender.setThreshold(Level.DEBUG);
appender.setAppend(true);
appender.activateOptions();
log.debug("Hello this is an debug message");
log.info("Hello this is an info message");
有人能帮我将selenium webdriver输出记录到文本文件中吗?

试试这个-

# Root logger option
log4j.rootLogger=INFO, file, stdout

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=../AutoLogs.log
#log4j.appender.file.File=${file.name}
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss} %5p %c{1}:%L %t - %m%n

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss} %5p %c{1}:%L %t - %m%n

您可以尝试记录log4japi。这很容易理解和实现。执行以下步骤:

  • 从()下载Log4j JAR
  • 将下载的JAR添加到项目的构建路径
  • 创建一个新的XML文件–log4j.XML,并将其放在项目根文件夹下
  • 添加新的xml文件,或者您可以根据需要对其进行自定义。()

  • 创建新Java类并粘贴以下代码: 包装实用程序

    import org.apache.log4j.Logger;
    public class Log {
    
    // Initialize Log4j logs
    private static Logger Log = Logger.getLogger(Log.class.getName());//
    // This is to print log for the beginning of the test case, as we usually
    // run so many test cases as a test suite
    
    public static void startTestCase(String sTestCaseName) {
    
        Log.info("****************************************************************************************");
        Log.info("****************************************************************************************");
        Log.info("$$$$$$$$$$$$$$$$$$$$$                 " + sTestCaseName + "       $$$$$$$$$$$$$$$$$$$$$$$$$");
        Log.info("****************************************************************************************");
        Log.info("****************************************************************************************");
    }
    
    // This is to print log for the ending of the test case
    public static void endTestCase(String sTestCaseName) {
        Log.info("XXXXXXXXXXXXXXXXXXXXXXX             " + "-E---N---D-" + "             XXXXXXXXXXXXXXXXXXXXXX");
        Log.info("X");
        Log.info("X");
        Log.info("X");
        Log.info("X");
    
    }
    
    // Need to create these methods, so that they can be called
    public static void info(String message) {
        Log.info(message);
    }
    
    public static void warn(String message) {
        Log.warn(message);
    }
    
    public static void error(String message) {
        Log.error(message);
    }
    
    public static void fatal(String message) {
        Log.fatal(message);
    }
    
    public static void debug(String message) {
        Log.debug(message);
      }
    }
    
  • 在测试脚本中调用上述方法