Я пытаюсь автоматизировать проверку дыма для своего веб-приложения с помощью Selenium Webdriver. Я хочу запускать эти тесты дважды в день. Я создал java класс TestData. java в моем пакете testcases. Мой код приведен ниже:
Я хочу читать данные из Excel пошагово из предыдущей сборки. Предположим, что если данные читаются из ячейки A2 в Excel в первой сборке, то при следующем запуске дымового теста необходимо считывать данные из ячейки A3 в Excel. Кто-нибудь может дать мне фрагмент кода, который я могу использовать?
package qa.com.test.testcases;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.util.NumberToTextConverter;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class TestData {
@SuppressWarnings({ "deprecation", "resource" })
public ArrayList<String> dataSetUp(String testcaseName, String testCaseMode) throws IOException {
ArrayList<String> saveDataList = new ArrayList<String>();
String projectPath = System.getProperty("user.dir");
FileInputStream file = new FileInputStream(projectPath + "/excel/Testdata.xlsx");
XSSFWorkbook workbook = new XSSFWorkbook(file);
int sheets = workbook.getNumberOfSheets();
for (int i = 0; i < sheets; i++) {
System.out.print(testCaseMode);
if (workbook.getSheetName(i).equalsIgnoreCase(testCaseMode)) {
XSSFSheet sheet = workbook.getSheetAt(i);
Iterator<Row> rows = sheet.iterator();
Row firstrow = rows.next();
Iterator<Cell> ce = firstrow.cellIterator();
int k = 0;
int column = 0;
while (ce.hasNext()) {
Cell value = ce.next();
if (value.getStringCellValue().equalsIgnoreCase("Testcase")) {
column = k;
}
k++;
}
while (rows.hasNext()) {
Row r = rows.next();
if (r.getCell(column).getStringCellValue().equalsIgnoreCase(testcaseName)) {
Iterator<Cell> cv = r.cellIterator();
while (cv.hasNext()) {
Cell c = cv.next();
if (c.getCellTypeEnum() == CellType.STRING) {
saveDataList.add(c.getStringCellValue());
} else {
saveDataList.add(NumberToTextConverter.toText(c.getNumericCellValue()));
}
}
}
}
}
}
return saveDataList;
}
}