問題タブ [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.
batch-file - TestNG dataProvider の順序を変更する方法
大規模な公開システムに対して何百ものテストを実行しており、TestNG を使用してテストを並列化したいと考えています。ただし、これを行う簡単な方法が見つかりません。各テスト ケースは、このパブリッシャーのインスタンスをインスタンス化し、いくつかのメッセージを送信し、それらのメッセージがパブリッシュされるのを待ってから、パブリッシュ キューの内容をダンプし、予想される結果と比較します。非常に多くのテストでこれを行う (スレッドを使用して並列化しても、完了するまでに非常に長い時間がかかります (1 日以上))。
この種のシステムをテストする際には、システムを一度起動し、すべてのテストを実行してメッセージを送信し、発行が完了するのを待ち、すべての出力をダンプし、出力をテストと照合して検証するのが最善であることがわかりました。たとえば、次の代わりに:
次のようなことをしたかったのです。
dataProvider を使用してすべてのテストを実行してからsendMode = true
実行dumpAllRules()
し、続いて ですべてのテストを再度実行しsendMode = false
ます。sendMode = true
問題は、 TestNGが同じメソッドを 2 回呼び出すことsendMode = false
です。TestNGでこれを達成する方法はありますか?
ありがとう!
testng - dataproviderに基づいてテスト実行を並べ替える方法は?
TestNG @DataProviderを使用すると、次の順序でテストがトリガーされます。
dataproviderが戻ると仮定すると{ [0], [1], [2] }
、TestNGは次のように実行されます。
テストをこの順序で実行するようにトリガーする方法はありますか?
あなたの助けに千の感謝!
testng - TestNG - クラスレベルのテストアノテーションでのデータプロバイダー
ここで私のシナリオを説明して、私が何を望んでいるのかが明確になるようにします。
クラス内にいくつかのテストを実行する一連のメソッドがあります。それらはすべて互いに関連しており、順番に実行する必要があるためDependsOnMethod
、@Test
注釈に含まれています。また、テストごとに 7 つの値を返すa も使用してDataProvider
います (n 行と 7 列)。このデータ プロバイダーをメソッド レベルに配置すると、すべての行が読み取られ、使用可能なすべてのデータ セットでメソッド 1 が実行され、次のメソッドに移動します。
このシーケンスを変更したい、メソッド 1 (データ セット 1)、メソッド 2 (データ セット 1)、メソッド 1 (データ セット 2) を実行したい ... これは多くの人が抱く疑問です。この質問を再度投稿する理由は、提案されたアイデアをすべて試したからです。
Factoryアノテーションを使用すると、Eclipseでテストがまったく開始されず、NullPointerException
. @BeforeClass
ファクトリ アノテーションを使用すると実行されないアノテーションを使用します。クラスのコンストラクタにこのファクトリ アノテーションを付けています。
testng.xml ファイルでフラグを試しましたgroup-by-instance
が、それも失敗します。同じ順序でテストが実行されます。
誰かが私のために正しい順序でこの全体を説明できますか? 可能であれば、これは達成できると確信していますが、どこかで何かが欠けていると思います。
これに関するヘルプは大歓迎です。
PS 私は Java が苦手で、ここ 2 ~ 3 週間は TestNG を使用しています。
ありがとう、ジョン
java - TestNG データプロバイダーの Web サイトがブロックされているのはなぜですか?
TestNG、Selenium Grid を使用し、@dataprovider
注釈を使用して Excel シートからテストケースの値を読み取ります。同じフィールド名などを使用して同じ製品を提供する 2 つのサイトをテストしていますが、ブランド名が異なるだけです。
サイト A は問題なく処理されますが、サイト B は自動化スクリプトが実行されていることを認識しているようで、連絡先画面にリダイレクトされ、テスト ケースを完了できません。手動でログオンすると、問題なく続行できます。
@dataprovider
私の質問は、注釈を使用したデータ インジェクションの使用を防ぐことができるツールはありますか?もしそうなら、それらを回避する方法はありますか?
testng - testNG とデータ プロバイダーを使用したデータ名とオブジェクト名の両方のパラメーター化
オブジェクト名とそれに対応する値を Excel シートから渡すハイブリッド フレームワークを作成しようとしています。これが私がやりたいことです
- フィールド名: オブジェクトを識別するための Xpath または ID が含まれます。
- タイプ: テキスト ボックスやリスト ボックスなどのタイプが含まれているため、IF ループを使用してオブジェクトの各タイプを適切に処理できます。
- 値 1..3..: テスト (オブジェクト) を実行したいさまざまな値。
データプロバイダーを使用してこれを行うにはどうすればよいですか。理想的には、異なるデータ値を使用している間、最初の 2 つの列は一定である必要があります。また、データプロバイダーは配列を行ごとに読み取っているようです。これが初歩的な質問である場合は申し訳ありません。
testing - TestNG - DataProvider で AnnotationTransformer を使用することは可能ですか?
私は TestNG を使用して機能テストを作成しており、データが異なる類似のテストが数十あります。DataProvider を使用してコードの繰り返しを減らしたいと考えています。
ただし、これらのテストの一部は成功し、一部は失敗します (既知の欠陥が原因で)。失敗したテストが修正されるまで無効にして、テスト実行の全体像を損なわないようにしたいと考えています。
AnnotationTransformer がテスト アノテーションを動的に変更できることがわかりました。AnnotationTransformer は、一部のデータ セットでのみテストを無効にできますか? または、提供されたすべてのデータでテストを無効にし、何も変更しない方がよいでしょうか?
前もって感謝します。
java - 条件付きのデータプロバイダーの使用
特定の条件に基づいてデータプロバイダーからデータを取得する方法はありますか? 何かのようなもの..
またはそのようなもの..
selenium-webdriver - Selenium テスト ケースを使用した手動テスト ケース マッピング
各テスト ケースに関連付けられた一意の ID を持つ Excel ファイルに記述された手動テスト ケースがあります。Selenium Webdriver+TestNG を使用して、これらのテスト ケース用に記述されたテスト メソッドがあります。
次のことについてサポートが必要です: 1.手動テスト ケース ID を自動テスト ケースにどのようにマッピングすればよいですか? 2.手動テスト ケースの発生順に自動テスト ケースを実行する必要があります。
前もって感謝します!
eclipse - Excel からデータを渡すための TestNG の DataProvider
Eclipse と TestNG で Selenium2 (WebDriver) の学習を開始しました。DataProvider について質問があります。たとえば、ユーザー、パスワード、ログインボタンを含むログインページがあります。TestNG でテストを作成しました。UIオブジェクト(別のクラスを持つ)にpageobjectを使用し、別のクラスで実際のテストを使用しました。
ここで、glogin はクラスであり、login は要素の検索とキーの送信が行われる関数であり、これは TestNG アノテーションを持つ別のクラス gtest (メイン テスト) で呼び出されます。
値を取るメイン スクリプトでそのクラスにアクセスします。
私は次のExcelシートを持っています
dataprovider を使用して Excel シートから配列としてデータを取得し、それを Test で使用すると、次のエラーが表示されます。
どんな助けでも本当に感謝しています。
Dataprovider で注釈が付けられたメソッドのコードは次のとおりです。
テストを実行すると、次のようにExcelからデータを受け取りました
出力として
excel - 複数のデータセットに対してtestNGデータプロバイダーを使用してExcelシートを反復処理するにはどうすればよいですか?
私はしばらくの間TestNgを使用してきましたが、理解できないような新しい要求があります。
次のようなExcelファイル(sample.xls)、シート名=データセットがあります。
testdata1 ex1 ex2 ex3 ex4
testdata2 ex1 ex2 ex3 ex4
私のスクリプトはこれに似ています:
私の質問は、スクリプトがExcelシートの両方のデータセットを通過するように、このスクリプトをどのように変更する必要があるかです。現在、スクリプトは最初のデータセット(testdata1内のセル)を通過します。testdata2も調べたいです。私が探している結果は次のとおりです。
1 2 3 4
5 6 7 8
ありがとう