接口自動化測試框架 - 3-2 配置文件yaml使用

6 配置文件設置

  • 配置文件conf.yaml

    BASE:
     #log等級
     log_level: "debug"
     #擴展名
     log_extension: ".log"
     test:
      url: "http://127.0.0.1:8080"
      case_file: "testdata.xlsx"
      case_sheet: "美多商城接口測試"
    
  • 基本目錄配置

    import os
    from utils.YamlUtil import YamlReader
    #1、獲取項目基本目錄
    #獲取當前項目的絕對路徑
    current = os.path.abspath(__file__)
    #print(current)
    BASE_DIR = os.path.dirname(os.path.dirname(current))
    #print(BASE_DIR)
    #定義config目錄的路徑
    _config_path = BASE_DIR + os.sep + "config"
    
    #定義data目錄的路徑
    _data_path = BASE_DIR + os.sep + "data"
    
    #定義conf.yml文件的路徑
    _config_file = _config_path + os.sep +"conf.yml"
    #定義db_conf.yml路徑
    _db_config_file =  _config_path + os.sep +"db_conf.yml"
    #定義logs文件路徑
    _log_path = BASE_DIR + os.sep + "logs"
    
    #定義report目錄的路徑
    _report_path = BASE_DIR + os.sep + "report"
    
    def get_report_path():
        """
        獲取report絕對路徑
        :return:
        """
        return _report_path
    
    def get_data_path():
        return _data_path
    
    def get_db_config_file():
        return _db_config_file
    
    def get_config_path():
        return _config_path
    
    def get_config_file():
        return _config_file
    
    def get_log_path():
        """
        獲取Log文件路徑
        :return:
        """
        return _log_path
    
  • conf.yml配置文件讀取

    #2、讀取配置文件
    #創建類
    class ConfigYaml:
    
    #初始yaml讀取配置文件
        def __init__(self):
            self.config = YamlReader(get_config_file()).data()
            self.db_config = YamlReader(get_db_config_file()).data()
        #定義方法獲取需要信息
        def get_excel_file(self):
            """
            獲取測試用例excel名稱
            :return:
            """
            return self.config["BASE"]["test"]["case_file"]
    
        def get_excel_sheet(self):
            """
            獲取測試用例sheet名稱
            :return:
            """
            return self.config["BASE"]["test"]["case_sheet"]
    
        def get_conf_url(self):
            return self.config["BASE"]["test"]["url"]
    
        def get_conf_log(self):
            """
            獲取日誌級別
            :return:
            """
            return self.config["BASE"]["log_level"]
    
        def get_conf_log_extension(self):
            """
            獲取文件擴展名
            :return:
            """
            return self.config["BASE"]["log_extension"]
    
        def get_db_conf_info(self,db_alias):
            """
            根據db_alias獲取該名稱下的數據庫信息
            :param db_alias:
            :return:
            """
            return self.db_config[db_alias]
    
        def get_email_info(self):
            """
            獲取郵件配置相關信息
            :return:
            """
            return self.config["email"]
    

參考:

  • Python3+Pytest 接口自動化測試全方案設計與開發
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章