zoukankan      html  css  js  c++  java
  • 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')

     



  • 相关阅读:
    C#开发规范
    Win32API使用技巧 -- 置顶应用
    Windows开发常用快捷键
    MarkDown简单语法回顾
    样本分布
    复变函数
    set theory
    Oscar的数理统计笔记本
    Oscar的拓扑笔记本
    c语言总结
  • 原文地址:https://www.cnblogs.com/123anqier-blog/p/13111050.html
Copyright © 2011-2022 走看看