Web自動化測試設計模式之POM


一、設計模式(封裝)

pom模式

po模式:page boject model 頁面對象模式

好處:

解決線性腳本的問題

解決代碼不能重復利用的問題

解決后期的維護問題

 

分三層:

1.基礎層:base 主要放selenium原生的方法

2.頁面對象層:po 主要用於放頁面元素和頁面動作

3.測試用例層:testcase 存放測試用例以及測試數據

頁面對象層調用基礎層方法,測試用例層調用頁面對象層方法

 

unittest的前后置處理

setup在測試用例之前的准備工作

teardown在測試用例之后的掃尾工作

二、斷言

unittest斷言用於判斷預取結果與實際結果是否相符

self.assertEqual(“a”,"b") 判斷a和b是否相等

self.assertTrue("a") 判斷a是否為True

self.assertIn("a","b") 判斷a是否在b里面

更詳細的斷言講解:https://blog.csdn.net/qq_39247153/article/details/81082313

二、DDT+EXCEL數據驅動

excel/yaml

1.什么是ddt

data driver test數據驅動測試,可以完美和unittest結合實現數據驅動

2.DDT使用的方式(通過裝飾器來使用)

在函數或類上面加上裝飾器來實現一些特定的功能

@ddt 裝飾類,作用:用於聲明當前類使用ddt數據驅動

@data 裝飾函數,作用:給函數傳值

@unpack 裝飾函數,作用:數據解包

@file_data 裝飾函數,作用:直接讀取ymal/json文件

 

三、pytest

pytest是unittest的升級版

可以結合allure生成定制版測試報告

支持很多強大的第三方插件,allure,xdist,order等

三、Pytest默認規則

1.模塊名必須以test_開頭或者_test結尾

2.測試類必須以Test開頭,並且不能有init方法

3.測試方法必須以test開頭

 

四、完善達到企業里面能夠實際落地的web自動化測試框架

編輯語言:python java

設計模式:pom 關鍵字驅動模式

用例管理:unittest ,pytest

數據驅動:ddt,pytest.mark.parameters()

二次封裝:excel的封裝,ini/ymal的封裝,數據庫的封裝

日歷監控:logger日志收集

異常處理:try except

jenkins:持續集成 無人值守

Docker:鏡像容器技術

分布式運行:Grid

前端代碼:html,javascript

 


免責聲明!

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



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