基於 Python3 的網頁自動化測試框架實現_框架概要《一》

只要方向對了,只管加油便是。——《我自己》
在這裏插入圖片描述
插畫來自網絡

概要

響應大家對於網頁自動化測試的熱情,我們共同努力,自己用 python3 來實現一款功能尚且健全的,能應付絕大部分主流網頁自動化測試任務的框架。請注意,該框架主要是針對selenium 做的封裝,所以 selenium 無法應對的局面,比如非 html + css + js 開發的網頁,桌面客戶端等都無法兼容。
時下比較流行的網頁自動化測試採用 POM(page object model),設計模式,關於此模式,網上有很多說明和教程,簡而言之就是利用OOP的特性,將頁面元素和測試操作邏輯分離開,提高方法複用率,減少腳本代碼量,降低維護成本。我們的測試框架也會採用這種模型。

框架說明

根據POM模型,一個常規的網頁自動化測試框架(不含GUI部分)包含以下幾部分:

  • 頁面對象:將每一個需要測試的頁面按照POM模式設計成類,將頁面元素設計成類中的方法/屬性
  • 頁面元素操作方法:將一系列對頁面元素的操作封裝成頁面類中的方法
  • 用例組織:使用 python3 自帶的unittest 模塊來做用例組織
  • 日誌工具:使用 python3 自帶的 logging 模塊來做日誌
  • 截屏:使用裝飾器技術來做測試用例失敗後的自動截屏
  • 結果Report:使用 unittest 的擴展 HtmlTestRunner.py 來做可視化報告輸出
  • 數據驅動(一般是指測試數據):使用 ddt 模塊來做數據驅動,使用xlsx-件來記錄測試數據,使用openpyxl 模塊來解析xlsx文件
  • 配置文件:我個人習慣使用json文件來做配置,這個因人而已,大家請使用自己習慣的配置文件方式。
    我們想要實現這些功能,需要一些常用庫以及第三方庫的幫助,並在此基礎上做二次封裝。因爲沒有太多複雜的功能,所以需要自己編寫的新功能幾乎沒有,難度並不高。

結語

第一部分就簡單的介紹一下框架的大致結構哦,有興趣的朋友可以往下看。
在這裏插入圖片描述
▲掃描二維碼“識別”關注 簡介:熱愛生活,享受旋律!

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