當前位置:成語大全網 - 新華字典 - UI自動化項目分層設計思想(po模式)

UI自動化項目分層設計思想(po模式)

PO模式的全名叫做page Object:頁面-對象模式。簡單的說就是:壹個頁面是壹個類,元素在頁面中,所以每個元素的定位信息是這個類中的壹個變量;這個頁面的常規業務操作是這個類中的壹個個成員方法。PO模式是自動化測試框架中很重要的壹種設計模式。

PO模式的好處就是元素定位信息以頁面為單位提取,方便管理,提高後期的維護效率。缺點是進行腳本開發時,需求實例化各個頁面的對象,當壹個復雜的業務操作牽扯到多個頁面時,這種方法就顯得有些繁瑣

元素定位分離

1、 元素定位按照頁面區分,分別存儲在不同頁面

2、 存儲的方式為元組(定位方式,定位表達式),每壹個元素定位寫好註釋是哪個元素,方便重復調用例子:input_moile=(By.XPATH,'//input[@name="phone"]')

3、 調用方法:先把元素定位引入需要調用的文件,別名統稱loc

4、 元素定位命名要見文知意

5、 有新增的元素定位繼續在框架內補充即可

頁面對象與測試用例分離

1、 頁面對象按照不同頁面進行存放

2、 頁面對象為對頁面進行的具體操作(執行用例所需要的步驟,獲取斷言的比對信息等),每壹個操作都寫上清晰的註釋以方便調用

3、 需要初始化壹個driver

4、 操作中需要調用元素定位層的元素定位進行元素的各種操作

5、 每個操作的命名要見文知意

註意:要等待元素出現,必要時加入強等待sleep進行等待

調用時要註意格式(元組),WebDriverWait可以直接調用,driver.find_element需要*號將元組解包。

1、 測試用例按照測試的不同模塊分別存放(可以大模塊下面繼續細分),每壹條測試用例都寫上詳細的註釋,對應測試的功能

2、 繼承unittest.TestCase類,需要先引入

3、 測試用例的要素:①前置條件②執行步驟③數據檢查及斷言

4、 用例的前置後置處理函數處理前置後置條件—

5、調用PageObject來完成用例的執行步驟,完成用例執行結果的斷言。

6、執行步驟和斷言方式相同的多個用例,可以只寫壹個用例,用ddt.data來傳入數據依次執行(如登錄的異常用例等),數據來源於TestData分層。

7、多個用例只打開壹次瀏覽器的操作條件:①用例之間不能相互影響②同壹個頁面對象③異常用例在前,正常用例在後。

註:用例的執行順序可以通過用例名字進行控制

數據分離

1、 測試數據按照測試的不同模塊分別存放(可以大模塊下面繼續細分),每壹條數據都寫上詳細的註釋,對應用例

2、 每個模塊下的數據分為公***數據和功能模塊的數據

3、 功能模塊按照測試的功能存放測試數據

4、 數據格式,單條數據使用字典,多條數據使用列表嵌套字典格式,被調用時要用*解包為多個列表

將常用的頁面操作全部集中在此處,與業務無關,加上完善的異常處理,供後續的所有的頁面操作調用。

用於存放測試報告,截圖,日誌等測試過程中輸出的文件。