python自动化框架测试实操_自动化框架之 python+selenium+pytest
1.概述
selenium:
基于JavaScript代碼庫的自動化測試框架,通過腳本語言,模擬用戶行為操作,最接近用戶真實場景,實現對web自動測試。
Selenium,是目前的最火爆企業最主流的webUI自動化框架
pytest:
pytest是一個非常成熟的全功能的Python測試框架,是unittest框架的擴展,主要特點有以下幾點:
? 1、簡單靈活,非常方便的組織自動化測試用例;
? 2、支持參數化,可以細粒度地控制要測試的測試用例;
? 3、能夠支持簡單的單元測試和復雜的功能測試,比如web端selenium/移動端appnium等自動化測試、request接口自動化測試
? 4、pytest具有很多第三方插件,并且可以自定義擴展,比如測試報告生成,失敗重運行機制
? 5、測試用例的skip和fail處理;
? 6、結合業界最美的測試報告allure+Jenkins,持續集成
2.環境搭建
pip install -U pytest
pytest-xdist #多線程
pip install -U pytest-rerunfailures #重試運行cases
pip install pytest-html #生成測試報告
pytest --version # 會展示當前已安裝版本
3.編寫規則
編寫pytest測試樣例非常簡單,只需要按照下面的規則:
? 測試文件以test_開頭(以test結尾也可以)
? 測試類以Test開頭,并且不能帶有 init 方法
? 測試函數以test開頭
? 斷言使用基本的assert即可
4.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 文件路徑/測試文件名
5. 擴展插件
5.1. 測試報告: pytest-html
pytest.main(['-s','test.py','--html=./report/result.html'])
:表示當前路徑下生成report文件夾,result.html文件
5.2 批量運行用例:pytest-xdist
pytest.main(['-s','test.py','--html=./report/result.html','-n=2'])
-n=2 表示2個線程并發運行所有的測試用例
5.3 allure測試報告:allure-pytest
運行用例:pytest.main(['-s', '-q', '--alluredir', './report/xml'])
pytest 測試目標文件 --alluredir 數據目錄
運行后的結果,是生成xml的數據集合
生成報告:allure generate --clean ./report/xml/ -o ./results/html/
第一個是數據集目錄,第二個是生成報告目錄
-o是指向目標生成測試報告的目錄;
6.conftest配置
當自動化用例越來越龐大的時候,很多用例的數據可以共享,復用,讓用例腳本可讀性,維護性更高,比如登錄等
conftest.py 配置里可以實現數據共享,比如py跨文件共享前置
conftest.py配置腳本名稱是固定的,不能改名稱
不需要import導入 conftest.py,pytest用例會自動查找
自從使用了pytest框架,愛了愛了,深深的感受到它的可擴展性和靈活性,老板再也不用擔心我的自動化效率低
原創不易,燃燒秀發輸出內容,如果有一丟丟收獲,點個贊鼓勵一下吧!
整理了一份216頁軟件測試大廠面試題,以及2020推薦最新的簡歷模板,送給小伙伴們,關注公眾號程序員一凡回復【簡歷】自行領取,和一些小伙伴建立一個技術交流群,一起探討技術,分享技術資料,旨在共同學習進步,如果感興趣就加入我們吧!
總結
以上是生活随笔為你收集整理的python自动化框架测试实操_自动化框架之 python+selenium+pytest的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机专业专转本题目(新考纲)
- 下一篇: win10计算器_从0开始自制计算器!