(原創)Python 自動化測試框架詳解


自己折騰了一個python的自動化測試框架,梳理了一下流程,簡單分享一下。

項目背景

B/S架構,進行用戶界面的自動化測試

 

工具選擇

python開發的自動化測試框架,足夠靈活,可以隨時根據需求進行變更,易於維護

 

框架思路(unittest)

采用數據驅動的設計,將數據分層出來,與業務邏輯剝離,測試人員專注測試用例,不用關注代碼,提高了測試效率

 

測試框架介紹

測試工程的結構如下: 

 

Data目錄

存放涉及業務的資源,例如上傳圖片場景的圖片資源

 

Driver目錄

存放瀏覽器驅動文件

 

Excel目錄

存放測試用例(重要)

4個sheet分頁,如下:

PageElements分頁                 –存儲頁面元素的關鍵字定位信息 

TestConfig 分頁               --配置信息 

TestSuite 分頁                 --測試用例標題 

TestSteps 分頁                --測試用例的執行步驟 

 

Package目錄 

封裝的方法簡介

assertUtil.py           --斷言

                 assert_equal                    """預期結果和實際結果 相等"""

      assert_prompt                 """頁面提示信息"""

      …

base.py                --涉及系統的信息(暫時不用)

                   base_get_hostname     """獲取本機電腦名"""

                   base_get_ip                 """獲取本機ip"""
                   …

browserUtil.py      --瀏覽器的操作

      browser_title                """獲取當前瀏覽器標題"""

                 browser_url                  """獲取當前瀏覽器URL"""

                 …

excelUtil.py          --excel文件的操作

                   excel_open               """打開excel文件(xls)"""

                   excel_sheet              """指定sheet頁面"""

                   excel_cell_data          """獲取指定單元格內容"""

                   …

keysUtil.py         --鍵盤操作

location.py         --封裝頁面元素定位

login.py             --登錄業務

objectMap.py     --關鍵字映射

                   ob_key_input       """根據關鍵字input執行頁面元素查找"""

                   ob_key_click        """根據關鍵字click執行頁面元素查找"""

                   …

util.py               --通用場景

                   ut_highlighted     """元素高亮"""

      …

 

Picture 目錄 

存放用例執行的報告

 

Test_case 目錄 

存放測試用例執行腳本

 

Config.py

存儲常量、配置信息之類的信息

 

PageElements.py 

存儲頁面元素信息

例如登錄頁面的3個控件: 

"登錄-輸入用戶名"                                                 --表示用戶名輸入框

"input>css>input[placeholder='請輸入賬號']"        

Input                                                                 –定義的關鍵字

Css                                                                   –元素定位方式

input[placeholder='請輸入賬號']                             --元素定位表達式

 

測試用例執行的流程圖:

步驟1:

執行TestCase_UI.py腳本,用例啟動 

步驟2:

讀取excel目錄下測試用例(*.xls)

TestConfig分頁:

獲取瀏覽器啟動類型              --啟動相應瀏覽器

獲取URL地址                      --打開URL地址

 

步驟3:

讀取TestSuite分頁:

逐行讀取測試用例執行標識,標識為“yes”表示執行該條用例,為“no”跳過該用例 

獲取“測試用例序號”

 

步驟4:

讀取TestSteps分頁:

按照“測試用例序號”讀取測試用例執行步驟

例如VDT_WDGZT_001用例,存在4個步驟,逐行讀取“測試步驟描述”

 

步驟5:

讀取PageElements分頁:

按照“測試步驟描述”讀取關鍵字、頁面定位元素、頁面元素定位表達式 

按照關鍵字、頁面定位元素、頁面元素定位表達式 定位到頁面元素執行相應操作

例如如下3個步驟:

在輸入框中輸入“搜索資源”

單擊搜索按鈕

執行檢查點操作

 

注意:

每個步驟執行完畢,根據執行的情況在測試用例中回寫“測試結果”

例如“我的工作台”步驟執行成功,在TestSuite分頁,“測試結果”填寫“用例步驟執行成功”

相應的在TestSteps分頁,測試用例1,的“測試結果”填寫“用例執行成功” 

如果用例步驟執行失敗

例如“公共-登錄用戶名稱檢查” 步驟執行失敗,在TestSuite分頁,“測試結果”填寫“用例步驟執行失敗”,“頁面截圖”填寫失敗截圖的路徑 

相應的在TestSteps分頁,測試用例1,的“測試結果”填寫“用例執行失敗” 

測試用例步驟出現失敗的情況,則不再執行該用例的剩下的步驟,開始執行下一個測試用例

 

步驟6:

一條測試用例執行完畢,重復執行步驟3、4、5,直至全部測試用例執行完畢

 

步驟7:

用例執行完畢,輸出測試報告,報告詳情:

 

測試用例執行日志

例如在測試用例中勾選2個用例執行,執行日志如下: 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM