Selenium - Basé sur les données à l'aide d'Excel

Lors de la conception d'un test, le paramétrage des tests est inévitable. Nous utiliserons Apache POI - Excel JAR pour réaliser la même chose. Cela nous aide à lire et à écrire dans Excel.

Télécharger le JAR

Step 1 - Accédez à l'URL - https://poi.apache.org/download.html et téléchargez le format ZIP.

Step 2 - Cliquez sur le lien miroir pour télécharger les JAR.

Step 3 - Décompressez le contenu dans un dossier.

Step 4 - Le contenu décompressé serait affiché comme indiqué ci-dessous.

Step 5 - Créez maintenant un nouveau projet et ajoutez tous les 'JAR externes' sous le dossier 'poi-3.10.FINAL'.

Step 6 - Ajoutez maintenant tous les 'JAR externes' dans le dossier 'ooxml-lib'.

Step 7 - Ajoutez maintenant tous les 'JAR externes' dans le dossier 'lib'.

Step 8 - Le JAR ajouté s'affiche comme indiqué ci-dessous.

Step 9- L'Explorateur de packages s'affiche comme indiqué ci-dessous. En dehors de cela, ajoutez les JAR liés à 'WebDriver'

Paramétrage

Pour démonstration, nous paramétrerons le test du calculateur de pourcentage.

Step 1- Nous paramétrerons toutes les entrées requises pour le calculateur de pourcentage à l'aide d'Excel. L'excel conçu est illustré ci-dessous.

Step 2 - Exécutez toutes les fonctions du calculateur de pourcentage pour tous les paramètres spécifiés.

Step 3- Créons des méthodes génériques pour accéder au fichier Excel à l'aide des JAR importés. Ces méthodes nous aident à obtenir des données de cellule particulières ou à définir des données de cellule particulières, etc.

import java.io.*;
import org.apache.poi.xssf.usermodel.*;
    
public class ExcelUtils {
   private XSSFSheet ExcelWSheet;
   private XSSFWorkbook ExcelWBook;
   
   //Constructor to connect to the Excel with sheetname and Path
   public Excelutils(String Path, String SheetName) throws Exception {
   
      try {
         // Open the Excel file
         FileInputStream ExcelFile = new FileInputStream(Path);
         
         // Access the required test data sheet
         ExcelWBook = new XSSFWorkbook(ExcelFile);
         ExcelWSheet = ExcelWBook.getSheet(SheetName);
      } catch (Exception e) {
         throw (e);
      }
   }
      
   //This method is to set the rowcount of the excel.
   public int excel_get_rows() throws Exception {
   
      try {
         return ExcelWSheet.getPhysicalNumberOfRows();
      } catch (Exception e) {
         throw (e);
      }
   }
   
   //This method to get the data and get the value as strings.
   public String getCellDataasstring(int RowNum, int ColNum) throws Exception {
   
      try {
         String CellData =
            ExcelWSheet.getRow(RowNum).getCell(ColNum).getStringCellValue();
         System.out.println("The value of CellData " + CellData);
         return CellData;
      } catch (Exception e) {
         return "Errors in Getting Cell Data";
      }
   }
   
   //This method to get the data and get the value as number.
   public double getCellDataasnumber(int RowNum, int ColNum) throws Exception {
   
      try {
         double CellData =
            ExcelWSheet.getRow(RowNum).getCell(ColNum).getNumericCellValue();
         System.out.println("The value of CellData " + CellData);
         return CellData;
      } catch (Exception e) {
         return 000.00;
      }
   }
}

Step 4 - Ajoutez maintenant une méthode principale qui accédera aux méthodes Excel que nous avons développées.

public class xldemo {

   public static void main(String[] args) throws Exception {
      ExcelUtils  dd = new ExcelUtils ("C:\\Book1.xlsx","Sheet1");
      System.out.println("The Row count is " + dd.excel_get_rows());

      dd.getCellDataasnumber(1, 1);
      dd.getCellDataasnumber(1, 2);
      dd.getCellDataasnumber(1, 3);
      dd.getCellDataasnumber(2, 1);
      dd.getCellDataasnumber(2, 2);
      dd.getCellDataasnumber(2, 3);
      dd.getCellDataasnumber(3, 1);
      dd.getCellDataasnumber(3, 2);
      dd.getCellDataasnumber(3, 3);
   }

}

Production

Lors de l'exécution du script, la sortie s'affiche dans la console comme indiqué ci-dessous.