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

     



  • 相关阅读:
    ADO 缓存更新
    DBNavigator中把insert变为append
    JQuery 选择器
    VS2013默认打开HTML文件没有设计视图
    windows 关机 重启 命令
    java如何计算两个日期之间相差多少天?
    java的list集合操作List<T>转化List<Long>
    ExcelUtil工具类
    oracle的START WITH CONNECT BY PRIOR用法
    oracle的with as用法
  • 原文地址:https://www.cnblogs.com/123anqier-blog/p/13111050.html
Copyright © 2011-2022 走看看