这是我的场景,我使用 webdriver 和 testNG 进行数据驱动测试。我观察到我在@dataprovider 提供的网络应用程序中“看到”的数据缺少一些价值。对于 exg,如果我有一个数组为 {"1","2","3","4","5"},我使用 testNG @dataprovider 在 webdriver 脚本中获取这些值,我在'Web 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;
}