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级{:的日志‘)

原文地址:https://www.cnblogs.com/ella-li/p/11504247.html

时间: 2024-11-05 22:44:39

python接口测试之日志功能的相关文章

Atitit php java python nodejs错误日志功能的比较

Atitit php  java  python  nodejs错误日志功能的比较 1.1. Php方案 自带 1 1.2. Java解决方案 SLF4J 1 1.3. Python解决方案 自带loggin 2 1.4. Node.js日志解决方案 log4js 2 1.4.1. 玩转Nodejs日志管理log4js - CNode技术社区 2 日志的俩中模式   文件日志与os event 日志.. Os日志的优点是格式整齐.以及有默认os工具gui故居查询等.. 1.1. Php方案 自带

python接口测试之token&amp;session的处理(十四)

下面我们就来使用python语言来进行实现,在这里我们使用第三方的库requests,需要单独的安装下,安装的命令是: pip  install -U requests 见安装的截图: 安装成功后,如果可以在正常的导入,说明安装OK 安装好requests好后,我们就可以开始了,关于requests有不清楚的,可以看Python接口测试之requests(七),这里我们直接来进行实战, 我们再来进行回顾下我们需要做的事情,我们需要做的就是登录成功后,获取token,后面的接口都需要这个参数,所以

Python接口测试之moco

在现在的软件开发过程中,特别是app的部分,需要的很多数据以及内容,都是来自server端的API,但是不能保证 在客户端开发的时候,api在server端已经开发完成,专门等着前端来调用,理想的情况是前端在开发的时候,已经有人写 好了接口,直接调用就可以了,但是这仅仅是理想的情况,很多时候,现实总是比理想多一层思考和磨难,如果在前端开发 的时候,提供api的同学没有提供,那么怎么办?等待还是自己先开发,等待肯定是愚蠢的做法,那么自己开发怎么来解决 api提供数据的这个问题,那么使用mock就可

python接口测试之urllib2的应用(十五)

作者 无涯 在接口测试中或者说在网络爬虫中,urllib2库是必须要掌握的一个库,当然还有优秀的requests库,今天重点来说urllib2库在接口测试中的应用. urllib2定义了很多的函数和类,这些函数和类能够帮助我们在复杂情况下获取URLS的内容.这些情况包含了对headers的添加,cookie的处理,代理, 超时,鉴权等的处理.如果想详细的了解urllib2库,建议到官方查看,官方地址:https://docs.python.org/2/library/urllib2.html.查

python接口测试之401错误的分析和解决(十六)

作者 无涯 在接口的测试中,经常会遇到客户端向服务端发送一个请求,服务端返回401的错误,那么今天本文章就来说明在接口测试中如何分析以及解决该问题. 我们知道在HTTP返回的状态码中,401错误表示的是被请求的页面需要用户名和密码.401的错误详细的可以描述为:客户端发送请求抖到服务端, 页面需要验证服务端会返回401的错误,见如下的错误信息: 401 UNAUTHORIZED Headers Content-Type: application/jsonWWW-Authenticate: Bas

Python接口测试之对MySQL/unittest框架/Requests 的操作

单元测试支持测试自动化. 共享的安装程序和关闭代码测试. 聚合成集合,测试和报告框架从测试的独立性.单元测试模块提供可以很容易地支持这些素质的一组测试的类.关于unittest 测试框架建议可以到官方查看详细的说明以及演示的实例.unittest各个模块的关系为: #!/usr/bin/env python #coding:utf-8 import unittest class TestDiv(unittest.TestCase): def setUp(self): pass def tearD

python接口测试之序列化与反序列化(四)

作者 无涯 在python中,序列化可以理解为:把python的对象编码转换为json格式的字符串,反序列化可以理解为:把json格式字符串解码为python数据对象. 在python的标准库中,专门提供了json库与pickle库来处理这部分. 先来学习json的库,导入json库很简单,直接import json,下面通过具体的实例来说明json库对序列化与反序列化的使用.json库的主要方法为: #!/usr/bin/env python#coding:utf-8import  jsonp

python接口测试之json模块的使用

json.dumps() json.loads() json.dump json.load 一.json.dumps() 将python字典类型转换成json对象 import json # Python 字典类型转换为 JSON 对象 data = { 'no' : 1, 'name' : 'Runoob', 'url' : 'http://www.runoob.com' } json_str = json.dumps(data) print ("Python 原始数据:", rep

python接口测试之requests库(一)

一.requests库的安装 requests库作为第三方库,需要安装 cmd模式下,运行pip install requests 二.在学习如何发送请求之前,我们先来了解一下requests库,查看一下他有什么方法 print dir(requests) 三.模拟发送get请求 1.发送不带参数的get请求 r = requests.get('https://api.github.com/events') 返回的是一个response对象,该对象中包含的内容,通过dir(r) 2.发送带参数的