使用Robot框架中的Python日志记录

时间:2016-04-20 09:48:31

标签: python python-2.7 logging robotframework

我在Python 2.7.8下使用robot framework 3.0。机器人框架的文档(http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#programmatic-logging-apis)声明

  

除了新的公共日志记录API之外,Robot Framework还为Python的标准日志记录模块提供了内置支持。这样可以使模块的根记录器接收的所有消息自动传播到Robot Framework的日志文件。

我制作了一个简短的库文件来测试它:

from logging import debug, error, info, warn

def try_logging():
    info("This is merely a humble info message.")
    debug("Most users never saw me.")
    warn("I warn you about something.")
    error("Something bad happened.")

我的测试用例是:

*** Test Cases ***
Logtest
    Try logging

当我运行它时,它是一个PASSED案例,但没有记录到HTML日志中。测试执行日志具有套装和案例以及关键字,但是当我展开它们时,没有记录任何内容,但是"开始/结束/经过"线。

如何将Python记录器消息转发给Robot?如您所见,所谓的自动传播无法自动运行。我的目标是编写一个可以使用或不使用Robot Fw运行的库。

Ty提前帮助你。

1 个答案:

答案 0 :(得分:2)

经过几个小时的代码挖掘,我找到了答案。我认为值得分享,因为如果你有类似的问题可能对你有所帮助。

在我的情况下,我导入了一些未使用的库。其中一个是在Robot Framework导入库文件时实例化的类。这个对象有一些记录器设置搞砸了默认值,这就是我没有得到机器人日志的结果。

没有它我得到了预期的结果,自动传播工作正常。