Pytestシリーズ(20)-pytestと組み合わせたAllure.allure.step()、allure.attachの詳細な使用

Pytestをゼロから学びたい場合は、このシリーズの記事をチェックしてください!

https://www.cnblogs.com/poloyy/category/1690628.html

 

序文

pytestの機能(fixture、parametrize、xfail、skip)のサポートに加えて、alure自体にもpytestで使用できる強力な機能があります。

 

@ allure.step 

  • アリュールレポートの最も重要なポイントは、各テストケースの非常に詳細な手順を可能にすることです。
  • @ allure.step()  デコレータ、あなたはテストケースは、より詳細なテストプロセスの魅力レポートを表示することができます

 

サンプルコード

!/ usr / bin / env python -*-coding:utf-8-*- 

"" " 
__title__ = 
__Time__ = 2020-04-08 21:24 
__Author__ = small pineapple test notes 
__Blog__ = https:// www。 cnblogs.com/poloyy/ 
"" " 
import allure 


@ allure.step(" first step " def passing_step():
     pass 


@ allure.step(" second step " def step_with_nested_steps():
    nested_step()


@allure。ステップ(" 第三のステップ" DEF nested_step():
    nested_step_with_arguments( 1、。ABC ' 


@ allure.step(" 第四步{0}、{ARG2} " DEF nested_step_with_arguments(ARG1、ARG2):
     パス


@ allure.step(" 第五步" DEF test_with_nested_steps():
    passing_step()
    step_with_nested_steps ()

 

アリュールのテストケースの表示

知識ポイント

  •  ステップ()に  は、タイトル、渡すもの、魅力に表示されるものの1つのパラメーターしかありません。
  • Pythonの文字列のようにすることができ、位置パラメータとキーワードパラメータ{0}、{arg2}をサポートします。4番目のステップを確認できます。関数のパラメータが一致しない場合、エラーが発生します
  •  ステップ()  の使用シナリオは、メソッド間でネストする場合により有用であると感じます。そうしないと、下の図のように、1つのステップしか表示されません。

 

allure.attach(非常に便利)

機能:アリュールレポートは、さまざまな種類の添付ファイルの表示もサポートしているため、テスト結果を補完でき、必要なものをすべて出力でき、非常に優れています

语法: allure.attach(body、name、attachment_type、extension) 

パラメータリスト

  • body:表示されるコンテンツ(添付)
  • 名前:添付ファイル名
  • attachment_type:添付ファイルの種類は、ある  allure.attachment_type  1つの内部には、
  • extension:添付ファイルの拡張子(あまり使用されません)

 

allure.attachment_typeによって提供される添付ファイルのタイプは何ですか?

 

構文2:  allure.attach.file(ソース、名前、attachment_type、拡張子) 

ソース:ファイルパス、ファイルの転送と同等

他のパラメータは上記と同じです

 

テストケースの1つのコード

!/ usr / bin / env python -*-coding:utf-8-*- 

"" " 
__title__ = 
__Time__ = 2020-04-08 21:24 
__Author__ = small pineapple test notes 
__Blog__ = https:// www。 cnblogs.com/poloyy/ 
"" " 
インポートアリュール
 インポートpytest 


@ pytest.fixture 
def attach_file_in_module_scope_fixture_with_finalizer(request):
    allure.attach(' アタッチメントをフィクスチャ操作前のテキストに追加'' フィクスチャフロントアタッチメント' 、allure.attachment_type .TEXT)

    def finalizer_module_scope_fixture():
        allure.attach('TXTは、後部取付具で取り付け作業を追加します'' 固定具后置附件' 
                      allure.attachment_type.TEXT)

    request.addfinalizer(finalizer_module_scope_fixture)


DEF test_with_attacments_in_fixture_and_finalizer(attach_file_in_module_scope_fixture_with_finalizer):
     合格


DEF test_multiple_attachmentsを():
    allure.attach(' <HEAD> </ HEAD> <BODY>一个HTML页面</ body> '' HTMLタイプで添付' 、allure.attachment_type.HTML)
    allure.attach.file(' ./reports.html '、attachment_type = allure.attachment_type.HTML)

 

実行後に結果を確認する

これはtxt添付ファイルです

 

 

これが使用され  allure.attach()  書き込みに、独自のHTMLおよび挿入する  allure.attach.fileを()  既存のHTMLファイルをインポートする(pytest-HTMLレポートを)

 

おすすめ

転載: www.cnblogs.com/poloyy/p/12716659.html