我在Python 2.7.8下使用robot framework 3.0 . 机器人框架的文档(http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#programmatic-logging-apis)表明了这一点
除了新的公共日志记录API之外,Robot Framework还为Python的标准日志记录模块提供内置支持 . 这样可以使模块的根 Logger 接收的所有消息自动传播到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 Logger 消息转发给Robot?如您所见,所谓的自动传播不会自动运行 . 我的目标是编写一个可以使用或不使用Robot Fw运行的库 .
Ty提前为您提供帮助 .
1 回答
经过几个小时的代码挖掘,我找到了答案 . 我认为值得分享,因为如果你有类似的问题可能对你有所帮助 .
在我的情况下,我导入了一些未使用的库 . 其中一个是在Robot Framework导入库文件时实例化的类 . 这个对象有一些 Logger 设置搞砸了默认值,这就是为什么我没有得到机器人日志的结果 .
没有它我得到了预期的结果,自动传播工作正常 .