geb tutorial browser automation testing using geb tool
Geb (uitgesproken als 'jeb') is het antwoord op de uitdagingen van browserautomatisering. Het is een zeer effectieve tool om automatiseringstests via internet uit te voeren.
Geb is ontstaan uit de behoefte om browserautomatisering (in eerste instantie voor webtesten) minder gecompliceerd, probleemloos en efficiënter te maken. Het kan worden gebruikt voor het programmeren, het extraheren van gegevens van het web en het automatiseren van handmatige webtaken. Bovendien is Geb een cross-browser tool voor automatiseringstesten.
Geb functioneert als een door ontwikkelaars aangedreven tool voor het automatiseren van de samenwerking tussen webbrowsers en webinhoud. Het draait de WebDriver in Groovy-taal.
Het mooie van de Geb-testtool is dat het de beste eigenschappen van de Groovy-programmeertaal, jQuery, combineert WebDriver en Page Object Modeling voor krachtige, robuuste en dynamische inhoudinspectie, selectie en webinteractie.
Wat maakt Geb uniek in vergelijking met andere automatisering testtools beschikbaar in de markt is de syntaxis. Het is vergelijkbaar met jQuery dat normaal gesproken wordt gebruikt om gemakkelijk de HTML-pagina's te doorzoeken. Ten tweede heeft het geïntegreerde ondersteuning voor het Page Object-patroon.
Geb biedt geweldige hulp voor functionele webtests door integratie met een aantal veelgebruikte en veelgebruikte testplatforms, waaronder Spock , Grails, JUnit Komkommer-JVM , TestNG, etc. In het latere deel van dit artikel zullen we zien hoe Geb kan worden geïntegreerd met Grails framework.
Wat je leert:
- Praktisch gebruik
- Voordelen
- Vereisten
- Beginnen
- Leer met voorbeeld
- Database validatie testen via Geb-script:
- Er zijn maar weinig bruikbare methoden in Geb
- Nadelen van deze tool
- Meer middelen:
- Gevolgtrekking
- Aanbevolen literatuur
Praktisch gebruik
Zoals al besproken in de introductie van deze Geb-tutorial, kan deze worden gebruikt:
- Als een testtool op meerdere browsers zoals Chrome, Firefox, Internet Explorer, enz. (Hetzelfde automatiseringsscript kan op verschillende browsers worden uitgevoerd om webtests van uw applicatie uit te voeren.)
- Om gebruikersacceptatie en functionele testgevallen te automatiseren.
- Om testscenario's te automatiseren die zijn gemaakt voor functionele of webtests van elke applicatie.
- Om de end-to-end-tests af te dekken, inclusief de UI-validatie (User Interface) en DB-validatie (Database).
- Als ontwikkelaarstool voor het automatiseren van de interactie tussen een webbrowser en webinhoud.
Voordelen
- Geb is een gratis, open source tool. Het is gelicentieerd onder de Apache-licentie, versie 2.0.
- Gemakkelijk en eenvoudig om webtests te automatiseren.
- Geb's Page Objects en Groovy DSL maken tests zo leesbaar dat ze er bijna als gewoon Engels uitzien.
- Voert de tests snel uit en bespaart zo tijd en kosten van testen.
- Compatibel met verschillende browsers zoals IE, Firefox, Chrome en HTMLUnit.
- Het voert de tests uit in de echte browser. Het is alsof je test in de echte omgeving, degene die de gebruiker zou zien.
- Het maakt de regressietest eenvoudig. U kunt de Geb geautomatiseerde testcases uitvoeren om te controleren of bestaande functionaliteit defect raakt na een oplossing of wijziging in de applicatie.
- Tijdens het gebruik van Geb voor automatiseringstests, zijn minimale wijzigingen in de testcode vereist als er wijzigingen in de gebruikersinterface in uw applicatie zijn. Het vermindert dus de moeite en het dupliceren van code.
- Het helpt 360 graden (of maximale) testdekking binnen het enkele script.
Vereisten
Voordat we beginnen, moeten we de software downloaden en installeren. In de centrale opslagplaats van Maven is Geb verkrijgbaar als een enkele Geb-core pot. Klik hier om het op uw machine te installeren.
U hebt de bovenstaande Geb-core-pot, een implementatie van een webstuurprogramma en de selenium-ondersteunende pot nodig om Geb aan uw machine te laten werken.
Raadpleeg de onderstaande sectie over installatie en gebruik van het boek van Geb om de tool te installeren en aan de gang te krijgen => Geb installatie- en gebruikshandleiding
Beginnen
Zoals reeds besproken, kan Geb worden geïntegreerd met verschillende testkaders.
Afhankelijk van het framework dat je hebt gekozen, moet je de gerelateerde plug-in installeren.
Bijvoorbeeld Grails ( Grails is een zeer bekend framework voor webapplicaties) om automatiseringstestscripts te schrijven en de testscenario's te automatiseren. Als u Geb wilt gebruiken voor uw Grails-functionele testen, kunt u de gerelateerde plug-in vanaf hier installeren grails-geb plugin Deze plug-in verwerkt de baseUrl en rapportenDir configuratie-items.
Leer met voorbeeld
Laat me nu laten zien hoe je een Geb-script schrijft om een testscenario te automatiseren.
Neem het onderstaande testscenario:
Testscenario-ID | Softwaretestinghelp-1 | Testcase-ID | Softwaretesthulp -1A |
Uitgang | |||
Test Case Beschrijving | Verifieer de Softwaretestinghelp.com-pagina via de zoekmachine | Automatiseringsscriptstatus | Bezig |
Voorwaarde | 1 browser 2. zoekmachine 3. website - Softwaretestinghelp.com zou moeten bestaan | Vereiste script | NA |
De uitvoeringsstappen zijn:
Start de Google-zoekmachine |
Controleer of de zoekmachine succesvol is geladen |
Typ softwaretestinghelp.com in het zoekvak |
Wacht tot de resultaten zijn geladen |
Controleer of de eerste link in resultaten naar softwaretestinghelp.com verwijst |
Zo ja, open de link. |
Wacht tot de website wordt geopend. |
Hier is het Geb automatiseringstoolscript voor het bovenstaande scenario:
U kunt nu proberen om zelf een eenvoudig GEB-script te schrijven, verwijzend naar het bovenstaande voorbeeld.
Database validatie testen via Geb-script:
Elke webautomatiseringstest is onderverdeeld in drie delen:
- UI-validatie - Validatie van de gegevens weergegeven op de gebruikersinterface (front-end) voor en na het uitvoeren van het automatiseringstestscenario.
- DB-validatie - Validatie van de gegevens weergegeven in de database (backend) voor en na het uitvoeren van het automatiseringstestscenario.
- Werkelijke teststroom / scriptstroom.
Het Geb-script dat is geschreven om een testscenario te automatiseren, kan de code voor alle bovenstaande drie secties bevatten.
Het Geb-script in de bovenstaande voorbeeldsectie was bedoeld voor het automatiseren van de teststroom en UI-validatie. Evenzo kunt u een testscript schrijven voor databasevalidatie.
Voor elke DB-validatietest kunt u altijd de onderstaande sjabloon gebruiken als een overzicht van uw code:
Er zijn maar weinig bruikbare methoden in Geb
- Als uw testcasescenario meerdere tabbladen en vensters omvat: Elke keer dat u een applicatie tegenkomt die nieuwe vensters of tabbladen opent, Bijvoorbeeld wanneer u op een link met een doelattribuutset klikt, kunt u gebruik maken van withWindow () en metNewWindow () methoden om code uit te voeren in de context van andere vensters.
- De aandrijfmethode: Browserklasse bevat een statische methode - rijden() Deze methode geeft een extra gemak aan Geb scripting. Alle methodeaanroepen op het hoogste niveau en toegang tot property's zijn impliciet tegen de browser.
- Verzoeken doen: Browserinstanties ondersteunen een baseUrl eigenschap die wordt gebruikt om alle relatieve URL's om te zetten. Het verdient meestal de meeste voorkeur om uw basis-URL's te definiëren met slashes aan het einde en geen voorloopschuine strepen op relatieve URL's te gebruiken.
- De pagina wijzigen: Met behulp van nuttig bladzijde() methoden, is het mogelijk om de pagina-instantie te wijzigen zonder een nieuw verzoek in te dienen.
- De browser afsluiten: Het browserobject biedt stoppen () en dichtbij() methoden (die de taak simpelweg overdragen aan de basisdriver).
Nadelen van deze tool
- Geboren wordt uitgevoerd WebDriver in de Groovy-taal. Het hele idee hierachter is om gebruik te maken van WebDriver gemakkelijker en eenvoudiger. Dus als u Webdriver via Geb gebruikt, wordt alleen de Groovy-programmeertaal ondersteund. Maar als u direct gebruikt WebDriver , ondersteunt het vele talen zoals Ruby, C #, Python, Java.
- Ik zou het gebruik van Geb voor kleine projecten niet aanraden - Het werkt geweldig voor enorme taken, maar het is goed voor kleine activiteiten. Als uw webapplicatie niet meerdere pagina's en formulieren bevat waar de informatie doorheen moet stromen, zult u ontdekken dat Geb u echt meer tijd kost dan het spaart.
- Het is heel specifiek over welke omgeving uw websitetoepassing gebruikt. Geb moet goed worden geïntegreerd in een specifieke omgeving om het goed te laten functioneren.
Meer middelen:
- Bekijk de Book of Geb hier voor gedetailleerde documentatie en voorbeelden.
- Hier is een voorbeeldproject dat de integratie van Geb met grails
Gevolgtrekking
Geb is erg handig bij het automatiseren van testcase-scenario's. Het is handig om web-, functionele en gebruikersacceptatietests te automatiseren. Het ondersteunt meerdere browsers en kan worden geïntegreerd met verschillende frameworks. Het combineert de kracht van WebDriver, de elegantie van jQuery Selection, de robuustheid van Page Object Modeling en de expressiviteit van Groovy.
Geb-scripts zijn zowel ontwikkelaar als gebruiksvriendelijk en bieden een betere testdekking en versnelde tests, terwijl ze tegelijkertijd efficiënter zijn.
Over de auteur: Dit is een gastpost van Priya K. Ze heeft meer dan 4 jaar ervaring in IT-services met expertise in testen en ondersteuning voor verschillende applicaties.
Voel je vrij om je vragen over het testen van Geb automatisering in opmerkingen te plaatsen.
Aanbevolen literatuur
- Tutorial WAVE Accessibility Testing Tool
- Ranorex-zelfstudie: een krachtige testtool voor desktop-, web- en mobiele automatisering
- Sikuli GUI Automation Testing Tool - Beginnershandleiding Deel # 2
- Parrot QA-zelfstudie: Cross Browser Functional Testing Tool Review
- Beste softwaretesttools 2021 (QA Test Automation Tools)
- Diepgaande Eclipse-zelfstudies voor beginners
- Wat is automatiseringstesten (ultieme gids om testautomatisering te starten)
- Parasoft SOAtest-zelfstudie: scriptloze API-testtool