Pytestをゼロから学びたい場合は、このシリーズの記事をチェックしてください!
https://www.cnblogs.com/poloyy/category/1690628.html
公式紹介
- Allure Frameworkは、柔軟で軽量な多言語テストレポートツールであり、テストされたコンテンツを簡潔なWebレポートの形式で非常に簡潔に表示できるだけでなく、開発プロセスに関わるすべての人が日常のテストから最も有用性を引き出すことができます。お知らせ
- 開発/品質保証の観点から、Allureレポートは一般的な欠陥のライフサイクルを短縮できます。テストの失敗は、バグと損傷のテスト、ログ、ステップ、フィクスチャ、アタッチメント、タイミング、履歴、TMSに分類できます。統合およびバグ追跡システム。責任ある開発者とテスターがすべての情報を入手できます。
- マネージャーの観点から、Allureは、カバーされた機能、欠陥の収集場所、実行スケジュールの外観、その他多くの便利なものをカバーする明確な「グローバル」を提供します
- Allureのモジュール性とスケーラビリティにより、常に何かを微調整して、Allureをより適切なものにすることができます。
個人紹介
- 管理については、テストレポートはもちろん、より直感的で簡潔で、データがより明確であり、Allureは上記の多くの点を満たし、pytestとよく統合されています
- pytest-htmlと比較して、Allureのレポートは本当に完璧です!!
- 唯一の欠点は、拡張機能がテストケースセットにデコレータを追加する必要があることです。
プラグインをインストール
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を使用 すると、右側のパラメーターで渡されるパラメーターと対応する値を確認できます
- セットアップ:フィクスチャの事前操作を呼び出します
- 分解:フィクスチャ後操作を呼び出します
アリュールレポートの構造