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