3 * 3のpytest_のパラメータ

インポートpytestの
test_user_data1 = [{ 'ユーザ': 'リンダ'、 'パスワード': '888888'}、
{ 'ユーザ': 'servenruby'、 'パスワード': '123456'}、
{ 'ユーザ': 'TEST01'、 'パスワード': ''}]
test_user_data2 = [{ 'Q': '中国のPing'、 'COUNT' :. 3、 'ページ' :. 1}、
{ 'Q': 'アリババ'、 '数':2、 'ページ':2}、
{ 'Q': 'PDD'、 'COUNT' :. 3、 'ページ' :. 1}]
pytest.fixture @(範囲= 'Module1の')
DEFのlogin_r(要求):
これは許容可能ですパラメータは、パラメータの受信、入力することができない
ユーザーrequest.param = [ 'ユーザー']
PWD = request.param [ 'パスワード']
%(ユーザー、印刷( ':%sのパスワード%sの\ nは、ユーザー名'をPWD))

@ pytest.fixture(スコープ= 'モジュール')
DEF query_param(リクエスト):
Q = request.param [ 'Q']
= request.param [ 'カウント']数えます
= request.paramページ[「ページ」]
印刷(「検索クエリ単語S%」%のQ)
リターンrequest.paramの

データ駆動型である#のpytestは、indeirect =関数に真をlogin_rのように実行されて
から#実行
#2つのテストデータは、テストケースの実行回数(* test_user_data2用のtest_user_data1の3×3の数と、組み合わされ
@のpytest.mark.parametrize( 'query_param'、test_user_data2、INDIRECT = TRUE)
pytest.mark @。 ( 'login_r'、test_user_data1、INDIRECT = TRUE)パラメータ化
:DEFのtest_login(login_r、query_param)
着陸例の
印刷(login_r)
印刷(query_paramを)


pytest_mark_request3.py::test_login[login_r1-query_param0]✓44%クエリ検索用語████▌PDDを
なし
{ 'Q': 'PDD'、 'COUNT' :. 3、 'ページ' :. 1}

pytest_mark_request3.py::test_login[login_r1-query_param2] 56%█████▋✓
ユーザー名:リンダ、パスワード:888888
なし
{ 'Q': 'PDD'、 'COUNT' :. 3、 'ページ' :. 1}

pytest_mark_request3.py::test_login[login_r0-query_param2] 67%✓██████▋
ユーザー名:TEST01、パスワード:
なし
{ 'Q': 'PDD'、 'COUNT' :. 3、 'ページ' :. 1}

pytest_mark_request3.py::test_login[login_r2-query_param2] 78%✓クエリ検索用語███████▊アリ馬場
なし
{ 'Q': 'アリババ'、 '数':2、 'ページ':2 }

pytest_mark_request3.py::test_login[login_r2-query_param1]✓89%の検索クエリ用語████████▉中国のPing
なし
{ 'Q': '中国のPing'、 '数':3、 'ページ': 1}

pytest_mark_request3.py::test_login[login_r2-query_param0]✓100%██████████

 

おすすめ

転載: www.cnblogs.com/QaStudy/p/11565934.html