TestNG を使用して自動テストを実行しています。TestNG を選択した理由は、変数入力をテスト メソッド example public void testXX( String userId )に送信でき、userId はテストごとに変更できるためです。
以下のコードは、テストの実行に使用できる 3 つの異なる userId を示しています。したがって、まったく同じテストが、3 人の異なるユーザーごとに 3 回実行されます。この機能は素晴らしく、各ユーザーが異なるプロファイルを使用しているため、さまざまなシナリオで複数のテストを行うことができます。
// All valid Pricing Leads
@DataProvider(name = "userIds")
public Object[][] createPricingLeadUsersParameters() {
return new Object[][] {
{ "TestUser001" },
{ "TestUser002" },
{ "TestUser003" }
};
}
@Test( dataProvider = "userIds" )
public void createGroup( String userIds) {
............
}
私が現在抱えている問題は、特定の状況で userId を 1 つしか使用できないか、そうでなければすべてのテストが失敗することです。まったく同じテストを維持したいのですが、上記の 3 つではなく、userId のみを渡します。コマンド ラインでこの変数を作成するように TestNG を構成する方法があるため、3 つの定義済みを使用することもありますが、別の条件下では、3 つのうちの 1 つまたは新しい userId になりますか?