pytestシリーズのユースケース作成ルールとユースケース実行メソッド

一緒に書く習慣を身につけましょう!「ナゲッツデイリーニュープラン・4月アップデートチャレンジ」に参加して10日目です。クリックしてイベントの詳細をご覧ください

1.pytestの紹介

Pytestは非常に成熟したPythonユニットフレームワークであり、unittestよりも柔軟性があり使いやすいです。

Pytestは、Selenium、Requests、およびAppiumと組み合わせて、Web自動化、インターフェース自動化、およびAPP自動化を実現できます。

pytestはテストケースをスキップして失敗したケースを再試行できます

pytestとallureは、非常に美しいテストレポートを生成できます

pytestはJenkinsと継続的に統合できます

pytestには非常に強力なプラグインが多数あり、これらのプラグインは多くの実用的な操作を実現できます

一般的に使用されるプラグインは次のとおりです。

pytest-html:HTML形式で自動テストを生成します

pytest-xdist:テストケースの分散実行、マルチCPU同時実行

pytest-ordering:テストケースの実行順序を変更するために使用されます

pytest-rerunfailures:テストが失敗した後に再実行します

allure-pytest:美しいテストレポートを生成するため

2.ユースケース作成ルール

2.1モジュールの命名規則

モジュール名は、テストとアンダースコアで始まるか、アンダースコアとテストで終わる必要があります

2.2テストクラスの命名規則

テストクラス名はTestで始まる必要があり、initメソッドを持つことはできません

2.3試験方法の命名規則

テストメソッドは、テストアンダースコアで開始する必要があります

3.ユースケースの仕組み

3.1主な機能は実行されます

3.1.1すべてのユースケースを実行する

pytest.main()
复制代码

3.1.2指定されたモジュールを実行するためのユースケース

pytest.main(['-vs', 'test_login.py'])
复制代码

3.1.3指定されたディレクトリでユースケースを実行します。

pytest.main(['-vs', './interface_testcase'])   
复制代码

3.1.4modeidを実行するユースケースを指定します

nodeidは、モジュール名、セパレーター、クラス名、メソッド名、関数名で構成されます

3.1.4.1指定されたモジュールで指定されたユースケースを実行する

pytest.main(['-vs', './interface_testcase/test_interface.py::test_04_func'])
复制代码

3.1.4.2指定されたモジュールの下で指定されたテストクラスの下で指定されたユースケースを実行する

pytest.main(['-vs', './interface_testcase/test_interface.py::TestInterface::test_03_zhiliao'])
复制代码

3.2コマンドラインモード

3.2.1すべて実行

pytestを直接実行する

3.2.2指定されたモジュールを実行するためのユースケース

pytest -vs test_login.py`
复制代码

3.2.3指定されたディレクトリでユースケースを実行します

pytest -vs ./interface_testcase
复制代码

3.2.4modeidを実行するユースケースを指定します

5.2.4.1指定されたモジュールで指定されたユースケースを実行する

pytest -vs ./interface_testcase/test_interface.py::test_04_func
复制代码

3.2.4.2指定されたモジュールの下で指定されたテストクラスの下で指定されたユースケースを実行する

pytest -vs ./interface_testcase/test_interface.py::TestInterface::test_03_zhiliao
复制代码

3.3 pytest.ini構成ファイルを読み取って実行する(最も一般的な方法)

pytest.iniファイルは、pytestユニットテストフレームワークのコア構成ファイルです。

3.3.1場所

通常、プロジェクトのルートディレクトリにあります

3.3.2エンコーディング

ANSIである必要があります。notepad++を使用してエンコード形式を変更できます

3.3.3機能

pytestのデフォルトの動作を変更します

コンテンツの例は次のとおりです。

[pytest]
addopts = -vs # 命令行的参数,用空格分隔
testpaths = '../pytest_project' # 测试用例的路径
python_files = test*.py # 模块名的规则
python_classes = Test* # 类名的规则
python_functions = test # 方法名的规则
复制代码

実行ルール:実行中のメイン関数であるかコマンドラインモードで実行されているかにかかわらず、この構成ファイルを取得して読み取ります

おすすめ

転載: juejin.im/post/7085503482542686244