問題タブ [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.

0 投票する
0 に答える
118 参照

testng-dataprovider - 確実なカスタム レポート コンソール ロギングの変更

私たちの組織では、ユーザーがスプレッドシートからテストを記述できるドメイン固有の言語などの DSL モデルに従い、基盤となる Java コードがそれらの命令を理解して実行します。

ここに問題があります。クラスには、データ プロバイダーを使用する単一のテスト メソッドがあり、ファイルからすべてのテスト メソッドを読み取り、命令を実行します。

当然のことながら、surefire を実行して結果を出力すると、次のように表示されます: Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

TestNGスイート全体の実行時に、システムが Excel の各カスタム テスト メソッドを正当なテスト メソッドとして取得できるように、これを操作する方法はありますか。

私は実際にグループを Junit から TestNG に移行させましたが、彼らは DataProvider 機能がそれを処理できるかどうかを疑問視しており、私はそれに対する応答がありません :(

したがって、基本的には、外部データ プロバイダーを使用して Java メソッド間のバインドを解除する必要がありますが、同時に実行されるテスト メソッドの数は Excel スプレッドシートで提供されているとおりに保持します。あなたが私に何か指示を与えることができれば、それは私にとって最も役に立ちます. ここにスプレッドシートを添付します。

私のJavaファイルにはテストメソッドが1つしかありません:

0 投票する
1 に答える
802 参照

testng - testng dataprovider および iretrylistener データの問題

失敗したテストが新しいテスト データ (dataprovider の元のデータではない) を使用して再試行されるという問題に直面しました。適切な既存のトピックを見逃した場合は、遠慮なく正しい方法を教えてください。

テストメソッドが失敗した場合でも、データプロバイダーメソッドが再試行されていることがわかりました。テスト メソッドのみを (元のテスト データを使用して) 再実行するにはどうすればよいですか?

よろしくお願いいたします。

ここに私のコードのいくつかの部分があります:

テストクラス:

RetryTestListener :

IRetryAnalyzer:

0 投票する
1 に答える
410 参照

java - TestNG データプロバイダーの最適化

私たちのデータ プロバイダーは、渡されたキー値に基づいて Excel ファイルから 1 行のデータを取得するように設計されています。数百に成長するため、テストごとに1回Excelファイルにアクセスすることの影響について懸念があります(はい、Excelファイルにはテストごとに1つの行があります)。

パフォーマンス/リソースの観点から、これは有効な懸念事項ですか? もしそうなら、どのようにそれを測定しますか?(私はMacを使用しています)。

@BeforeClass メソッドを使用して、すべてのデータを Excel ファイルからオブジェクトに簡単にロードし、データプロバイダーにオブジェクトからデータを取得させることができました。しかし、繰り返しになりますが、メモリに大量のデータを保持することのオーバーヘッドがどうなるかはわかりません。

このデータのベスト プラクティスはありますか?

0 投票する
0 に答える
942 参照

testng - Data Provider と並行して Testng テストを実行する

Data Provider と並行して testng テストを実行しようとしています。Data Provider の各入力は、新しいテストになります。
並列実行のために、属性 parallel をデータ プロバイダーに追加し、threadPoolSize を Test に追加しました。私はEclipse実行構成でコマンドライン引数を渡しています -parallel methods -dataproviderthreadcount 2
以下は、これまでに試したコードスニペットです

出力:
id:10 n:1 s:a
id:14 n:5 s:e
id:17 n:8 s:h
id:13 n:4 s:d
id:11 n:2 s:b
id:15 n:6 s:f
id:12 n:3 s:c
id:19 n:10 s:j
id:18 n:9 s:i
id:16 n:7 s:g

入力ごとに新しいスレッドが作成されますが、作成するスレッドは 2 つだけにしたいです。

0 投票する
2 に答える
1370 参照

java - テスト ケースの Selenium Web Driver 並列実行での Stale Element Reference 例外

これは、並行して実行したい Test メソッド f() を含むクラスです。データ プロバイダーは、テスト メソッドに入力を提供します。

これはtestng.xmlです

テスト f() を 2 つのスレッドで並列に実行したい。findElement メソッドの 1 回の繰り返しで古い要素参照の例外が発生します。このスニペットに何を追加するのか誰か教えてもらえますか?

0 投票する
1 に答える
538 参照

testng - TestNGで同じテストメソッドにパラメーターとデータプロバイダーを渡すことは可能ですか?