最初のレンダリングに:
3つの部分に分かれpytest-HTMLレポートを、変更します。
新しいディレクトリのファイルconftest.pyのpytest実装
インポートpytest から py._xmlgen インポートHTML から日時をインポート日時 「」「 この設定では概要セクション 」「」 @のpytest.mark.optionalhookの DEFのpytest_html_results_summary(接頭辞、概要、postfixの): #取得のconfigureコンテンツ。 prefix.extend([HTML .P(" 被験者:試験群" )]) "" " このセクションの環境設け """ DEF :pytest_configure(設定) config._metadata [ ' テストアドレス' ] = XXXXXXXX位 "" " この設定での結果のセクション。 「」 " @ pytest.mark.optionalhookの デフpytest_html_results_table_header(細胞): cells.insert( 2、html.th(' 説明' )) cells.insert( 3、html.th(' 時間'、class_が= ' ソート可能時間'、COL = ' 時間' )) #のcells.insert(1、html.th( "Test_nodeid")) cells.pop() pytest.mark.optionalhook @ デフpytest_html_results_table_rowは(レポート、細胞): cells.insert( 2 、html.td( report.description)) cells.insert(3、html.td(datetime.utcnow()、class_が= ' COL-時間' )) #1 cells.insert(1、html.td(report.nodeid)) cells.pop() @ pytest.mark.hookwrapper DEF pytest_runtest_makereport (項目、呼び出し): 結果 = 降伏 レポート = outcome.get_result() report.description = STR(item.function __doc__ ) report.nodeid = report.nodeid.encode(" UTF-8 ").decode(" unicode_escape ") #设置编码显示中文
動的記述セクションを変更する方法については、以下の言いました:
pytest-HTML __doc__デフォルト属性は「」「」「で」の内容の関数として、テスト対象の試験方法、すなわち、メモを取得します。
DEF データ(自己、リクエスト): "" " フィクスチャパラメータ """
__doc__動的コンテンツパラメータも可能である渡す。__doc__説明を動的に変更することができます。
一般的な方法:メソッド名.__ DOC __ =「フィクスチャパラメータ」。
方法として:.セルフメソッド名。__func__ .__ DOC = __「パラメーター器具。」メソッドの例には、それ以外の__func__が読み取り専用であるために追加する必要があります。
クラスTestCaseExecution(オブジェクト): "" " Pythonのpytestフレームワークを使用してください 。""" DEF setup_class(自己): 渡す デフ(自己)teardown_class: 合格 param_list = load_case_data()を pytest.fixture(スコープは、@ = ' セッション'、のparams = param_list) DEF データ(自己、リクエスト): "" " フィクスチャパラメータは """ を返すrequest.param DEF :(テストケース自己、データ) self.testcaseを。__func__。=データ[0] [ ' DESC ' ] #の実行YAMLテストケース。 exec_test_case(データ)
この方法では、動的通過記述を使用して。
self.testcase。__func__。__doc__ =データ[0] [ ' DESC ' ]