Selenium+unittest(2)配置模組介紹
阿新 • • 發佈:2020-09-14
配置檔案config.yml如下
system_name: 後臺管理系統(測試環境) url: http://test.com.cn/ cases_path: tests/ xml_path: xml/ yaml_path: yaml/ driver_type: chrome log: file_name: test.log backup: 10 console_level: INFO file_level: INFO pattern: '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
配置讀取config.py如下
""" 讀取配置。這裡配置檔案用的yaml,也可用其他如XML,INI等。 """ import os from src.util.file_handler import YamlReader # 通過當前檔案的絕對路徑,其父級目錄一定是框架的base目錄,然後確定各層的絕對路徑。如果你的結構不同,可自行修改。 BASE_PATH = os.path.split(os.path.split(os.path.dirname(os.path.abspath(__file__)))[0])[0] CONFIG_FILE = os.path.join(BASE_PATH, 'config', 'config.ymlView Code') DOWNLOAD_PATH = os.path.join(BASE_PATH, 'download') DRIVER_PATH = os.path.join(BASE_PATH, 'drivers') FILE_PATH = os.path.join(BASE_PATH, 'file') LOG_PATH = os.path.join(BASE_PATH, 'log') REPORT_PATH = os.path.join(BASE_PATH, 'report') REPORT_FILE = os.path.join(REPORT_PATH, 'report.html') SUFFIX= '.xml' LOGIN_SUCCESS = 'init' class Config: def __init__(self, config=CONFIG_FILE): self.config = YamlReader(config).data if not os.path.exists(LOG_PATH): os.makedirs(LOG_PATH) if not os.path.exists(REPORT_PATH): os.makedirs(REPORT_PATH) def get(self, element, index=0): """ yaml是可以通過'---'分節的。用YamlReader讀取返回的是一個list,第一項是預設的節,如果有多個節,可以傳入index來獲取。 這樣我們其實可以把框架相關的配置放在預設節,其他的關於專案的配置放在其他節中。可以在框架中實現多個專案的測試。 """ return self.config[index].get(element) class RunConfig: """ 執行測試配置 """ c = Config() # 測試系統名稱 system_name = c.get('system_name') # 測試地址 url = c.get('url') # 日誌配置 log = c.get('log') # 執行測試用例的目錄 cases_path = os.path.join(BASE_PATH, c.get('cases_path')) # xml指令碼目錄 xml_path = os.path.join(BASE_PATH, c.get('xml_path')) # xml指令碼目錄 yaml_path = os.path.join(BASE_PATH, c.get('yaml_path')) # 配置瀏覽器驅動型別(chrome/firefox/ie) driver_type = c.get('driver_type') if __name__ == '__main__': print(RunConfig.url)