日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python自动化框架测试实操_自动化框架之 python+selenium+pytest

發(fā)布時(shí)間:2023/12/10 python 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python自动化框架测试实操_自动化框架之 python+selenium+pytest 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。