Pytestシリーズ(18)-超美しいテストレポートプラグインのallure-pytestの基本的な使用法

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

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

 

公式紹介

  1. Allure Frameworkは、柔軟で軽量な多言語テストレポートツールであり、テストされたコンテンツを簡潔なWebレポートの形式で非常に簡潔に表示できるだけでなく、開発プロセスに関わるすべての人が日常のテストから最も有用性を引き出すことができます。お知らせ
  2. 開発/品質保証の観点から、Allureレポートは一般的な欠陥のライフサイクルを短縮できます。テストの失敗は、バグと損傷のテスト、ログ、ステップ、フィクスチャ、アタッチメント、タイミング、履歴、TMSに分類できます。統合およびバグ追跡システム。責任ある開発者とテスターがすべての情報を入手できます。
  3. マネージャーの観点から、Allureは、カバーされた機能、欠陥の収集場所、実行スケジュールの外観、その他多くの便利なものをカバーする明確な「グローバル」を提供します
  4. Allureのモジュール性とスケーラビリティにより、常に何かを微調整して、Allureをより適切なものにすることができます。

 

個人紹介

  1. 管理については、テストレポートはもちろん、より直感的で簡潔で、データがより明確であり、Allureは上記の多くの点を満たし、pytestとよく統合されています
  2. pytest-htmlと比較して、Allureのレポートは本当に完璧です!
  3. 唯一の欠点は、拡張機能がテストケースセットにデコレータを追加する必要があることです。

 

プラグインをインストール

pip3 install allure-pytest -i http:// pypi.douban.com/simple/ --trusted-host pypi.douban.com

 

クイックスタート

これは実行中のコードのパッケージ構造です

プロジェクトフォルダ名です
15allure 
│conftest.py 
│test_1.py __init__ の.py 
├─test_51job 
││conftest.py 
││test_case1.py 
││   __init__ の.py 
├─test_toutiao 
││test_case2.py 
├─ test_weibo 
││conftest.py 
││test_case3.py 
││   __init__ の.py 

 

最も外側のconftest.py

外层conftest.py 

@ pytest.fixture(scope = " session " def login():
     print" ==== Login function、return account、token === " 
    name = " testyy " 
    token = " npoi213bn4 " 
    収量名、トークン
     印刷" ====ログアウト!!!!!! "
コードを表示

 

最も外側のtest_1.py

import pytest 


@ pytest.mark.parametrize(" n "、list(range(5 )))
 def test_get_info(login、n):
    sleep( 1 
    name、token = login
     print" ***基本的な使用例:ユーザーの個人的な取得情報*** " 、n)
     print(f " ユーザー名:{名前}、トークン:{トークン} "
コードを表示

 

test_51jobパッケージのconftest.py

import pytest 


@ pytest.fixture(scope = " module " def open_51(login):
    name、token = login
     print(f " ### user {name} open 51job website ### "
コードを表示

 

test_51jobパッケージのtest_case1.py

from time import sleep 

import pytest 


@ pytest.mark.parametrize(" n "、list(range(5 )))
 def test_case2_01(open_51、n):
    sleep( 1 print" 51job、list all job use case " 、n )


@ pytest.mark.parametrize(" n "、list(range(5 )))
 def test_case2_02(open_51、n):
    sleep( 1 print" 51job、find all python position "、n)
コードを表示

 

test_toutiaoパッケージのtest_case2.py

from time import sleep 

import pytest 


@ pytest.mark.parametrize(" n "、list(range(5 )))
 def test_no_fixture(login、n):
    sleep( 1 print" == no __init__ test case、I見出しを入力しました== "、ログイン)
コードを表示

 

test_weiboパッケージのconftest.py

import pytest 


@ pytest.fixture(scope = " function " def open_weibo(login):
    name、token = login
     print(f " &&& user {name} return to Weibo homepage &&& "
コードを表示

 

test_weiboパッケージのtest_case3.py

from time import sleep 

import pytest 


@ pytest.mark.parametrize(" n "、list(range(5 )))
 class TestWeibo:
     def test_case1_01(self、open_weibo、n):
        sleep( 1 print" View Weibo Hot Search " 、n)

    def test_case1_02(self、open_weibo、n):
        sleep( 1 print" View Weibo Fan Bingbing "、n)
コードを表示

 

コマンドを実行する

Allureがテスト実行中にテスト結果を収集できるようにするには、単に--alluredir  オプションを追加し  、結果を保存するフォルダーへのパスを指定します

pytest -n auto --alluredir =ペース

 

結果の結果

ご覧のとおり、これは私たちが望む結果ではありません。たくさんのjson、txtファイル...

 

テストの完了後に実際のレポートを表示するには、Allureコマンドラインを使用して、テスト結果でレポートを生成できるようにする必要があります。

アリュールサーブ

次に、生成されたレポートがデフォルトのブラウザに自動的に表示されます

 

スイートの表示(機能レベルのテストケース)

パッケージ名-モジュール名-テストケースから

 

スイートの表示(クラスレベルのテストケース)

パッケージ名-モジュール名-クラス名-テストケースから

 

テストケースの詳細を表示する

  • parameters@ pytest.mark.parametrizeを使用   すると、右側のパラメーターで渡されるパラメーターと対応する値を確認できます
  • セットアップ:フィクスチャの事前操作を呼び出します
  • 分解:フィクスチャ後操作を呼び出します 

 

アリュールレポートの構造

  • 概要:概要
  • カテゴリ:カテゴリ、デフォルトは失敗とエラーに分けられます。すべての実行結果はカテゴリの1つに分類され、失敗したエラーとエラーのユースケースをここからすばやく確認できます
  • スイート:すべてのユースケースの階層関係であるテストスイート。パッケージ、モジュール、クラス、メソッドに従ってユースケースを見つけることができます。
  • グラフ:ユースケースの実行結果、優先度、時間がかかるなどの分布グラフを含む、グラフィカルなテスト結果。
  • タイムライン:実行時間を含む、テストケースの正確なテストタイミング(実行順序)を確認できます
  • 行動:行動主導、叙事詩、機能、ストーリーに従ってグループテストケース(後で説明します)
  • パッケージ:パッケージとモジュールに従ってテストケースをグループ化します。
 

 

おすすめ

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