問題タブ [testng-dataprovider]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - @DataProvider 内の @Parameters を使用してメソッドを呼び出す Java TestNG
@DataProviderを使用してデータを取得しようとしています。これはObject[][]
、別のメソッドを呼び出して値を貼り付けているを返します。このメソッドは、@Parametersを使用して XML から値を取得します。
問題は、@DataProviderが value を渡して@Parametersで必要なメソッドを呼び出しているNullPointerException
ため、 @ Parametersがこの値を XML から適切な値に変更することを期待しているためです。同時に、引数を渡さないでメソッドを呼び出すことはできません。null
コード:
クラスTestSuite
クラスConfig
クラスDataProviders
クラスParametrizedFunctions
ここでは、@Parameters({"extensionsArray"})
XML ファイルから値を提供しません。null
メソッドを呼び出すための引数として渡された を受け取るだけgenerateRandomFileNameWithExtension()
です。同時に、呼び出されたメソッドに引数を渡さずに@DataProviderからこのメソッドを呼び出すことはできません。
あなたの提案を願っています。
java - パラメータを使用して Test メソッドから Dataprovider を呼び出す方法
私の質問: いくつかのロジックが必要なので、@Test を実行するときに、データのファイル パス、シート名、テーブル名を動的に渡す必要があります。これにより、同じデータ プロバイダーを使用でき、作業するデータの異なるセットが得られます。
注: データ プロバイダーは、Excel で指定されたデータのハッシュ テーブルの形式で、テーブル名を含む表形式で返します。したがって、ワークシート パス、シート名、およびテーブル名がデータ プロバイダーに渡されると、DP はそのテーブルを読み取り、データ テーブル全体をハッシュ テーブルの形式で返します。
testng - データプロバイダーは @BeforeTest にデータを渡すことができますか
dataprovider が @Test と一緒に @BeforeTest にデータを渡すことができるかどうかを知りたいです。私はいくつかのデータを @BeforeTest に渡し、いくつかの操作を実行するスクリプトに取り組んでいます。可能であれば、親切にロジックを共有してください。ありがとうございました
testng - @Test を 1 回だけ実行する方法
私はデータ駆動型テストに取り組んでいますが、現在 @Test に固執しています。データを 2 つの異なるデータ プロバイダーに渡し、いずれかの @test を 1 回だけ実行したいと考えています。どうすればこれを達成できますか。以下は私の状況を説明する同じコードです
ここで、最初に @Test を実行して 1 回だけ実行したいのですが、これを可能にする方法はありますか?
java - @DataProvider を使用して @test を異なるパラメーターで実行しようとしていますが、例外が発生します
パラメータを @test に渡して、異なるデータで複数回実行したいと考えています。だから私は2次元オブジェクト配列を返す@DataProviderを使用しています。私は1次元の文字列を持っているので、最初にそれを2次元配列に変換してから、オブジェクトに値を割り当てています。. しかし、次の例外が発生します。
パラメータを @test メソッドに順番に渡す方法を教えてください。
java - @Test アノテーション TestNG から文字列を取得
TestNG アノテーションから文字列を取得し、@Test(groups="Foo")
これを動的に生成するフォルダーの名前として使用しようとしています。
"Foo"
TestNG アノテーションからテキストを取得して使用するにはどうすればよいですか?
java - さまざまなパラメーターを使用して、TestNG でテスト クラス全体を繰り返します
Selenium webdriver を使用してサイトをテストするためのこのコードがあります。4 つの@Test
メソッドと、@DataProvider
3 つの値を持つ a があります。したがって、合計で 12 個のテストが実行されます。
現在、これらのテストは Chrome で実行されています。しかし、Firefox と Internet Explorer で、すべてのデータ プロバイダーのバリエーションを使用して、これらすべてのテストを繰り返したいと考えています。これらの他の Web ドライバーに対してテストのクラス全体を繰り返すにはどうすればよいですか? @DataProvider
クラス全体(beforemethodの場合)が必要なようです。
testng - FactoryではなくTestNGデータプロバイダーを使用する場合、ITestは機能しますか
ITest インターフェイスを使用して、データ プロバイダーからのテストのカスタム名 (Jenkins レポート用) を取得しようとしています。gettestname() メソッドがどの時点で TestNG によって呼び出されるかを理解するために、以下のようなサンプル プログラムを試しました。
出力とプログラムを貼り付けます。
以下に示すように、出力はわかりにくく、テスト名が「null」になっている場所もあります。だから私の質問は、 Itest が dataprovider で使用するように設計されているかどうかです? また、parallel=true を使用して以下の dataprovider を実行すると、メンバー 'testName' がスレッド間で共有され、クラスのインスタンスが 1 つしか実行されないため、さらに混乱します。
ファクトリを使用している場合、テストメソッドを実行するたびに新しい TestClass が呼び出されるため、 @factory で ITest を使用できることがわかります。問題はありません。
出力:
出力 [parallel=true の場合]
コード:
selenium - @Test で注釈が付けられていないか含まれていない
同じパッケージの下に 2 つのクラスを作成しましdependsOnMethods
たPreparation
。
エラーは次のとおりです。
com.selenium.scripts.passkey.regression.delegateprofile.DProfile.TC_01() はメソッド public void com.selenium.scripts.passkey.regression.delegateprofile.Preparations.TC_02() に依存しており、@Test で注釈が付けられていないかどうか含まれています。
java - TestNG: すべてのメソッドに対してデータ プロバイダーを 1 回初期化する
現在、同じデータ プロバイダーを使用する複数のメソッドを持つテスト クラスがあります。testng がさまざまなメソッドをループするたびに、データ プロバイダー メソッドが再計算されます。データ プロバイダーを 1 回実行する方法はありますか?
ありがとう!
ジェイソン