python_request 接口测试线性框架,模块化思想,增加日志打印
一、大框架
如下为一个简单的线性框架,同时编写common_api 模块,把一个个接口进行封装,案例编写时候只需要直接调用输入参数即可。
二、 test_cases 模块具体写法
2.1 common_api 写法:
2.2 要测试的接口中的写法:
优化:
增加日志功能:
common下增加日志模块log_utils:
import os
import logging
import time
from common.config_utils import config
current_path = os.path.dirname(__file__)
log_output_path = os.path.join( current_path,'..', config.LOG_PATH )
class LogUtils():
def __init__(self,log_path=log_output_path):
self.log_name = os.path.join( log_output_path ,'ApiTest_%s.log'%time.strftime('%Y_%m_%d') )
self.logger = logging.getLogger("ApiTestLog")
self.logger.setLevel( config.LOG_LEVEL )
console_handler = logging.StreamHandler() # 控制台输出
file_handler = logging.FileHandler(self.log_name,'a',encoding='utf-8') # 文件输出
formatter = logging.Formatter("%(asctime)s %(name)s %(levelname)s %(message)s")
console_handler.setFormatter(formatter)
file_handler.setFormatter(formatter)
self.logger.addHandler( console_handler )
self.logger.addHandler( file_handler )
console_handler.close() # 防止打印日志重复
file_handler.close() # 防止打印日志重复
def get_logger(self):
return self.logger
logger = LogUtils().get_logger() # 防止打印日志重复
if __name__ == '__main__':
logger.info('hello')
python_request 接口测试线性框架,模块化思想,增加日志打印的更多相关文章
- SLF4J其实只是一个门面服务而已,他并不是真正的日志框架,真正的日志的输出相关的实现还是要依赖Log4j、logback等日志框架的。
小结: 1.加层: 每一种日志框架都有自己单独的API,要使用对应的框架就要使用其对应的API,这就大大的增加应用程序代码对于日志框架的耦合性. 为了解决这个问题,就是在日志框架和应用程序之间架设一个 ...
- 《手把手教你》系列基础篇(八十六)-java+ selenium自动化测试-框架设计基础-Log4j实现日志输出(详解教程)
1.简介 自动化测试中如何输出日志文件.任何软件,都会涉及到日志输出.所以,在测试人员报bug,特别是崩溃的bug,一般都要提供软件产品的日志文件.开发通过看日志文件,知道这个崩溃产生的原因,至少知道 ...
- ORACLE 修改日志大小及增加日志成员
日志文件能不能resize,直接扩大日志文件的大小?10g是不能的. 网上的一般方法就是新建两个临时日志组(oracle至少要求两个日志组),切换到这两个临时日志组后,删掉重建扩大或缩小,再添加日志组 ...
- css模块化思想(一)--------命名是个技术活
引子: 女孩子都喜欢买衣服,而我也不例外,奈何钱包太瘦,买不起高大上的定制,只能买撞衫率极高的休闲衣,不过对于我来说,我还是开心的,毕竟买衣服买的不仅是衣服,更是一种心情.在web前端的世界里,css ...
- SSM框架整合思想
-------------------siwuxie095 SSM 框架整合思想 1.SSM 框架,即 SpringMV ...
- SSH框架整合思想
--------------------siwuxie095 SSH 框架整合思想 1.SSH 框架,即 Struts2 ...
- Rookey.Frame v1.0 视频教程之三发布-框架核心思想介绍
本期发布视频: (三)Rookey.Frame v1.0框架核心思想 介绍了Rookey.Frame v1.0框架搭建的核心思想,将框架核心思想理解清楚,对框架运行就会得心应手 官方视频教程: htt ...
- 基于python的接口测试框架设计(三)接口测试的框架
基于python的接口测试框架设计(三)接口测试的框架 其实我这里用到的是unittest单元测试框架,,这个框架好就好在比较清楚,,setup terdown都可以处理一些初始化及完成后的工作 主要 ...
- Spring_day04--课程安排_回顾SSH框架知识点_SSH框架整合思想
Spring_day04 上节内容回顾 今天内容介绍 回顾SSH框架知识点 Hibernate框架 Struts2框架 Spring框架 SSH框架整合思想 整合struts2和spring框架 Sp ...
随机推荐
- hdu5249KPI动态中位数(两个set)
题意(中问题直接粘题意吧) KPI Problem Descr ...
- Python脚本写端口扫描器(socket,python-nmap)
目录 Socket模块编写 扫描给定主机是否开放了指定的端口 python-nmap模块编写 扫描给定ip或给定网段内指定端口是否开放 一个用python写的简单的端口扫描器,python环境为 3. ...
- NumPy之:使用genfromtxt导入数据
目录 简介 genfromtxt介绍 多维数组 autostrip comments 跳过行和选择列 简介 在做科学计算的时候,我们需要从外部加载数据,今天给大家介绍一下NumPy中非常有用的一个方法 ...
- src/main/resorces applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- 异常检测算法Robust Random Cut Forest(RRCF)关键定理引理证明
摘要:RRCF是亚马逊发表的一篇异常检测算法,是对周志华孤立森林的改进.但是相比孤立森林,具有更为扎实的理论基础.文章的理论论证相对较为晦涩,且没给出详细的证明过程.本文不对该算法进行详尽的描述,仅对 ...
- File & Directory
新开一节IO(Input/Output)的用法. 这节主要讲一下操作文件和文件目录的两个静态类:File 和 Directory. 在进入正题之前,先理解一下相对路径和绝对路径这两个概念: 绝对路径, ...
- 正则表达式、编辑器(vi、sed、awk)
1. vi 2. 正则表达式 3. sed 1)打印命令:p 2)删除命令:d 3)替换命令:s 4. awk 1)awk 基本用途 2)匹配打印 3)判断打印 4)数组 1. vi vi 是 Lin ...
- 5Spring动态代理开发小结
5Spring动态代理开发小结 1.为什么要有动态代理? 好处 1.利于程序维护 2.利于原始类功能的增强 3.得益于JDK或者CGlib等动态代理技术使得程序扩展性很强 为什么说使得程序扩展性很强? ...
- python将控制台输出保存到文件
python将控制台输出保存到文件 在平时工作中,有时我们需要将控制台输出保存到文件 1.命令行用>覆盖写入和>>追加写入 for i in range(10000): prin ...
- 1.5 RPM红帽软件包1.6 Yum软件仓库
1.5 RPM红帽软件包 在RPM(红帽软件包管理器)公布之前,要想在Linux系统中安装软件只能采取源码包的方式安装.早期在Linux系统中安装程序是一件非常困难.耗费耐心的事情,而且大多数的服务程 ...