如何使用数据提供程序中的字符串列表运行测试 - Testng



>我有一个测试,它通过给出在注册页面上创建记录 姓名、电话号码、主要联系方式。 目标是测试相同的电话号码和联系方式,但名称的不同变体(例如:3个名称(。 测试应运行 3 次。 姓名 1 与电话号码和联系方式, 姓名2,带有电话号码和联系方式, 姓名3,包括电话号码和联系方式

我正在尝试使用数据提供程序为我的测试提供数据。但是我不确定如何在数据提供程序中提供名称列表并将其返回到我的测试中。

public List<String> names;
@DataProvider(name="TestData")
public object[][] getTestData() {
names = new ArrayList<String>();
names.add("Name1");
names.add("Name2");
names.add("Name3");
Object[][] returnNames = new Object[names.size()][];
for(int i=0;i<names.size(); i++) {
returnNames[i] = new Object[]{names.get(i)};
}
return new Object[][] {
{returnNames, "1234567890", "Phone"} // (->Problem 1:I am not sure if this is right)
};
}
@Test(dataprovider="TestData")
public void testMethod(List<String> names, String phone, String modeOfContact) {
// (-> Problem 2: Is the parameter initialization right in @Test?)
//Code here
}

可能最简单的方法是内联初始化数据数组:

@DataProvider(name="TestData")
public static Object[][] getTestData() {
String phoneNumber = "123456789";
String modeOfContact = "Phone";
return new String[][] {
{"Name1", phoneNumber, modeOfContact},
{"Name2", phoneNumber, modeOfContact},
{"Name3", phoneNumber, modeOfContact}
};
}

最新更新