Automatiza pruebas QA con Java | Parte 5: ExcelManage

2 min read
21 de junio de 2023

Excel es una herramienta ampliamente utilizada para almacenar y manipular datos tabulares, lo que resulta útil para la gestión de casos de prueba y resultados de pruebas. A continuación te mostramos cómo integrar Excel a tus pruebas de calidad de software. También puedes consultar cómo usar la API de Google Sheets en tus pruebas automatizadas. 

La integración de Excel en el flujo de trabajo de automatización de pruebas permite organizar y mantener los datos de prueba de manera estructurada. Los archivos de Excel ofrecen flexibilidad para definir diferentes hojas de trabajo y columnas que representan los datos necesarios para ejecutar las pruebas.

La capacidad de leer y escribir en archivos de Excel mediante código automatizado proporciona una forma eficiente de verificar los resultados de las pruebas y realizar comparaciones. Se pueden leer datos de prueba de Excel para alimentar los escenarios de prueba y luego comparar los resultados obtenidos durante la ejecución con los valores esperados definidos en el archivo. En resumen, el manejo de documentos de Excel en un proyecto de automatización de pruebas de software en Java brinda una forma estructurada y flexible de almacenar y manipular datos de prueba. Facilita la colaboración, la verificación de resultados y la comparación de datos, lo que contribuye a la eficiencia y efectividad del proceso de pruebas automatizadas.

Para el manejo de datos de excel puedes tener una clase de utilidad llamada “ExcelManage” la cual puedes utilizar como una utilidad reutilizable para leer, escribir y editar registros en un documento de Excel. Recuerda que para ejecutarlo, necesitarás agregar la biblioteca Apache POI a tu proyecto para manejar la manipulación de archivos de Excel.

El detalle de la clase a utilidad se observa a continuación

import org.apache.poi.ss.usermodel.*;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class ExcelManage {

    
    public static String readExcelCell(String filePath, String sheetName, int rowNum, int colNum) {
        try (FileInputStream fis = new FileInputStream(new File(filePath));
            Workbook workbook = WorkbookFactory.create(fis)) {
           
            Sheet sheet = workbook.getSheet(sheetName);
            Row row = sheet.getRow(rowNum);
            Cell cell = row.getCell(colNum);
           
            return cell.getStringCellValue();
           
        } catch (IOException | NullPointerException | IllegalStateException | IndexOutOfBoundsException e) {
            e.printStackTrace();
            return null;
        }
    }
   
    public static void writeExcelCell(String filePath, String sheetName, int rowNum, int colNum, String value) {
        try (FileInputStream fis = new FileInputStream(new File(filePath));
            Workbook workbook = WorkbookFactory.create(fis)) {
           
            Sheet sheet = workbook.getSheet(sheetName);
            Row row = sheet.getRow(rowNum);
            Cell cell = row.createCell(colNum);
           
            cell.setCellValue(value);
           
            try (FileOutputStream fos = new FileOutputStream(new File(filePath))) {
                workbook.write(fos);
            }
           
        } catch (IOException | NullPointerException | IllegalStateException | IndexOutOfBoundsException e) {
            e.printStackTrace();
        }
    }
}


Un ejemplo del uso de la utilidad para obtener un dato de un documento se muestra a continuación, donde se tiene un método dentro de una prueba automatizada con Serenity y POM en donde se debe ingresar en un campo de texto de una página web una frase contenida en un documento de Excel.

public void readExcelAndWriteOnSearchField(){
        String filePath = "ruta/al/archivo.xlsx";
        String sheetName = "Hoja1";

        valueToSearch = readExcelCell(filePath, sheetName, 1, 1);

        enter(valueToSearch).into(SEARCH_FIELD);
}

 

Para seguir aprendiendo, consulta ya otros artículos de esta serie sobre cómo potenciar la automatización de pruebas QA con Java.

También te invitamos a consultar nuestro micrositio de carrera donde encontrarás información importante sobre nuestras vacantes de trabajo y la cultura empresarial que hace que trabajar en Pragma sea una experiencia única

scrum_metodologia_agil_ebook

 

Suscríbete al
Blog Pragma

Recibirás cada mes nuestra selección de contenido en Transformación digital.

Imagen form