pytest 日志
一、capture log
认识capture log
image.png注意这句话,我这里作了一些删减
pytest captures log messages of level WARNING or above automatically and displays them for failed test
就是说capture log 针对的是failed test,且capture log的信息在每个failed test信息的后面
也就是说运行pytest时那些 passed test是不会有capture log信息的,即使你在里面写明了xx.warning() xx.error()
capture log相关配置
image.pngcapture log相关的配置有2中方式
一种是在运行pytest时在pytest命令后面加参数
一种实在pytest.ini的配置文件里面 用下面2个字段配置
log_format
log_date_format
没有配置的的话有默认格式 在pytest源码的logging.py文件 如下
image.png
二、live log相关
image.png注意第一行末尾的 output logging records into the console
说明live log的信息是输出到console的
live logs 的配置
log_cli=True
log_cli_level=xxxx
log_cli_format=xxx
log_cli_date_format=xxxx
如果这里的log_cli_date_format 和 log_cli_format没有指定,将使用log-format 和log-data-format的格式
三、capture log 和live log的对比
输出内容
capture log 输出failed test里面相关的log信息,passed test里面相关的log信息
不会出现在capture log 里面
live log即包含passed test 也包含failed test相关log信息
四、file log
认识 file log
image.png注意第一句话 the whole test suite logging calls to a file
说明说明输出到file的log信息和live log类似,运行pytest时,所有的log符合规则的log信息都会输出到file
这里官网上的的说明也是放在live log下面的
相关配置
log_file=xxxx 注意路径 xxx一定是相对于当前工作目录而言。在当前工作目录下面找不到xxx时,运行pytest会报错
log_file_level=xxx
log_file_format=xxx
log_file_date_format=xxx
image.png