Как записать результат теста (пройден / не пройден) в листе Excel с использованием веб-драйвера selenium и java без жесткого кодирования row_num и Col_num в моей программе - PullRequest
1 голос
/ 13 июля 2020

Ниже приведена моя программа для записи данных в лист Excel: -

public static void write_test_result(String result, String sheet_name, String filePath,int row_num,int col_num) throws EncryptedDocumentException, FileNotFoundException, IOException
    {
        Workbook wb = WorkbookFactory.create(new FileInputStream(filePath));
        Sheet sh = wb.getSheet(sheet_name);
        sh.getRow(row_num).createCell(col_num).setCellValue(result);
        //sh.createRow(row_num).createCell(col_num).setCellValue(result);
        wb.write(new FileOutputStream(filePath));
    }

Вызов этого метода в моей программе выглядит так:

FileIOLibrary.write_test_result("Pass",sheet_name,FilePath, 7,5);

Здесь row_num = 7 и Col_num = 5 я жестко кодирую каждый раз, но я не хочу жестко кодировать эти значения.

Как я могу l oop через вызов метода write_test_result и увеличивать row_num / Col_num на каждой итерации?

Заранее спасибо.

1 Ответ

0 голосов
/ 13 июля 2020

На основании вашего комментария, в котором говорится, что вы sh выполняете итерацию метода write_test_result и каждый раз увеличиваете индекс строки / столбца, вот необходимая структура l oop:

int maxRowCount = 10; // set this to the total number of rows to iterate over
int maxColumnCount = 15; // set this to the total number of columns to iterate over

for (int rowCount = 1; rowCount < maxRowCount; rowCount++) {
    for (int columnCount = 1; columnCount < maxColumnCount; columnCount++) {
        FileIOLibrary.write_test_result("Pass", sheet_name, FilePath, rowCount, columnCount);
    }
}
...