【參考】:https://blog.csdn.net/huilan_same/article/details/76572411
自動化測試框架基於Page Object模式,unittest框架設計,目錄結構如下:
Test_Project:
| -- config:存放配置文件
| -- data:存放頁面元素
| -- drivers:存放瀏覽器驅動目錄
| -- log: 存放日誌目錄
| -- report:存放執行報告目錄,使用HTMLTestRunner
| -- test:存放測試用例腳本
| -- untils:存放公共方法
1、Config:
配置文件常用的ini、yaml、xml、properties、txt等,根據公司要求選擇適當配置文件類型,此處我們使用yaml。
首先我們要確定,配置文件中都需要存儲什麼內容呢?
對於自動化測試框架中,常用的配置文件都應該抽取出來定義,這樣如果有需要更改就很方便,比如URL、web瀏覽器
、日誌設置和格式、report設置和格式等,此時我剛開始搭建,只設置了URL和log:
# -*- coding: utf-8 -*-
URL : https://www.baidu.com
log:
file_name: test.log
backup: 5
console_level: WARNING
file_level: DEBUG
pattern: '%(asctime)s-%(name)s-%(levelname)s: %(message)s'
yml日誌基本規則:
- 大小寫敏感;
- 使用縮進表示層級關係,縮進時不能使用tab;
- 使用空格縮進,縮進的空格數目不重要,只要相同層架左對齊就好。
在python中使用yaml模塊讀取配置文件,返回一個字典;
在untils.file_reader.py中,添加yaml文件讀取方法:
class YamlReader:
def __init__(self, yamlf):
if os.path.exists(yamlf):
self.yamlf = yamlf
else:
raise FileExistsError('yaml config file not exist !')
self._data = None
@property
def data(self):
if not self._data:
with open(self.yamlf, 'rb') as f:
self._data = list(yaml.safe_load_all(f))
return self._data