2016-04-13 6 views
-1

TestNG.xmlから@Parameterを使用してブラウザタイプで渡す必要があり、テストにデータなどをパラメータ化する必要があります。私は、並列マルチブラウザのテストを実施しようとしていますので@dataProvider@parameterと@Dataプロバイダを単一の@Testメソッドに使用する方法

を使用してユーザー名とパスワードは、私は、このソリューション

@Test(dataProvider="data") 
@Parameters("browser") 
public void test1(String browser, String uname, String pass){ 
    System.out.println(browser+uname+pass);   

} 

@DataProvider 
public Object[][] data(){  
    String[][] data = new String[2][2]; 
    data[0][0] = "user1"; 
    data[0][1] = "pass1"; 

    data[1][0] = "user2"; 
    data[1][1] = "pass2";  

    return data; 

} 

の必要性だ任意の代替ソリューションも高く評価されています。

答えて

1

dataproviderは、渡される列の数がdataproviderを使用する関数の引数と一致する必要があるため、browser引数は使用できません。 @BeforeTest注釈を使用して別のメソッドを作成し、ブラウザの値をクラス変数に割り当てて、必要なメソッドを使用することができます。

+0

beforetestを使用してブラウザ名を取得している場合、プロジェクトで並列ブラウザテストを実装する予定であるため、BeforetestからTestメソッドにブラウザインスタンス変数を渡す方法はありますか。すべてのテストでは、メソッドに固有のブラウザ変数を使用する必要があり、クラス変数としてアクセスしないでください。 –

関連する問題