importpytest
"""傳乙個引數:
知識點:
1、test_login的引數化中 indirect=true 是指吧login 當成乙個函式去執行,namelist表示login函式所需的引數
2、test_login()方法的login,指的是fixture的返回值
"""namelist=["
test2
","test1"]
@pytest.fixture(scope="
function")
deflogin(request):
name =request.param
print(f"
fixture中")
return
name
@pytest.mark.parametrize(
"login
",namelist,indirect=
true) #知識點1
deftest_login(login): #知識點2
print(f"
用例登入的賬號是-----")
if__name__ == '
__main__':
pytest.main(['-s
', '
test_resuqest.py
'])
#傳兩個引數@pytest.fixture()
deflogins(request):
param =request.param
print(f"
fixture輸出賬號是:")
print(f"
fixture輸出密碼是:")
return
param
data =[,,
]
#知識點:如果需要傳多個引數,需要通過字典去傳
@pytest.mark.parametrize(
"logins
", data, indirect=true)
deftest_name_pwd(logins):
print(f"
用例輸出賬號是:")
print(f"
用例輸出密碼是:
pytest之fixture的詳細使用
前言 1 首先要理解unittest中setup teardown的作用,可以實現在執行用例前或結束後加入一些操作,但這種都是針對整個測試類全域性生效的 2 如果有以下場景 用例 1 需要先登入,用例 2 不需要登入,當每個測試用例的執行環境和條件都不一樣時,顯然無法用 setup 和 teardo...
fixture使用時需要注意的問題
今天單測不太順利,主要是fixture使用不熟悉,記錄兩個問題 bug 1 經過定位發現是fixture資料始終不能灌入導致的,檔案如下 machine1 id 1 machine1 id 2 期望有兩條資料,實際只有一條,原因是在rspec灌資料時裝載yml,而這裡的資料是個hash,結果key相...
使用多個fixture的返回值作為測試用例的入參
有時自動化場景需要使用多個fixture的返回值作為測試用例的入參。解決方法有兩個,乙個是使用fixture的params引數解決,乙個是使用pytest lazy fixture外掛程式 方法一 使用fixture的params引數解決 示例import pytest pytest.fixture...