data driven framework selenium webdriver using apache poi
Hoe te werken aan Data Driven Framework in Selenium met Apache POI?
Data Driven Framework is een van de populaire Automation Testing Framework in de huidige markt. Data Driven geautomatiseerd testen is een methode waarbij de testdataset wordt aangemaakt in het Excel-blad en vervolgens wordt geïmporteerd in automatiseringstesttools om naar de te testen software te gaan.
Selenium Webdriver is een geweldige tool om webgebaseerde applicaties te automatiseren. Maar het ondersteunt geen lees- en schrijfbewerkingen op Excel-bestanden.
Daarom gebruiken we API's van derden zoals Apache POI.
Wat je in deze tutorial leert:
- Wat is een gegevensgestuurd raamwerk in Selenium WebDriver met behulp van een Excel-voorbeeld
- Gegevens lezen en schrijven van Excel-sheet in Selenium WebDriver met Apache POI
Wat je leert:
- Wat is Apache POI?
- Waarom data drive-tests?
- Wat hebben we nodig om Data Driven Framework te implementeren?
- Interface in POI
- De stappen om Selenium te gebruiken met Apache POI
- Voordelen van het gebruik van Data Driven Framework
- Gevolgtrekking
- Aanbevolen literatuur
Wat is Apache POI?
Apache POI (Poor Obfuscation Implementation) is een API die in Java is geschreven om lees- en schrijfbewerkingen te ondersteunen - het wijzigen van kantoorbestanden. Dit is de meest gebruikte API voor Selenium datagestuurde tests
Er zijn verschillende manieren om een Data Driven Framework te implementeren , en elk verschilt in de inspanning die nodig is om het raamwerk en het onderhoud te ontwikkelen.
Het ontwikkelen van een datagedreven raamwerk in Selenium met behulp van POI helpt het onderhoud te verminderen, de testdekking te verbeteren en zo een goed investeringsrendement te bieden.
Aanbevolen leest:
Waarom data drive-tests?
Vaak zijn er wellicht een aantal datasets die gebruikt moeten worden om een feature van een applicatie te testen. Het handmatig uitvoeren van dezelfde test met verschillende gegevens is tijdrovend, foutgevoelig en een saaie taak.
Laten we dit scenario begrijpen met een voorbeeld
Stel dat we het login / Register / Any-formulier moeten testen met meerdere invoervelden met 100 verschillende datasets.
Om dit te testen heb je drie verschillende benaderingen:
1) Maak 100 scripts één voor elke dataset en voer elke test één voor één uit.
twee) Verander de gegevens in het script en voer het meerdere keren uit.
3) Importeer de gegevens uit het Excel-blad en voer het script meerdere keren uit met verschillende gegevens.
De eerste twee scenario's zijn omslachtig en tijdrovend, wat een lage ROI impliceert. Daarom moeten we de derde benadering volgen.
In de derde benadering implementeren we het Data Driven-raamwerk, waar al onze gegevens in een Excel-sheet staan, van waaruit ze worden geïmporteerd en gebruikt om de functies van de applicatie te testen.
=> Wilt u meer weten over Data Driven Framework? We hebben een gedetailleerd artikel kunt u hier bekijken
Wat hebben we nodig om Data Driven Framework te implementeren?
Om deze benadering te volgen, moeten we Eclipse, TestNG correct hebben geconfigureerd.
Als we klaar zijn, zullen we kijken naar:
- Verschillende interfaces van Apache POI.
- Integratie van Apache POI in de Eclipse.
- Lees gegevens uit het Excel-blad.
- Schrijf gegevens naar het Excel-blad.
- Voordelen van het gebruik van Apache POI met selenium.
Interface in POI
Een van de meest opmerkelijke kenmerken van Apache POI is dat het lees- en schrijfbewerkingen ondersteunt op zowel .xls- als .xslx-bestanden.
Hieronder staan enkele van de interfaces van POI
hoe u .torrent-bestanden gebruikt
- XSSF Werkboek: Vertegenwoordigt werkmap in xlsx-bestand.
- HSSFWorkbook: Vertegenwoordigt werkmap in xls-bestand.
- XSSFSheet: Vertegenwoordigt een blad in een XLSX-bestand.
- HSSFSheet: Vertegenwoordigt een blad in XLS-bestand.
- XSSFRow: Vertegenwoordigt een rij in een blad met een XLSX-bestand.
- HSSFRow: Vertegenwoordigt een rij in een blad met een XLS-bestand.
- XSSFCell: Vertegenwoordigt een cel in een rij van een XLSX-bestand.
- HSSFCell: Vertegenwoordigt een cel in een rij van een XLS-bestand.
Velden die beschikbaar zijn in een cel:
- CELL_TYPE_BLANK: Vertegenwoordigt een lege cel.
- CELL_TYPE_BOOLEAN: Vertegenwoordigt een Booleaanse cel (true of false).
- CELL_TYPE_ERROR: Geeft een foutwaarde in een cel weer.
- CELL_TYPE_FORMULA: Staat voor een formuleresultaat in een cel.
- CELL_TYPE_NUMERIC: Vertegenwoordigt numerieke gegevens in een cel.
- CELL_TYPE_STRING: Vertegenwoordigt tekenreeks in een cel.
De stappen om Selenium te gebruiken met Apache POI
Laten we een automatiseringsscript maken om het inlogproces van webgebaseerde applicaties te testen.
Hier heb ik LinkedIn gebruikt als voorbeeld
We importeren gegevens uit een Excel-sheet en gebruiken deze om in te loggen in de applicatie en na uitvoering schrijven we het resultaat in de Excel-sheet.
We hebben de volgende software op ons systeem nodig om door te gaan met de stappen om het framework uit te voeren:
- Java JDK 1.7+
- Eclipse IDE
- TestNG
- Selenium potten
- Microsoft Office / Open Office
Stap 1)
Ten eerste moeten we Eclipse configureren met Apache POI
Downloaden jar-bestanden voor Apache POI.
Stap 2)
Pak het jar-bestand uit en voeg de volgende jars toe aan uw project en configureer ze.
- dom4j-1.6.1.jar
- poi-3.10-DEFINITIEF-20140208.jar
- poi-ooxml-3.10-FINAL-20140208.jar
- poi-ooxml-schemas-3.10-FINAL-20140208.jar
- xmlbeans-2.3.0.jar
Stap 3)
Maak na het configureren van de respectievelijke potten een Excel-blad, voer er enkele gegevens in en sla het op als TestData.xlsx op uw gewenste locatie.
Stap 4)
Laten we nu de voorbeeldcode volgen om gegevens uit het Excel-blad te lezen en deze gebruiken om in te loggen linkedin.com
Stap # 5)
Klik met de rechtermuisknop op de testcase-klasse en klik op Uitvoeren als -> TestNG Test.
Apache POI importeert gegevens uit het Excel-blad en gebruikt deze om in te loggen op onze applicatie. Nu we hebben gezien hoe we gegevens van het Excel-blad kunnen lezen, gaan we kijken hoe we naar het blad kunnen schrijven.
Opmerking Als u tijdens dit proces problemen ondervindt, controleer dan de volgende punten.
- Zorg ervoor dat alle genoemde potten zijn toegevoegd aan het project en correct zijn geconfigureerd.
- Vereiste software is correct geïnstalleerd.
- Correct gebruik van een interface met betrekking tot Excel-bestanden, zoals HSSF voor .xls en XSSF voor .xlsx.
- Er wordt een geldige rij- en kolomindex gebruikt.
- Excel-bestand moet worden gesloten voordat het wordt uitgevoerd.
- Juiste klassen die worden gebruikt voor het Excel-bestand, zoals XSSF dat wordt gebruikt voor .xlsx-bestanden en HSSF gebruikt voor .xls-bestanden.
Voordelen van het gebruik van Data Driven Framework
- Verbetert de testdekking.
- Herbruikbaarheid van code.
- Minder onderhoud.
- Snellere uitvoering.
- Maakt een betere afhandeling van fouten mogelijk.
Gevolgtrekking
Invoer / uitvoer van en naar een bestand is een zeer kritiek onderdeel van het softwaretestproces. Apache POI speelt een cruciale rol om dit mogelijk te maken voor Selenium Test Automation.
Selenium geïntegreerd met Apache POI stelt u in staat uw script meerdere keren uit te voeren met verschillende datasets, waarbij alle gegevens op één locatie worden bewaard. Het bespaart tijd en onderhoud aan het testscript.
Over de auteur: Dit is een gastpost van Vivek, een QA Automation Engineer.
Heeft u vragen over het implementeren van het datagestuurde testraamwerk in Selenium WebDriver met Apache POI? Laat het ons weten in reacties hieronder.
Aanbevolen literatuur
- Selenium Framework maken en toegang krijgen tot testgegevens vanuit Excel - Selenium Tutorial # 21
- Datagestuurd of geparametriseerd testen met Spock Framework
- Hoe datagestuurd testen werkt (voorbeelden van QTP en selenium)
- Inleiding tot JUnit Framework en het gebruik ervan in Selenium Script - Selenium Tutorial # 11
- Gegevensgestuurde tests uitvoeren met de TestComplete Tool
- QTP Tutorial # 18 - Datagestuurde en hybride frameworks uitgelegd met QTP-voorbeelden
- TestNG Framework gebruiken voor het maken van Selenium-scripts - TestNG Selenium-zelfstudie # 12
- Gegevensgestuurde tests uitvoeren in SoapUI Pro - SoapUI-zelfstudie # 14