1. 程式人生 > 實用技巧 >pytest 資料驅動

pytest 資料驅動

資料驅動

有時候多個用例 比如說多個需要登入的用例,共同點是,它們的測試步驟一模一樣的,只是

輸入的資料不同,要檢查的輸出資料不同。

這批測試用例,就是典型的可以用 資料驅動 方式進行自動化用例。

如果有一批測試用例,具有 相同的測試步驟,只是測試引數資料不同。

自動化測試時,把資料從用例程式碼中 分離 開來,以後增加新的測試用例,只需要修改資料。

這就是資料驅動。

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

缺點

如果要生成測試報告的話就不能分辨出是那條用例出的錯誤 按照喜歡使用