代码之家  ›  专栏  ›  技术社区  ›  khaled

在Robot框架中,如何在执行期间登录到控制台

  •  1
  • khaled  · 技术社区  · 8 年前

    import org.apache.log4j.Logger;
    
    public class Sample
    {
    private static final Logger logger = Utils.getLogger(Sample.class);
    
    @RobotKeyword("Print Message")
    @ArgumentNames({"message"})
    public void printMessage(String message)
       {
        logger.info("I'm inside");
       }
    }
    


    import org.apache.log4j.Logger;
    import org.apache.log4j.PropertyConfigurator;
    
    public class Utils
    {
        public static final Logger logger = getLogger(Utils.class);
    
        public static Logger getLogger(Class<?> clazz)
        Logger logger = Logger.getLogger(className.getClass());
        PropertyConfigurator.configure("/src/main/resources/log4j.properties");
        return logger;
    }
    


    log4j.rootLogger=DEBUG, Stdout, file
    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 %-5p [%t] %F:%L %m%n
    log4j.appender.Stdout.ImmediateFlush=true
    log4j.appender.Stdout.follow=true
    

    通过这种设置,我可以在robot framework测试报告中查看测试执行后的日志,但如果我可以在测试执行期间查看日志,就像调用log to console关键字一样,那将非常有用。

    有办法做到这一点吗?

    1 回复  |  直到 8 年前
        1
  •  3
  •   jozefow    8 年前

    您可以使用侦听器界面 http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#listener-interface

    这在RED Robot Editor中用于获取执行状态、调试信息等。可以找到源代码: TestRunnerAgent.py

    推荐文章