如何不借助Python API为Robot Framework自定义关键字添加INFO日志
Robot Framework 自定义关键字直接输出INFO日志解决方案
无需修改代码的原生方案(完全不涉及Python API)
Robot Framework 官方提供了日志扁平化执行参数,不需要调整任何.robot文件的代码,仅需要修改测试启动命令,即可实现INFO日志直接展示在自定义关键字的执行记录下:
在执行测试时给robot命令追加--flattenkeywords参数,匹配BuiltIn.Log关键字即可:
robot --flattenkeywords "BuiltIn.Log" 你的测试套件路径
如果你需要匹配所有第三方库的Log类关键字,可以将参数值改为通配符格式:
--flattenkeywords "*Log*"
该参数的作用是将所有匹配到的关键字节点从执行树中移除,这些关键字产生的日志内容会直接合并到父关键字(也就是你编写的自定义关键字)的执行记录下,完全符合你需要的展示效果。
效果对比
- 未加参数时,INFO日志归属Log子节点:

- 追加参数后,INFO日志直接归属自定义关键字:

其他说明
如果不使用上述参数,仅靠.robot文件内的原生关键字语法无法实现需求:Robot Framework的执行日志严格按照关键字调用层级生成,BuiltIn.Log本身是独立的内置关键字,只要调用就会生成独立的执行子节点,输出内容必然归属到该子节点下。
内容的提问来源于stack exchange,提问作者DobleRodriguez
相关产品推荐
相关产品推荐

