Pytest學(xué)習(xí)(5):接口自動化測試之pytest conftest.py文件詳解

一沧烈、’conftest特點:

1缚窿、可以跨.py文件調(diào)用休建,有多個.py文件調(diào)用時岗屏,可讓conftest.py只調(diào)用了一次fixture,或調(diào)用多次fixture

2冻晤、conftest.py與運行的用例要在同一個pakage下苇羡,并且有init.py文件

3、不需要import導(dǎo)入 conftest.py鼻弧,pytest用例會自動識別該文件设江,放到項目的根目錄下就可以全局目錄調(diào)用了,如果放到某個package下攘轩,那就在改package內(nèi)有效叉存,可有多個conftest.py

4、conftest.py配置腳本名稱是固定的度帮,不能改名稱

5鹉胖、conftest.py文件不能被其他文件導(dǎo)入

6、所有同目錄測試文件運行前都會執(zhí)行conftest.py文件

二、’conftest用法:

conftest文件實際應(yīng)用需要結(jié)合fixture來使用甫菠,fixture中參數(shù)scope也適用conftest中fixture的特性挠铲,這里再說明一下

1、fixture源碼詳解

1.fixture(scope='function'寂诱,params=None拂苹,autouse=False,ids=None痰洒,name=None):
fixture里面有個scope參數(shù)可以控制fixture的作用范圍瓢棒,scope:有四個級別參數(shù)"function"(默認(rèn)),"class"丘喻,"module"脯宿,"session

2.params:一個可選的參數(shù)列表,它將導(dǎo)致多個參數(shù)調(diào)用fixture功能和所有測試使用它泉粉。
3.autouse:如果True连霉,則為所有測試激活fixture func可以看到它。如果為False則顯示需要參考來激活fixture
4.ids:每個字符串id的列表嗡靡,每個字符串對應(yīng)于params這樣他們就是測試ID的一部分跺撼。如果沒有提供ID它們將從params自動生成
5.name:fixture的名稱。這默認(rèn)為裝飾函數(shù)的名稱讨彼。如果fixture在定義它的統(tǒng)一模塊中使用歉井,夾具的功能名稱將被請求夾具的功能arg遮蔽,解決這個問題的一種方法時將裝飾函數(shù)命令"fixture_<fixturename>"然后使用"@pytest.fixture(name='<fixturename>')"哈误。

2哩至、fixture的作用范圍

fixture里面有個scope參數(shù)可以控制fixture的作用范圍:session>module>class>function

-function:每一個函數(shù)或方法都會調(diào)用

-class:每一個類調(diào)用一次,一個類中可以有多個方法

-module:每一個.py文件調(diào)用一次蜜自,該文件內(nèi)又有多個function和class

-session:是多個文件調(diào)用一次菩貌,可以跨.py文件調(diào)用,每個.py文件就是module

function默認(rèn)模式@pytest.fixture(scope='function')或 @pytest.fixture()

3袁辈、conftest結(jié)合fixture的使用

conftest中fixture的scope參數(shù)為session菜谣,所有測試.py文件執(zhí)行前執(zhí)行一次

conftest中fixture的scope參數(shù)為module珠漂,每一個測試.py文件執(zhí)行前都會執(zhí)行一次conftest文件中的fixture

conftest中fixture的scope參數(shù)為class晚缩,每一個測試文件中的測試類執(zhí)行前都會執(zhí)行一次conftest文件中的fixture

conftest中fixture的scope參數(shù)為function,所有文件的測試用例執(zhí)行前都會執(zhí)行一次conftest文件中的fixture

三媳危、conftest應(yīng)用場景

1荞彼、每個接口需共用到的token

2、每個接口需共用到的測試用例數(shù)據(jù)

3待笑、每個接口需共用到的配置信息

# 實現(xiàn)部分前置
import pytest

from comment.yaml_unit import YamlUnit


@pytest.fixture(scope="function")
def conn_getbase():
    print("連接數(shù)據(jù)庫成功")
    yield
    print("關(guān)閉數(shù)據(jù)庫成功")


@pytest.fixture(scope="session", autouse=True)
def clear_yaml():
    YamlUnit().deleteYaml()

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鸣皂,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌寞缝,老刑警劉巖癌压,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異荆陆,居然都是意外死亡滩届,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進(jìn)店門被啼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來帜消,“玉大人,你說我怎么就攤上這事浓体∨萃Γ” “怎么了?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵命浴,是天一觀的道長娄猫。 經(jīng)常有香客問我,道長咳促,這世上最難降的妖魔是什么稚新? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮跪腹,結(jié)果婚禮上褂删,老公的妹妹穿的比我還像新娘。我一直安慰自己冲茸,他們只是感情好屯阀,可當(dāng)我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著轴术,像睡著了一般难衰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上逗栽,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天盖袭,我揣著相機(jī)與錄音,去河邊找鬼彼宠。 笑死鳄虱,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的凭峡。 我是一名探鬼主播拙已,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼摧冀!你這毒婦竟也來了倍踪?” 一聲冷哼從身側(cè)響起系宫,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎建车,沒想到半個月后扩借,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡缤至,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年往枷,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片凄杯。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡错洁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出戒突,到底是詐尸還是另有隱情屯碴,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布膊存,位于F島的核電站导而,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏隔崎。R本人自食惡果不足惜今艺,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望爵卒。 院中可真熱鬧虚缎,春花似錦、人聲如沸钓株。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽轴合。三九已至创坞,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間受葛,已是汗流浹背题涨。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留总滩,地道東北人纲堵。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像咳秉,于是被迫代替她去往敵國和親婉支。 傳聞我的和親對象是個殘疾皇子鸯隅,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容