python接口测试之日志功能

Posted ellaha

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python接口测试之日志功能相关的知识,希望对你有一定的参考价值。

之前在简书中看了一篇关于日志功能的文档,供大家参考:https://www.jianshu.com/p/62f7b49b41e7

Python通过logging模块提供日志功能,所以直接导入即可

import logging

1.定义日志收集器,指定收集器的名称,返回logging对象

case_logger = logging.getLogger(case)

2.指定日志收集器的日志等级,NOTEST(0) DEBUG(10) INFO(20) WARNING(30) ERROR(40) CRITICAL(50)

注意:日志的等级和收集器的等级,只能收集指定日志等级及以上的等级

case_logger.setLevel(‘DEBUG)

3.定义日志输出渠道,可以同时定义多个:console 控制台,日志文件,日志服务器syslog,数据库

# 输出到控制台
console_handle = logging.StreamHandler()
# 输出到日志文件
file_handle = logging.FileHandler(case.log, encoding=utf-8)

4.指定日志输出渠道的日志等级

注意:收集器日志等级<=输入渠道等级,即设定的输出渠道等级为INFO,那么收集器日志等级只能是NOTEST(0) DEBUG(10) INFO(20)

console_handle.setLevel(‘ERROR‘)
file_handle.setLevel(INFO)

5.定义日志显示格式,具体的日志显示格式可以参考官方文档:https://docs.python.org/3/library/logging.html

simple_formatter = logging.Formatter(‘%%(asctime)s:%%(name)s:%%(levelname)s’)
verbose_formatter = logging.Formatter(%%(asctime)s:%%(name)s:%%(levelname)s:%%(message)s)
# 指定终端显示简单结构日志
console_handle.setFormatter(simple_formatter)  
# 指定日志文件显示复杂结构日志
file_handle.setFormatter(verbose_formatter)  

6.将日志收集器和输出渠道进行对接

case_logger.addHandler(console_handle)
case_logger.addHandler(file_handle)

7.测试

case_logger = HandleLog().get_logger()
case_logger.debug(这个是debug级别的日志)
case_logger.info(这个是info级别的日志)
case_logger.warning(这个是warning级别的日志)
case_logger.error(这个是error级别的日志)
case_logger.critical(这个是critical级{:的日志)

 

以上是关于python接口测试之日志功能的主要内容,如果未能解决你的问题,请参考以下文章

Python接口自动化之logging封装及实战

常用python日期日志获取内容循环的代码片段

Python接口测试之unittest

Python接口测试之unittest框架

argparse 代码片段只打印部分日志

Flask 编写http接口api及接口自动化测试