問題タブ [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.
selenium - 1 つの特定のデータのテスト ケースに失敗し、TestNG で同じスクリプトを実行し続ける方法
「n」個のデータに対して実行されるテスト スクリプトがあります。これを使用して実行しています。特定の 1 つのデータに対してテストが失敗したときにテスト ケースを失敗させてから、テスト全体を実行するのが@DataProvider
問題です。"Assert"
スクリプトが停止します。1データで失敗しても実行し続けてほしい。どうすればできますか?誰でも助けることができますか?ありがとう !!
multithreading - TestNG の @BeforeClass は parallel = instances と並行して実行されません
単一の @Test メソッドを持つテスト インスタンスを作成する testng ファクトリがあります。testng.xml に「parallel=instances」、thread-count=「10」を指定すると、@BeforeClass が並列実行されることを期待します。一方、他のスレッドの @BeforeClass は、現在の @BeforeClass の実行が完了するまで実行時にブロックされます。つまり、「In Before Class」を 2 秒間隔で順番に出力します。
ここで何が欠けていますか?
ここに私のテストコードがあります -
java - Data Provider と TextNG XML を一緒に使用する
TestNG XML
Excel シートからデータ プロバイダーと統合する方法がわかりません。
テスト レベルからテストを実行すると、テストが正常に実行されるため、コード データ プロバイダーの構文が正しいことを確認しました (以下を参照)。
ただし、TestNG XML
構成を使用してデータプロバイダーを実装しようとすると (複数のブラウザーに対してユーザー名とパスワードを実行しようとしています)、Java IOException が発生し、(それらはかなりあいまいな場合があるため) 続行する方法がわかりません。
before メソッドとTestNG XML
.
助けてくれてありがとう!
testing - @DataProvider メソッドで @Test メソッドのパラメータを取得するには?
DataProvider メソッドで Test メソッドのパラメータ名を取得したいと考えています。DataProvider で使用method.getParameterTypes()
することで、Test メソッドで渡される param のクラスを取得できますが、名前が必要です。
これらの名前を使用して Excel ファイルからデータを取得できるため、これが必要です。
testng - @factory を使用して依存テストメソッドを実行する
シナリオ:-
私のテストデータは 1) 文字列 A 2) 文字列 B 3) 文字列 C
今、私はデータプロバイダーとファクトリを持ち、データプロバイダーは文字列として3つの値を持つクラスを持っています
必要な出力
AこんにちはA
BYEA
はいA B
こんにちは
B
BYEB はい
B
C
こんにちは
C
BYEC
はい
selenium - テストクラスを順次実行する TestNG ファクトリ
TestNG @Factory クラス、ドライバーを作成する基本クラス、およびテストを実行するための複数の @Test メソッドを含む 2 つのテスト クラスがあります。以下の @Factory クラスが与えられます。
IndTest
とIndTest2
は 2 つのテスト クラスです。基本クラスを拡張し、基本クラスのコンストラクターを呼び出してドライバーを作成します。特定のデバイス ID に対して特定の時点で使用できるドライバーのインスタンスは 1 つだけです。
私が直面している問題は、IndTest と IndTest2 の両方が同時に実行されていることです。テストは特定のデバイスで同時に異なるテストを実行しようとします。最初に IndTest クラスを呼び出して、デバイス 1 とデバイス 2 のそのクラス内でテストを実行し、次に IndTest2 に移動して同じ種類の実行を実行する必要があります。以下は、私が現在使用している TestNG xml です。
あなたのアイデアを待っています:)
selenium-webdriver - SeleniumでTestngを実行すると、このエラーが発生します
データ プロバイダーは、クラスではなくまたはをpublic java.lang.Object[] as.get()
返す必要がありますObject[][]
Iterator<Object>[]
java.lang.Object;
java - testng method 内に testng クラスがあり、リフレクションを介して別のメソッドを呼び出すと、testng レポートにログインできません
コードサンプル:
Test1 クラスは、Test2 クラス メソッドの実行を担当する親クラスになります。
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method;
org.testng.annotations.Test をインポートします。
パブリック クラス Test1 {
}
Test2.class コード:
org.testng.Assert をインポートします。
パブリック クラス Test2 {
ここでは、この例のように、アサーションは失敗するはずですが、テストレポートは合格として報告されています。