自动化工具 浅谈 robotframework 中的日志级别

matthewD · 2019年03月07日 · 最后由 matthewD 回复于 2019年03月07日 · 215 次阅读

日志级别

可用的日志级别

Robot Framework 中日志文件中的消息可以有不同的日志级别. 这些消息有些是 Robot Framework 自己写入, 有的是被执行的关键字打印的不同的级别日志消息. 可用的日志级别包括:

FAIL

当关键字失败时使用. 只能由 Robot Framework 自己使用.

WARN

用来展示警告. 警告消息同样会出现在 控制台以及日志文件的测试执行错误区, 不过它们不会影响到测试用例的状态.

INFO

默认的消息级别. 默认情况下日志文件中不会显示低于此级别的消息.

DEBUG

用于调试目的. 当需要记录测试库内部执行过程时很有用. 当关键字失败时, 代码失败的地方会自动使用该级别打印 traceback 信息.

TRACE

更详细的调试级别. 使用该级别时, 关键字的参数和返回值会自动写入日志.

设置日志级别

默认情况下, 低于 INFO 级别的日志消息不会写日志, 不过这个阈值可以通过命令行选项 --loglevel (-L) 修改. 该选项接受任意的日志级别作为参数. 还可以使用 NONE 这个特殊值来禁止所有日志.
在使用 Rebot 测试输出的处理 时也可以使用 --loglevel 选项. 这样可以做到, 例如, 在测试执行时使用 TRACE 级别, 产生详细的日志信息, 但是要在随后普通查看时使用 INFO 级别生成更小的日志文件. 默认情况下所有执行阶段产生的消息在 Rebot 处理时也都包含. 反之则不行, 执行阶段省略的消息不可能再恢复.
在测试数据中使用 BuiltIn 关键字 Set Log Level 也可以改变日志级别. 该关键字的参数和 --loglevel 一样, 并且会返回原来的日志级别以备后续 (如 teardown) 恢复.
### 可见的日志级别

自 Robot Framework 2.7.2 版本开始, 如果日志文件中包含 DEBUG 或 TRACE 级别的消息, 则在右上角会出现一个下拉框, 让用户选择低于某个级别的日志不可见. 这在使用 TRACE 级别运行测试时特别有用.

An example log showing the visible log level drop down

默认情况下, 下拉框被设置选中最低级别, 以显示日志文件中的所有消息. 默认的可视日志级别可通过选项 --loglevel 更改, 将其值设置为如下的格式:
--loglevel DEBUG:INFO
可视日志级别跟在正常的日志级别之后, 用冒号分隔, 上例中, 测试运行的日志级别是 DEBUG, 但是默认的可视级别是 INFO.

最佳回复

日志级别也可以使用 robot 参数设置
ROBOT_SYSLOG_LEVEL Log level to use when writing to the syslog file.
Available levels are the same as with --loglevel
command line option and the default is INFO.

共收到 2 条回复 时间 点赞

日志级别也可以使用 robot 参数设置
ROBOT_SYSLOG_LEVEL Log level to use when writing to the syslog file.
Available levels are the same as with --loglevel
command line option and the default is INFO.

Tony 回复

对的,没错,谢谢 tony 同学的补充

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册