pytest系列筆記1

一涤垫、簡介

1.pytest是一個非常成熟的Python的單元框架篡诽,比unittest更靈活;

2.pytest可以和selenium路星、requests罕模、appium結(jié)合實現(xiàn)web自動化色迂、接口自動化、app自動化手销;

3.pytest可以實現(xiàn)測試用例的跳過以及reruns失敗用例重試;

4.pytest可以和allure生成好看的測試報告图张;

5.pytest可以和Jenkins配置持續(xù)集成锋拖;

6.pytest有很多強大的插件,足以支撐我們的常用操作祸轮,如下:

pytest-xdist 分布式執(zhí)行case兽埃,多CPU分發(fā)

pytest-ordering 改變case的執(zhí)行順序

pytest-rerunfailures 失敗case重跑

pytest-html 生成html格式的測試報告

allure-pytest 用于生成好看的測試報告

注意:以上插件都需要手動安裝,可以放到requirements.txt中适袜,通過pip install -r requirements.txt 統(tǒng)一安裝柄错,該方式安裝的只針對當(dāng)前項目

二、pytest默認(rèn)規(guī)則

1.模塊名必須以test_開頭或者_(dá)test結(jié)尾

2.測試類必須以Test開頭苦酱,并且不能有init方法

3.測試方法必須以test開頭

注意:這些都是默認(rèn)規(guī)則售貌,如果不想用默認(rèn)規(guī)則,需要重新定義配置參數(shù)對應(yīng)規(guī)則即可疫萤;

三颂跨、pytest case 運行方式

~參數(shù)詳解

-s 表示輸出調(diào)試信息,包括print打印的信息

-v顯示更詳細(xì)的信息

-vs兩個參數(shù)一起使用

-n支持多線程或者分布式運行測試用例

-reruns num 失敗case重跑

-x表示只要有一個case報錯就停止運行

-maxfail=2 最大失敗數(shù)扯饶,出現(xiàn)兩個失敗用例就停止

-k根據(jù)case的部分字符串選中case

-html 生成html格式的測試報告

1.主函數(shù)模式

1.1運行所有:pytest.main()

1.2指定模塊:pytest.main(['-vs','test_login.py'])

1.3指定目錄:pytest.main(['-vs','./interface_testcase'])

1.4通過nodeid指定用例運行:

pytest.main(['-vs','./interface_testcase/test_login.py::test_01_func'])

2.命令行模式

2.1運行所有? pytest

2.2指定模塊 pytest -vs test_login.py

2.3指定目錄 pytest -vs ./interface_testcase

2.4指定方法pytest -vs? ./interface_testcase/test_login.py::test_01_func

3.通過讀取pytest.ini全局配置文件運行(最常用的方式)

pytest.ini這個文件是pytest單元測試框架的核心配置文件(我們說的二的默認(rèn)規(guī)則注意部分的修改參數(shù)就是在這個文件里修改)

3.1路徑:一般放在項目的根目錄

3.2編碼格式:必須是ANSI恒削,可以使用編輯器(sublime text)修改

3.3作用:改變pytest默認(rèn)行為池颈,按照文件內(nèi)容執(zhí)行

3.4運行規(guī)則:不管是主函數(shù)還是命令行模式運行,都會讀取這個配置文件钓丰,常見的ini內(nèi)容如下:

[pytest]

addopts=-vs? ? ? ? ? ? ? ? ? #命令行參數(shù)躯砰,用空格分隔

testpaths=./testcase? ? ? #case路徑

python_files=test_*.py? ? #模塊名規(guī)則

python_classes=Test*? ? #類名的規(guī)則

python_functions=test? ? # 方法名規(guī)則

markers=

? ? ? ? ? ? ? ? smoke:冒煙用例

? ? ? ? ? ? ? ? interface:接口用例

? ? ? ? ? ? ? ? web:網(wǎng)頁用例

? ? ? ? ? ? ? order:訂單管理模塊

? ? ? ? ? ? ? ? user:用戶模塊

四、pytest執(zhí)行case的順序

默認(rèn)是從上到下

改變默認(rèn)執(zhí)行順序:使用mark標(biāo)記

@pytest.mark.run(order=3)

五携丁、分組執(zhí)行(冒煙琢歇、功能模塊、類型(接口&web))

smoke:冒煙用例则北,分布在各個模塊里

先在用例里標(biāo)記矿微,然后-m參數(shù)運行即可

@pytest.mark.smoke

pytest -m "smoke"

pytest -m "smoke or user or order"

六、跳過case

1.無條件跳過

@pytest.mark.skip(reason="還沒寫完")

2.有條件跳過

@pytest.mark.skipif(1==1,reason="符合條件所以跳過")

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末尚揣,一起剝皮案震驚了整個濱河市涌矢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌快骗,老刑警劉巖娜庇,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異方篮,居然都是意外死亡名秀,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門藕溅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來匕得,“玉大人,你說我怎么就攤上這事巾表≈樱” “怎么了?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵集币,是天一觀的道長考阱。 經(jīng)常有香客問我,道長鞠苟,這世上最難降的妖魔是什么乞榨? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮当娱,結(jié)果婚禮上吃既,老公的妹妹穿的比我還像新娘。我一直安慰自己跨细,他們只是感情好态秧,可當(dāng)我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著扼鞋,像睡著了一般申鱼。 火紅的嫁衣襯著肌膚如雪愤诱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天捐友,我揣著相機與錄音淫半,去河邊找鬼。 笑死匣砖,一個胖子當(dāng)著我的面吹牛科吭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播猴鲫,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼对人,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了拂共?” 一聲冷哼從身側(cè)響起牺弄,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎宜狐,沒想到半個月后势告,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡抚恒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年咱台,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片俭驮。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡回溺,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出混萝,到底是詐尸還是另有隱情馅而,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布譬圣,位于F島的核電站,受9級特大地震影響雄坪,放射性物質(zhì)發(fā)生泄漏厘熟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一维哈、第九天 我趴在偏房一處隱蔽的房頂上張望绳姨。 院中可真熱鬧,春花似錦阔挠、人聲如沸飘庄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽跪削。三九已至谴仙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間碾盐,已是汗流浹背晃跺。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留毫玖,地道東北人掀虎。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像付枫,于是被迫代替她去往敵國和親烹玉。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,927評論 2 355

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

  • 一阐滩、pytest單元測試框架 1二打、什么是單元測試框架 單元測試框架是指在軟件測試開發(fā)當(dāng)中,針對軟件的最小單位(函數(shù)...
    JaydenGoh閱讀 521評論 0 2
  • 前言 python常用測試框架有Unittest叶眉、Doctest址儒、Nose及Pytest unittest大部分人...
    測試之路king閱讀 161評論 0 0
  • 一、ptest單元測試框架 1)什么是單元測試框架 單元測試是指在軟件開發(fā)當(dāng)中衅疙,針對軟件的最小單位(函數(shù)莲趣、方法)進...
    小炸閱讀 2,926評論 0 0
  • pytest介紹 pytest是一個非常成熟的全功能的Python測試框架,主要有以下幾個特點: 1.簡單靈活饱溢,容...
    桔Bu閱讀 845評論 0 0
  • 1喧伞、pytest介紹 pytest是一個非常成熟的全功能的Python測試框架,主要有以下幾個特點: 1.簡單靈活...
    桔Bu閱讀 553評論 0 0