淺談-Selenium中的Page Object設計模式的理解

一、什麼是PO模式?

PO是Page Object的縮寫,PO模式是自動化測試項目開發實踐的最佳設計模式之一。
核心思想是通過對界面元素的封裝減少冗餘代碼,同時在後期維護中,若元素定位發生變化, 只
需要調整頁面元素封裝的代碼,提高測試用例的可維護性、可讀性。

二、PO模式主要分爲三頁:

以下是我做的百度登錄的頁面:
在這裏插入圖片描述

Base(對象庫層): 存放與對網頁的一些基礎操作並進行封裝Base頁適用於整個項目
在這裏插入圖片描述
在這裏插入圖片描述
Page(操作層): 通過Base頁,添加定位元素,將Base頁封裝的方法拿來調用,每一個模塊應有一個Page頁,Page頁之間不通用(比如登錄的page不適用於購物車的page一樣)
在這裏插入圖片描述

Case(業務層): 用例頁。通過Page頁調用方法來實現用例。

登錄用例:
在這裏插入圖片描述
運行用例:
在這裏插入圖片描述

運行所有代碼時,不要將他的path放到unittest運行框架中去,直接右擊run即可 ,執行單個unittest框架的測試用例還是要將它放到unittest運行框架中
PS: 我之前就喫過這個虧QAQ

以上是代碼,接下來說下我對Page Object設計模式的理解:

1、首先,我們要將所有的基礎操作放入base頁中,用於page頁中的調用

2、page頁中要調用base頁,這樣能夠有效的提高代碼的複用性,重用性很高,我們只需要將具體的定位元素裝入即可,需要注意的是,我們在page頁內寫入的越多,那麼我們在執行自動化測試腳本的時候就會更加的輕鬆。

比如說,我已經定位到了一個元素,並要對其進行操作時,我們可以再用其他的定位方式獲取一次,這樣在第一次獲取不到具體的元素值時,可以有效的獲取到第二個元素值
在這裏插入圖片描述
如果說在page頁中,缺少我們想要用到的base頁的公用代碼,那麼可以回到base頁補充,base頁與page頁大致相同,都是補充的越全,那麼我們在做自動化測試時就會省時省力,提高效率

3、case頁中我們只需要將page頁中代碼進行調用就可以

最後,如果有需要,也可以將運行結果生成的測試報告進行單獨存放:
在這裏插入圖片描述
在這裏插入圖片描述

最後,如果定位元素進行了更替,那麼我們只需要在page頁內將定位元素修改即可,不得不說,這個模式,深得我的喜愛~~~

自動化測試羣:762141168

歡迎各位自動化測試、接口測試、移動端測試以及相關的測試好友加入
我,在這裏等你,共同進步,GO GO!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章