總體設計模式:
python
config目錄:存放一些公共的靜態文件,如項目名稱,配置文件等這些環境變量(能夠用其餘組件替換,如sql,主要能把配置文件的內容被程序識別)。web
httptrquest目錄:存放接口代碼,UI自動化由於其穩定性問題會出現有些地方出錯致使後續沒法進行,故添加接口操做。sql
initailize目錄:初始化代碼,用於存放初始化操做的代碼,好比初始化一些全局變量,初始化webdriver等,應用於整個項目的代碼。設計模式
test目錄:真正執行的目錄,用於存放測試用例的代碼,會被pytest識別將其轉化爲可執行的測試用例(PS:該文件的目錄名及其模塊、類、方法名都要根據pytest的設置來進行設置);該目錄下的代碼都會被pytest裝飾,控制執行順序,執行依賴等操做。框架
testcase目錄:爲test目錄服務,執行相關的操做,定位元素,執行操做,輸出結果等等,該目錄下的模塊、方法都會被test目錄下相應的代碼調用實例化ide
testcase_utils: 輔助工具類,在操做過程當中某些頁面上有些公共的操做,如表格table定位,批量元素的輸入,js操做等等,便於維護。工具
utils目錄: 工具類,爲整個項目的運行提供基礎的操做,如讀取文件,將yaml文件轉化爲WebElement類對象元素,日誌、截圖、測試報告、sql操做、裝飾器、發送報告等基礎操做。與testcase_utils目錄最大的區別爲該目錄下的代碼不會操做頁面上的元素測試
yaml文件: 存放元素的定位方式,將頁面元素轉化爲yaml靜態文件設計
conftest.py文件: ytest固定文件,主要功能兩個,初始化操做和記錄運行結果;1.用於fixture裝飾器的使用,初始化操做,建立全局惟一對象,將這些對象傳遞給initailize目錄下的指定模塊,全局共用 2.記錄運行結果,整個運行失敗時的操做,用於最後的分析操做日誌
pytest.ini 文件,pytest固定文件,指定運行方式