當前位置:
首頁 > 知識 > 基於Python Selenium Unittest PO設計模式詳解

基於Python Selenium Unittest PO設計模式詳解

本文章會講述以下幾個內容:

1、什麼是PO設計模式(Page Object Model)

2、為什麼要使用PO設計模式

3、使用PO設計模式要點

4、PO設計模式實例

1、什麼是PO設計模式 (Page Object Model)

一種在測試自動化中變得流行的設計模式,使得自動化測試腳本的減少代碼重複、更易讀、減少維護成本。

一般PO設計模式有三層

第一層:

  • 對Selenium 進行二次封裝,定義一個所有頁面都繼承的 BasePage ,
  • 封裝 Selenium 基本方法 例如:元素定位,元素等待,導航頁面 ,
  • 不需要全部封裝,用到多少方法就封裝多少方法。

第二層:

  • 頁面元素進行分離,每個元素只定位一次,隔離定位,如果頁面改變,只需要改變相應的元素定位;
  • 業務邏輯分離 或 操作元素動作分離

第三層:

  • 使用單元測試框架對業務邏輯進行測試

2、為什麼要使用PO設計模式

  • 頁面頻繁變化,(頁面html結構等變化)導致頁面UI元素頻繁變動,元素定位改變
  • 傳統線性自動化(面向過程開發),用例中需要反覆的定位同一個元素
  • 每當頁面發生變化的時候,需要在用例中尋找變動的部分,工作量大,容易產生遺漏,不容易維護

3、使用PO設計模式要點

  • 不要在page頁面對象外做元素定位
  • 不在page頁面對象裡面寫斷言,除非是頁面是否成功載入斷言
  • 需要多少個元素就定位多少個,不需要對整個頁面的元素進行定位
  • 當你的用例設計頁面跳轉時,例如登陸操作,登陸完成後跳轉首頁,當頁面發生「跳轉」
  • ,封裝的業務邏輯需要返回(return)對應的頁面對象的實例
  • BasePage封裝Selenium 基礎方法,不需要全部封裝,用到多少方法就封裝多少方法

4、 PO設計模式實例

以TAPD作為項目例子,用PO設計模式實現登陸:

Github地址:https://github.com/SEtester/easy_POM

用例:

標題:登陸成功
前置條件:打開TAPD登錄頁 https://www.tapd.cn/cloud_logins/login
操作步驟:
1. 輸入用戶名(手機或郵箱):XXXXXX
2. 輸入密碼:XXXXXX
3. 點擊登陸按鈕
預期結果:
3. 頁面跳轉至「工作台-我的待辦」

項目目錄:

基於Python Selenium Unittest PO設計模式詳解

base_page.py

基於Python Selenium Unittest PO設計模式詳解

login_page.py

基於Python Selenium Unittest PO設計模式詳解

基於Python Selenium Unittest PO設計模式詳解

worktable_to_do_page.py

基於Python Selenium Unittest PO設計模式詳解

test_login.py

基於Python Selenium Unittest PO設計模式詳解

Page object model 官方文檔

Github 官方文檔地址 : https://github.com/SeleniumHQ/selenium/wiki/PageObjects

文末,感謝乙醇老師指導

作者:深圳-逸遙

原文:https://www.cnblogs.com/snailrunning/p/10163159.html

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

c井 用時間日期作為文件名
.NET Core + Vue.js動態許可權(RBAC)管理系統框架「DncZeus」開源了

TAG:程序員小新人學習 |