Pytest學習(4):接口自動化測試之pytest 運行方式及前置后置封裝

一柱宦、Pytest優(yōu)點認知:

1.可以結(jié)合所有的自動化測試工具
2.跳過失敗用例以及失敗重跑
3.結(jié)合allure生產(chǎn)美觀報告
4.和Jenkins持續(xù)集成
5.很多強大的插件

 pytest-html:生產(chǎn)html測試報告
 pytest-xdist:多線程運行
 pytest-ordering:改變用例執(zhí)行順序
 pytest-rerunfailures:失敗用例重爬
 allure-pytest:美觀測試報告
一般項目中构回,會使用requerments.text文檔保存插件名稱,進行批量一次性安裝
pip install -r requerments.txt

二、運行方式:

1.主函數(shù)運行方式:main方法運行
2.命令運行方式
pytest -vs
-v:更加詳細信息
-s:調(diào)試信息
-n=處理:多線程運行
--reruns=數(shù)字:失敗用例重跑
--reruns=數(shù)字:失敗用例重跑
--html=./report.html:生成html報告

用例分組運行

1.進行用例分組:
2.用例進行注解:

#@pytest.mark.分組名稱  如下:
@pytest.mark.smoke

\color{red}{實際工作中使用pytest.ini的配置文件來配置運行}

[pytest]
##運行命令,例如: -vs -m "smoke"分組執(zhí)行名稱都是固定的
addopts = -vs 
#測試用例文件目錄
testpaths = ./testcases
python_files = test_*.py
python_classes = Test*
python_functions = test_*
##分組
markers =
    smoke:maoyan
    case:gongneng

三、前置后置腐芍,夾具

1.簡單區(qū)分:直接調(diào)用方法,但是接口過多時试躏,比較麻煩

    def setup(self):
        print("每個用例執(zhí)行之前猪勇,都執(zhí)行一遍")
    def teardown(self):
        print("每個用例執(zhí)行之后,都執(zhí)行一遍")

2.實現(xiàn)部分前置:如只想之一個用例進行前置颠蕴,如登錄時需要連接數(shù)據(jù)庫泣刹。

需要使用裝置器:\color{red}{ @pytest.fixture()}來實現(xiàn)

參數(shù)介紹:

@pytest.fixture(scope="作用域",params="數(shù)據(jù)驅(qū)動",autouse="是否自動執(zhí)行",ids="自定義參數(shù)",name="重命名")
作用域:可以函數(shù)助析、類、模塊椅您、包貌笨、session

使用方法:

1.需要前置的功能函數(shù)上進行標注裝置器
2.別的方法函數(shù)之間調(diào)用裝置器

如下:一個文件里面進行部分前置喚醒

import time

import pytest
import requests
#實現(xiàn)裝置器標注前置,進行標注襟沮,yieid進行喚醒返回
@pytest.fixture(scope="function")
def conn_getbase():
    print("連接數(shù)據(jù)庫成功")
    yield
    print("關(guān)閉數(shù)據(jù)庫成功")

class TestSendRequsets:
    #過多接口時,比較麻煩冗余
    # def setup(self):
    #     print("每個用例執(zhí)行之前")
    #
    # def teardown(self):
    #     print("每個用例執(zhí)行之后")

    def test_getImgCode(self):
        # 接口url
        t = time.time()
        timess = str(int(round(t * 1000)))
        times = str(int(t))
        url = "http://124.71.230.185:9002/jeecg-boot/sys/randomImage/" + "" + timess
        # 參數(shù)
        data = {
            "_t": times,
        }
        # # get請求
        rep = requests.request('get', url, params=data)
        print(rep.text)

    # 標注為smoke分組用例
    @pytest.mark.smoke
    def test_Login(self,conn_getbase):
        # post請求
        url = "http://124.71.230.185:9002/jeecg-boot/sys/login"
        # 參數(shù)
        data = {
            "captcha": "Gkak!@#2021",
            "checkKey": 1637811815838,
            "password": "123456",
            "remember_me": 1,
            "username": "admin"
        }
        rep = requests.request('post', url, json=data)
        statues = rep.json()["success"]
        message = rep.json()["message"]
        if statues:
            print("")
        else:
            # raise Exception(message)
            print(message)


if __name__ == '__main__':
    pytest.main();

3.封裝靈活調(diào)用

一般情況下:@pytest.fixture()會和conftest.py文件一塊使用
conftest.py名稱是固定的昌腰,功能如下:

1.用處是多個py文件之間共享前置配置开伏。
2.里面的方法在調(diào)用時,不需要導(dǎo)入遭商,可以之間調(diào)用
3.可以都多個conftest.py文件固灵,也可以有不同的層級

conftest.py文件詳情請看下一章
實現(xiàn):

1.目錄下之間創(chuàng)建conftest.py文件
2.把上面的這段代碼之間粘貼到conftest.py文件中

# 前置函數(shù)
import pytest

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市劫流,隨后出現(xiàn)的幾起案子巫玻,更是在濱河造成了極大的恐慌,老刑警劉巖祠汇,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件仍秤,死亡現(xiàn)場離奇詭異,居然都是意外死亡可很,警方通過查閱死者的電腦和手機诗力,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來我抠,“玉大人苇本,你說我怎么就攤上這事〔送兀” “怎么了瓣窄?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長纳鼎。 經(jīng)常有香客問我俺夕,道長,這世上最難降的妖魔是什么贱鄙? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任啥么,我火速辦了婚禮,結(jié)果婚禮上贰逾,老公的妹妹穿的比我還像新娘悬荣。我一直安慰自己,他們只是感情好疙剑,可當我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布氯迂。 她就那樣靜靜地躺著践叠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嚼蚀。 梳的紋絲不亂的頭發(fā)上禁灼,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天,我揣著相機與錄音轿曙,去河邊找鬼弄捕。 笑死,一個胖子當著我的面吹牛导帝,可吹牛的內(nèi)容都是我干的守谓。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼您单,長吁一口氣:“原來是場噩夢啊……” “哼斋荞!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起虐秦,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤平酿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后悦陋,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蜈彼,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年俺驶,在試婚紗的時候發(fā)現(xiàn)自己被綠了柳刮。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡痒钝,死狀恐怖秉颗,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情送矩,我是刑警寧澤蚕甥,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站栋荸,受9級特大地震影響菇怀,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜晌块,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一爱沟、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧匆背,春花似錦呼伸、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽搂根。三九已至,卻和暖如春铃辖,著一層夾襖步出監(jiān)牢的瞬間剩愧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工娇斩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留仁卷,地道東北人。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓犬第,卻偏偏與公主長得像锦积,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子瓶殃,可洞房花燭夜當晚...
    茶點故事閱讀 44,914評論 2 355

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