pytest 資料驅動
阿新 • • 發佈:2020-07-20
資料驅動
有時候多個用例 比如說多個需要登入的用例,共同點是,它們的測試步驟一模一樣的,只是
輸入的資料不同,要檢查的輸出資料不同。
這批測試用例,就是典型的可以用 資料驅動 方式進行自動化用例。
如果有一批測試用例,具有 相同的測試步驟,只是測試引數資料不同。
自動化測試時,把資料從用例程式碼中 分離 開來,以後增加新的測試用例,只需要修改資料。
這就是資料驅動。
pytest 用例 的 資料驅動格式,只需如下定義 pytest -s 執行:
import pytest
# 引入公共邏輯程式碼的指令碼
from lib.webui import loginAndCheck
class Test_錯誤登入:# 資料驅動 裝飾器:pytest.mark
@pytest.mark.parametrize('username,password,expectedalert,testName',[
(None,'888888888','使用者名稱不能為空。','不填賬號,正確的祕密'),
('13409222736',None,'密碼不能為空。','正確的賬號,不填祕密'),
])
# 建立一個函式 對資料驅動的資料遍歷引用 呼叫兩條用例
def test_UI_C001_002(self,username,password,expectedalert,testName):
# 呼叫公共邏輯程式碼 傳入資料驅動的值
print(testName)
alertText = loginAndCheck(username,password)
assert alertText == expectedalert