私は2つのクラスを作成しました。first.java
とsecond.java
。ではfirst.java
、2 つから 3 つのメソッドが定義されています。ではsecond.java
、そのインスタンスを作成してこれらのメソッドを使用したいと思いますfirst.java
。私のシナリオは以下のようなものです:
- 最初のメソッドでサインボタンをクリックする
- dataprovider を使用して反復したい、つまり 2 番目の方法でパラメータ化したい
- サインアウト 3 番目の方法。
ここでは、1 番目と 3 番目のメソッド、つまり @Test は 1 回実行する必要があり、2 番目のメソッド @Test(dataProvider) はすべて反復する必要があります。
別のクラスのインスタンスをグローバルに宣言または作成する方法はありますか? のすべてのメソッドで使用できるようにするには、second.java
または他の方法はありますか?
TestNG
、Ecplise
およびWebdriver
実行に使用しています。
これは私がしていることです:
@Test(dataProvider = "DP1")
public void enteruserdetails(String username, String pass)
{
Spage spage = new Spage(driver);
spage.clicksign();
spage.enterdetails(username,pass);
spage.signout();
}
このテストを 3 つに分割して、次のようにします。
1) spage.clicksign() will be done only once
2) spage.enterdetails(username,pass) will use DataProvider for iteration
3) spage.signout() will be done only once.
次に、クラスのインスタンスを作成する方法Spage spage = new Spage(driver)
; 私はすべての場所でそれをしなければなりませんか、@Before, @After and also in @Test
それともグローバルに宣言する方法はありますか? ここでspage.java
は で使用されsfirst.java
ます。