TestNGパラメータとDataProviderアノテーションのボックス化を解除

古い&信頼性の高いJUnitテストフレームワークとは異なり、TestNGは現代のテスト自動化ツールです。 データ駆動型テストのサポートが組み込まれており、TestNGパラメータとDataProviderアノテーションを介してテストケースにデータを提供する二つの方法を提供します。

これら二つの注釈の追加により、TestNGフレームワークは、その前身が持っていた大きなギャップを埋めました。 これらの注釈の1つは、テストケースで固定データ値を使用する機能を追加しますが、もう1つはExcelやプロパティファイルなどの外部データソースから値

次のセクションでは、TestNGパラメーターとDataProviderアノテーションの両方の実際の使用方法について、ready to run examplesを使用して説明します。

Learn–TestNGパラメータとDataProviderアノテーション

パラメトリックテストの利点

先に進む前に、データ駆動型/パラメトリックテストの利点を理解 これらの両方の機能を備えたテスト自動化ツールでは、次のケースを効率的に処理できます。

  • ビジネス要件ごとに大きなデータセットを処理します。
  • 異なる値で同じテストを何度も繰り返し実行します。TestNGプロジェクトで<@Parameters>アノテーションをいつ、どのように使用できるかを見てみましょう。

    @Parameters Annotation

    このアノテーションの助けを借りて、テストメソッドに単一のパラメータ値と複数のパラメータ値を許可することができます。

    パラメータテストに使用できます。 データが小さく、テストケースのために固定されている場合は、お勧めします。

    例–@Parametersアノテーション

    以下の手順に従って、<@Parameters>アノテーションを使用します。新しいJavaクラスを作成し、その名前を<ParametersTestingとします。Java>。 クラスに次の2つのメソッドを追加します。

    i-OpenBrowser()

    • 単一の文字列型パラメータ、つまりbrowserNameを取ります。
    • アノテーション@Parameters(“BrowserName”)をこのメソッドに追加します。

    ii-FillLoginForm()

    ステップ-2

    以下はテストです。テストメソッドに関連付けられたパラメータを持つXMLファイル。これで、<TestNGを実行します。XML>ファイル。 Eclipse IDEからXMLファイルを右クリックし、「Run As>>TestNG Suite」オプションを押します。 実行後、出力は下のスクリーンショットのように表示されます。

    TestNGパラメータとDataProvider注釈–パラメータテスト

    TestNGについてのもう一つの興味深い事実は、@Optional注釈を使用してオプショ

    @Optional Annotation

    TestNGでは使用できないパラメータのオプション値を指定するために使用できます。XMLファイル。

    例–@Optional Annotation

    以下の@Optional annotationの例を参照してください。P>

    TestNG XML

    ここでは”TestNGです。上記の例に関連付けられたXML”。上記の<testngから確認できます。xml>それはそれで定義された二つのテストメソッドを持っているファイル。 最初のテストにはパラメータがありませんが、2番目のテストでは”optional-value”という名前のパラメータが指定されています。”

    出力:

    <testngを実行した後。xml>テストスイートとして、出力は次のようになります。

    テスト結果を観察すると、TestNGは最初のテストメソッドの実行中にオプションの値を使用しました。 これは、TestNGが最初のテストのXMLファイルで”optional-value”という名前のパラメータを見つけることができなかったために発生しました。 しかし、2番目のテストでは、テストの実行中にも出力されるパラメータ値を解決しました。メモのために、before/After、Factory、およびTest注釈付きメソッドのいずれかでパラメータ注釈を使用できます。 さらに、変数を設定し、クラス、テスト、またはテストスイートで使用するためにそれを利用することができます。

    @DataProviderアノテーション

    データプロバイダは、データ駆動型テストをサポートする別のアノテーションです。 これを使用すると、次のような広範囲の複雑なパラメータを処理できます。

    • Javaオブジェクト
    • データベースからのオブジェクト
    • Excelまたはプロパティファイルからのデータ

    @DataProviderアノテーションに関するファクト

    • このアノテーションには、その名前である文字列属性が1つあります。 名前を指定しない場合、メソッドの名前がデフォルトの名前として機能します。
    • データプロバイダメソッドは、オブジェクトの2次元リストを準備して返します。
    • データドリブンテストは、データプロバイダオブジェクトで指定されたデータセットごとに一度実行されます。

    @DataProviderアノテーションの使用方法

    データ駆動型テストにデータプロバイダアノテーションを使用するために必要な手順を見てみましょう。新しいJavaクラス、たとえばDataProviderTestを作成します。ジャワ。

  • <@DataProvider><@Test(dataProvider=”データプロバイダの名前”)>を使用して装飾します。

データプロバイダーアノテーションをより明確にするために、以下のコード例を非常に慎重にお読みください。 このコード例では、データプロバイダーの3つの異なる使用法を示しています。

  • データプロバイダを使用してJava integerオブジェクトを渡す
  • データプロバイダを使用してJava beanオブジェクトをストリーミングする

@DataProviderアノテーションを使用する例

TestNG XMLファイル

上記のコードをEclipseからTestNGテストとして実行することができます。 または、<TestNGを生成できます。XML>してから、XMLファイルをTestNGスイートとして実行します。

Output:

上記のコードをテストまたはテストスイートとして実行すると、次の出力が表示されます。 下記のスニペットからご確認ください。

Final Word–TestNG Parameters and DataProvider

TestNG Parameters and DataProviderアノテーションとその例についてできる限りカバーしようとしました。 ただし、別の投稿で説明する他の多くのデータプロバイダのユースケースがあります。 それまでは、この記事を読んで楽しみ、ソーシャルメディア上でそれを共有しています。p>

すべての最高の、

TechBeamers

コメントを残す

メールアドレスが公開されることはありません。