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é)果