これが私のシナリオです。データ駆動型テストを行うために、testNG で webdriver を使用します。@dataprovider によって提供される Web アプリで「表示」しているデータに値がないことを確認しています。たとえば、配列が {"1","2","3","4","5"} の場合、testNG @dataprovider を使用して Webdriver スクリプトでこれらの値を取得しています。 GUI' は、最初は 2 が表示され、次の反復で 5 が表示され、テストが停止する場合があります。
私は、TestNG が webdriver が関数またはプロセスを完了するのを待っていないと仮定しています。
ここに私のサンプルコードがあります
@Test (dataProviderClass=MyDataProviders.class)
public class MyWebDriverClass{
@Test(dataProvider = "theProviderName")
public void providerHomeCreateuser(String arg1,String arg2)
{
<..input arg1, arg2 to text fields..>
}
}
どこかに Thread.wait() を配置する必要があることを理解しています。
データプロバイダの方法は次のとおりです
public class MyDataProviders {
...
...
@DataProvider (name="theProviderName")
public static Object[][] getData() throws Exception
{
Object retObject[][]=getTableArray("src\\com\\abcd\\resource\\TestData.xls", 5, "MyTestData");
return retObject;
}