標題目錄
-
- 一、概述
- 二、環境搭建
- 三、撰寫規則
- 四、Selenium+Pytest案例實操
- 五、擴展插件
- 六、conftest配置
- 七、最后
一、概述
Selenium:
1、基于JavaScript代碼庫的自動化測驗框架,通過腳本語言,模擬用戶行為操作,最接近用戶真實場景,實作對web自動測驗,
2、Selenium,是目前的最火爆企業最主流的webUI自動化框架
Pytest:
1、Pytest是一個非常成熟的全功能的Python測驗框架,是unittest框架的擴展,主要特點有以下幾點:
(1)簡單靈活,非常方便的組織自動化測驗用例;
(2)支持引數化,可以細粒度地控制要測驗的測驗用例;
(3)能夠支持簡單的單元測驗和復雜的功能測驗,比如web端selenium/移動端appnium等自動化測驗、request介面自動化測驗;
(4)pytest具有很多第三方插件,并且可以自定義擴展,比如測驗報告生成,失敗重運行機制;
(5)測驗用例的skip和fail處理;
(6)結合業界最美的測驗報告allure+Jenkins,持續集成,
二、環境搭建
pip install - U pytest pytest-xdist #多執行緒 pip install - U pytest-rerunfailures #重試運行cases pip install pytest-html #生成測驗報告 pytest --version # 會展示當前已安裝版本
三、撰寫規則
撰寫pytest測驗樣例非常簡單,只需要按照下面的規則:
(1) 測驗檔案以test_開頭(以_test結尾也可以);
(2)測驗類以Test開頭,并且不能帶有 init 方法;
(3)測驗函式以test_開頭;
(4)斷言使用基本的assert即可,
四、Selenium+Pytest案例實操

import pytest # 引入pytest包 def test_a(): # test開頭的測驗函式 print("------->test_a") assert 1 # 斷言成功 def test_b(): print("------->test_b") assert 0 # 斷言失敗 if __name__ == '__main__': pytest.main(['-s', 'class01.py'])
可以包含一個或多個Test開頭的測驗類,test_開頭的函式
1、測驗類主函式模式
pytest.main([’-s’, ‘test.py’])
2、命令列模式運行
pytest 檔案路徑/測驗檔案名
五、擴展插件
1、測驗報告: pytest-html
pytest.main([’-s’,‘test.py’,’–html=./report/result.html’])
:表示當前路徑下生成report檔案夾,result.html檔案
2、批量運行用例:pytest-xdist
pytest.main([’-s’,‘test.py’,’–html=./report/result.html’,’-n=2’])
-n=2 表示2個執行緒并發運行所有的測驗用例
3、allure測驗報告:allure-pytest
運行用例:pytest.main([’-s’, ‘-q’, ‘–alluredir’, ‘./report/xml’])
pytest 測驗目標檔案 --alluredir 資料目錄
運行后的結果,是生成xml的資料集合
生成報告:allure generate --clean ./report/xml/ -o ./results/html/
第一個是資料集目錄,第二個是生成報告目錄
-o是指向目標生成測驗報告的目錄;
六、conftest配置
當自動化用例越來越龐大的時候,很多用例的資料可以共享,復用,讓用例腳本可讀性,維護性更高,比如登錄等
conftest.py 配置里可以實作資料共享,比如py跨檔案共享前置
conftest.py配置腳本名稱是固定的,不能改名稱
不需要import匯入 conftest.py,pytest用例會自動查找
使用Pytest框架后,能深深地感受到它的可擴展性和靈活性,再也不用擔心自動化效率低了,
七、最后
對軟體測驗、介面測驗、自動化測驗、軟體測驗零基礎入門、性能測驗、LR腳本開發、python自動化全堆疊、面試經驗感興趣可以175317069,群內會有不定期的發放免費的資料鏈接,如果你有好的學習也資料可以私聊發我,我會注明出處之后分享給大家,
喜歡的話,歡迎【點贊】、【關注】、【喜歡】禮貌三連!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/461.html
標籤:其他
