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')

 



原文地址:https://www.cnblogs.com/123anqier-blog/p/13111050.html