Robotframework中的日志级别
日志级别
可用的日志级别
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.