一、設計模式(封裝)
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