pytest-11-函數(shù)傳參和fixture傳參數(shù)request

1、登錄函數(shù)傳參

為了提高代碼的復(fù)用性,一般會用不同用例去調(diào)用函數(shù)。

測試用例傳參需要用裝飾器@pytest.mark.parametrize 里面分別兩個參數(shù)

(1)第一個參數(shù)是字符串,多個參數(shù)中間用逗號隔開

(2)第二個參數(shù)是list,多組數(shù)據(jù)用元組類型


登錄函數(shù)傳參
運行結(jié)果

由運行結(jié)果可知,兩個測試用例互不影響

2、request參數(shù)

@pytest.fixture裝飾器,可把登錄操作放在前置操作,傳參默認(rèn)request參數(shù)

request參數(shù)

indirect=True參數(shù)是為了把login當(dāng)一個函數(shù)執(zhí)行,而不是參數(shù)

運行結(jié)果

如果有多個參數(shù),可以把多個參數(shù)用字典存儲,轉(zhuǎn)變成一個參數(shù),使用key獲取值如: user = request.param["user"]

test_user_data = [{'user': 'admin1', 'psw': '111111'},

? ? ? ? ? ? ? ? ? {'user': 'admin1', 'psw': ''}]


用例上面可以同時放多個fixture,即多個前置操作,支持裝飾器疊加,使用parametrize裝飾器疊加時,用例組合是2個參數(shù)個數(shù)相乘,如:

多個前置操作
運行結(jié)果
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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