佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > Python pytest裝飾器總結(jié)(實(shí)例詳解)

Python pytest裝飾器總結(jié)(實(shí)例詳解)

熱門標(biāo)簽:客戶服務(wù) 電話運(yùn)營(yíng)中心 硅谷的囚徒呼叫中心 呼叫中心市場(chǎng)需求 語(yǔ)音系統(tǒng) 企業(yè)做大做強(qiáng) Win7旗艦版 百度AI接口

幾個(gè)常用裝飾器

pytest.ini 配置文件 例子:

[pytest]
addopts = -v -s --html=py_test/scripts/report/report.html -p no:warnings  --reruns=10
 
testpaths = ./py_test/scripts
python_files= test_rerun.py
python_classes = Test*
python_function = test*
xfail_strict = true

addopts: OPTS 命令行參數(shù)集

-s:表示輸出調(diào)試信息,包括 print打印的信息
-v:顯示更詳細(xì)的信息
-vs:這兩個(gè)參數(shù)一起用
-n :支持多線程或者分布式運(yùn)行測(cè)試用例
     如:pytest -vs ./testcase/test_login.py -n 2
--html : 測(cè)試報(bào)告位置
--reruns : 失敗重跑
-p no:warnings  : 取消警告
--ff : 先執(zhí)行上次失敗的用例
--lf : 只執(zhí)行上次失敗的用例
-x : 遇到測(cè)試用例fail,就結(jié)束測(cè)試
--maxfail=num:遇到num條測(cè)試用例fail, 就結(jié)束測(cè)試 
-k :根據(jù)測(cè)試用例的部分字符串指定測(cè)試用例
  	如:pytest -vs ./testcase -k “ao”

skipif-跳過(guò)測(cè)試

跳過(guò)測(cè)試的使用方法

pytest.skip (用于函數(shù)內(nèi),跳過(guò)測(cè)試用例)

def test_2():
    if 1  2:
        pytest.skip('1111111')
    pass

@pytest.mark.skip(用于函數(shù)外,跳過(guò)測(cè)試用例)

@pytest.mark.skip(reason='feature not implemented')
def test_1():
    pass
 
# 模塊級(jí)別跳過(guò)。(注:參數(shù)allow_module_level的值設(shè)為True)
pytest.skip('skip all tests', allow_module_level=True)

@pytest.mark.skipif(用于函數(shù)外,條件condition,跳過(guò)原因reason="xxx")

@pytest.mark.skipif(condition='12',reason='feature not implemented')
def test_1():
    pass

ordering-執(zhí)行順序

  1. 控制用例執(zhí)行順序的方法
  2. 在需要調(diào)整用例執(zhí)行順序的函數(shù)(或方法)前增加

@pytest.mark.run(order=x) x表示

3.數(shù)字?jǐn)?shù)字形式: 小數(shù)、整數(shù)、負(fù)數(shù)

執(zhí)行順序:

1、由小到大

2、由正到負(fù)

3、未標(biāo)記 的在正數(shù)后,負(fù)數(shù)前執(zhí)行

順序: 1,2,3,無(wú)標(biāo)記,-3,-2,-1

xfail-預(yù)期失敗

xfail-預(yù)期失敗的函數(shù)
語(yǔ)法

xfail(condition, reason)
--condition 預(yù)期失敗的條件
--reason 預(yù)期失敗的原因

pytest.ini加參數(shù),

不希望出現(xiàn) 預(yù)期失敗結(jié)果成功 的情況
就在配置文件中添加一個(gè)參數(shù):
xfail_strict = true

fixture-函數(shù)作參數(shù)

fixture用途:可將被fixture標(biāo)記的函數(shù)當(dāng)作參數(shù)使用
掌握一個(gè)fixture 實(shí)現(xiàn) setup 和 tearduwn
yield 關(guān)鍵字
yield 后邊代碼是用例執(zhí)行完后再執(zhí)行的。相當(dāng)于teardown
當(dāng)用例執(zhí)行完之后, 會(huì)執(zhí)行yield 后面的代碼,但不能 return
addfinalize 關(guān)鍵字
這個(gè)實(shí)現(xiàn)功能跟yield的一樣, 但可以用return,將參數(shù)傳給后面的用例.
fixture 可放到conftest.py文件下
conftest.py會(huì)自動(dòng)識(shí)別 哪個(gè)用例調(diào)用了這個(gè)函數(shù)

parametrize-參數(shù)化

parametrize(argnames,argvalues)
--argnames : 參數(shù)名
--argvalues : 參數(shù)值, 數(shù)據(jù)類型是 list
語(yǔ)法
@pytest.mark.parametrize
@pytest.mark.parametrize("mobile,code", [(121,212),(123,321)])

rerunfailure-失敗重跑

失敗重跑機(jī)制
安裝pytest-rerunfailure
在設(shè)置文件pytest.ini中添加命令
reruns = 重跑次數(shù)
addopts = --reruns=10

鏈接Mysql

一.環(huán)境搭建

對(duì)接mysql數(shù)據(jù)庫(kù)需要通過(guò)第三方庫(kù)PyMySQl

二.數(shù)據(jù)庫(kù)操作

建立數(shù)據(jù)庫(kù)連接 :MySQlconnect = pymysql.connect(“數(shù)據(jù)庫(kù)地址“,“數(shù)據(jù)庫(kù)端口“,”數(shù)據(jù)庫(kù)賬號(hào)“等)

獲取操作游標(biāo): cursor = MySQlconnect .cursor()

執(zhí)行SQL語(yǔ)句:cursor .execute(“SQL語(yǔ)句”)

獲取一條數(shù)據(jù):data = cursor.fetchone()

獲取結(jié)果(讀):cursor.fetchall()

提交更改(寫):MySQlconnect .commit()

關(guān)閉游標(biāo):cursor.close()

關(guān)閉連接 :MySQlconnect .close()

到此這篇關(guān)于Python pytest裝飾器總結(jié)的文章就介紹到這了,更多相關(guān)pytest裝飾器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python pytest進(jìn)階之fixture詳解
  • 詳解Pytest測(cè)試用例的執(zhí)行方法
  • python pytest進(jìn)階之conftest.py詳解
  • Pytest接口自動(dòng)化測(cè)試框架搭建模板
  • pytest自動(dòng)化測(cè)試fixture的作用域?qū)嵗樞蚣翱捎眯?/li>

標(biāo)簽:喀什 山西 崇左 山西 安康 長(zhǎng)沙 濟(jì)南 海南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python pytest裝飾器總結(jié)(實(shí)例詳解)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    保靖县| 佛山市| 中牟县| 凭祥市| 冷水江市| 宝丰县| 宁阳县| 潞城市| 东源县| 赞皇县| 牟定县| 烟台市| 堆龙德庆县| 成都市| 金昌市| 囊谦县| 灵寿县| 金门县| 德清县| 宿迁市| 福清市| 海城市| 宁海县| 双辽市| 武清区| 阿拉尔市| 马关县| 壤塘县| 建阳市| 宜兰市| 田东县| 苏尼特左旗| 息烽县| 城市| 屯门区| 巴中市| 长白| 大同县| 乌海市| 抚顺市| 遂平县|