例如,我有一个带有多个类的 TestSuite。
Iteration 1 TestSuite 在第一次执行时将在 Excel 工作表的第一行中获取数据。
Iteration 2 TestSuite 再次执行第二次,它将在 Excel 工作表的第二行中获取数据。
很快...
供您参考 -> 我正在使用 Apache POI 进行数据驱动。-> 我没有兴趣在 testng xml 文件本身中提供迭代参数。-> 测试套件应该一个一个地执行。
任何帮助表示赞赏。
例如,我有一个带有多个类的 TestSuite。
Iteration 1 TestSuite 在第一次执行时将在 Excel 工作表的第一行中获取数据。
Iteration 2 TestSuite 再次执行第二次,它将在 Excel 工作表的第二行中获取数据。
很快...
供您参考 -> 我正在使用 Apache POI 进行数据驱动。-> 我没有兴趣在 testng xml 文件本身中提供迭代参数。-> 测试套件应该一个一个地执行。
任何帮助表示赞赏。
我猜你是直接从你的 @Test 方法中使用 Apache POI。如果是,我建议为您的测试添加一个 DataProvider 并使其返回 Excel 字段数组的数组,或者只是 Excel 行的数组。请查看http://testng.org/doc/documentation-main.html#parameters-dataproviders,这种方式不需要在 testng.xml 中指定参数。
//This method will provide data to any test method that declares that its Data Provider
//is named "dataFromExcelSheet"
@DataProvider(name = "dataFromExcelSheet")
public Object[][] createData1() {
//I have no idea about Apache POI methods, so names are nearly random
int numberOfRows = sheet.getNumberOfRows();
Object[][] lines = new ExcelRow[numberOfRows][1];
for (int i = 0; i < numberOfRows; i++) {
lines[i][0] = sheet.getNextRow;
}
return lines;
}
//This test method declares that its data should be supplied by the Data Provider
//named "dataFromExcelSheet"
@Test(dataProvider = "dataFromExcelSheet")
public void yourTest(ExcelRow row) {
//Write your code here
}