Читайте данные из файла Excel постепенно для автоматического теста дыма в Selenium - PullRequest
0 голосов
/ 23 января 2020

Я пытаюсь автоматизировать проверку дыма для своего веб-приложения с помощью 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;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...