博主今天在自己的接口自动化框架中添加了日志系统

基于python自带的logging库、包括日志主函数、生成日志文件:

 # -*- coding: utf-8 -*-
# 日志系统
# 时间:2017-08-31
# 姓名:xx import logging
import os
from datetime import datetime class MainLog:
def __init__(self):
pass @staticmethod
def getLog():
logging.basicConfig(
# filename=MainLog.logTxt(), # 日志输出到文件
level=logging.DEBUG,
format="%(asctime)s - %(levelname)s - %(message)s",
datefmt="%Y-%m-%d %H:%M:%S",
)
return logging @staticmethod
def logTxt():
today_name = datetime.today().strftime("%Y%m%d")
log_name = datetime.today().strftime("%Y%m%d%H%M%S") + ".txt"
# 新建当天的文件夹路径
path = "F:\\Logs\\" + today_name + "\\"
if os.path.exists(path):
pass
else:
os.makedirs(path)
# 日志文件路径名称
file_path = path + log_name
return file_path
 # -*- coding: utf_8 -*-
# 基础接口请求方法
# 时间:2017-08-31
import requests
from requests.exceptions import ReadTimeout, ConnectionError, RequestException
from Log.main_log import MainLog class MainResponse:
def __init__(self):
pass @staticmethod
def mainPost(url=None, params=None, json=None):
u"""
url: 接口请求的url
params: 接口请求的请求头
json: 接口请求的json
"""
logger = MainLog.getLog()
try:
response = requests.post(url=url, params=params, json=json, timeout=10)
code = response.status_code
text = response.text
logger.debug(u"接口请求地址:")
logger.debug(url)
logger.debug(u"接口请求头:")
logger.debug(params)
logger.debug(u"接口请求参数:")
logger.debug(json)
logger.debug(u"接口请求返回码:")
logger.debug(code)
logger.debug(u"接口返回信息:")
logger.debug(text)
return text
except ReadTimeout:
logger.error(u"请求超时")
except ConnectionError:
logger.error(u"请求连接错误")
except RequestException:
logger.error(u"返回错误")

然后在自己封装的post请求中把日志格式加进去

DEBUG级别的是普通的内容

ERROR级别的是错误场景

最后在unittest框架中执行自动化用例、生成测试报告:

python学习笔记(日志系统实现)的更多相关文章

  1. Python学习笔记(六)

    Python学习笔记(六) Ubuntu重置root密码 Ubuntu 16.4 目录结构 Ubuntu 命令讲解 1. Ubuntu重置root密码 启动系统,显示GRUB选择菜单(如果默认系统启动 ...

  2. Python学习笔记,day5

    Python学习笔记,day5 一.time & datetime模块 import本质为将要导入的模块,先解释一遍 #_*_coding:utf-8_*_ __author__ = 'Ale ...

  3. python学习笔记--Django入门0 安装dangjo

    经过这几天的折腾,经历了Django的各种报错,翻译的内容虽然不错,但是与实际的版本有差别,会出现各种奇葩的错误.现在终于找到了解决方法:查看英文原版内容:http://djangobook.com/ ...

  4. OpenCV之Python学习笔记

    OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...

  5. Python学习笔记(十三)

    Python学习笔记(十三): 模块 包 if name == main 软件目录结构规范 作业-ATM+购物商城程序 1. 模块 1. 模块导入方法 import 语句 import module1 ...

  6. Python学习笔记(十一)

    Python学习笔记(十一): 生成器,迭代器回顾 模块 作业-计算器 1. 生成器,迭代器回顾 1. 列表生成式:[x for x in range(10)] 2. 生成器 (generator o ...

  7. Python学习笔记(九)

    Python学习笔记(九): 装饰器(函数) 内置函数 1. 装饰器 1. 作用域 2. 高阶函数 3. 闭包 如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就 ...

  8. Python学习笔记(七)

    Python学习笔记(七): 深浅拷贝 Set-集合 函数 1. 深浅拷贝 1. 浅拷贝-多层嵌套只拷贝第一层 a = [[1,2],3,4] b = a.copy() print(b) # 结果:[ ...

  9. Deep learning with Python 学习笔记(10)

    生成式深度学习 机器学习模型能够对图像.音乐和故事的统计潜在空间(latent space)进行学习,然后从这个空间中采样(sample),创造出与模型在训练数据中所见到的艺术作品具有相似特征的新作品 ...

  10. python学习笔记目录

    人生苦短,我学python学习笔记目录: week1 python入门week2 python基础week3 python进阶week4 python模块week5 python高阶week6 数据结 ...

随机推荐

  1. mongodb拆库分表脚本

    脚本功能: 1. 将指定的报告文件按照指定的字段.切库切表策略切分 2. 将切分后的文件并发导入到对应的Mongodb中 3. 生成日志文件和done标识文件 使用手册: -h    打印帮助信息,并 ...

  2. poj1584 A round peg in a ground hole【计算几何】

    含[判断凸包],[判断点在多边形内],[判断圆在多边形内]模板  凸包:即凸多边形 用不严谨的话来讲,给定二维平面上的点集,凸包就是将最外层的点连接起来构成的凸多边形,它能包含点集中所有的点. The ...

  3. SQL Server的差异备份还原

    在SQL Server中还原差异备份,需要先还原在差异备份时间点之前的一个完整备份,在还原完整备份时要加上NORECOVERY参数,示例SQL语句如下: RESTORE DATABASE [数据库名称 ...

  4. nginx 下使用 bootstrap 字体的问题

    使用boostrap时,出现 glyphicons-halflings-regular.ttf glyphicons-halflings-regular.woff glyphicons-halflin ...

  5. Django - 路由层(URLconf)

    一.django 静态文件配置 /mysite1/settings.py STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_ ...

  6. Http协议中Cookie详细介绍(转)

    原文:http://www.169it.com/article/3217120921.html Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie.内存C ...

  7. xutil3 post 和 get请求

    https://i.cnblogs.com/EditPosts.aspx?postid=7001253 compile 'org.xutils:xutils:3.3.36' 注册xutil3 < ...

  8. 201-React顶级API

    一.概述 React是React库的入口点.如果您从<script>标记加载React,则这些顶级API可在React全局中使用.如果你使用npm的ES6,你可以写:import Reac ...

  9. 鸟哥linux私房菜学习笔记,U盘安装centos5.3不能正常进入图形界面的问题

    前面说过自己成功引导了centos系统,现在进入启动界面,首次进入会进行相关设置,按照步骤一步一步完成,取消完光盘安装,点击下一步,就进入下面这个界面,没有登录框...没错!怎么蓝屏了,这可是linu ...

  10. PAT 1055 The World's Richest[排序][如何不超时]

    1055 The World's Richest(25 分) Forbes magazine publishes every year its list of billionaires based o ...