most popular test automation frameworks with pros
In de laatste paar Selenium-tutorials hebben we verschillende veelgebruikte en in de volksmond gebruikte opdrachten in WebDriver omgaan met webelementen zoals webtabellen, frames en uitzonderingen afhandelen in Selenium-scripts.
We hebben elk van deze opdrachten besproken met voorbeeldcodefragmenten en voorbeelden om u in staat te stellen deze opdrachten effectief te gebruiken wanneer u vergelijkbare situaties tegenkomt. Van de opdrachten die we in de vorige tutorial hebben besproken, zijn er maar weinig die het grootste belang hebben.
Naarmate we verder gaan in de Selenium-serie, zouden we onze focus richten op Automation Framework-creatie in de komende tutorials. We willen ook licht werpen op verschillende aspecten van een automatiseringsraamwerk, soorten automatiseringsraamwerken, voordelen van het gebruik van een raamwerk en de basiscomponenten die een automatiseringsraamwerk vormen.
Wat je leert:
- Wat is Framework?
- Testautomatiseringsraamwerk
- Typen Test Automation Framework
- # 1) Module gebaseerd testraamwerk
- # 2) Testkader voor bibliotheekarchitectuur
- # 3) Data Driven Testing Framework
- # 4) Sleutelwoordgestuurd testkader
- # 5) Hybride testraamwerk
- # 6) Gedragsgestuurd ontwikkelingskader
- Gevolgtrekking
- Aanbevolen literatuur
Wat is Framework?
Een raamwerk wordt beschouwd als een combinatie van vastgestelde protocollen, regels, standaarden en richtlijnen die als geheel kunnen worden opgenomen of gevolgd om de voordelen van de steigers die het raamwerk biedt, te benutten.
Laten we eens kijken naar een realistisch scenario.
We gebruiken heel vaak liften of liften. Er zijn een paar richtlijnen die in de lift worden genoemd en die moeten worden opgevolgd om het maximale voordeel en langdurige service van het systeem te benutten.
De gebruikers hebben dus misschien de volgende richtlijnen opgemerkt:
- Houd de maximale capaciteit van de lift in de gaten en stap niet op een lift als de maximale capaciteit is bereikt.
- Druk op de alarmknop in geval van nood of problemen.
- Sta de passagier toe om uit de lift te komen voordat u de lift betreedt en blijf uit de buurt van de deuren.
- In geval van brand in het gebouw of als er een willekeurige situatie is, vermijd dan het gebruik van de lift.
- Speel of spring niet in de lift.
- Rook niet in de lift.
- Bel voor hulp / assistentie als de deur niet opengaat of als de lift helemaal niet werkt. Probeer de deuren niet met geweld te openen.
Er kunnen veel meer regels of sets richtlijnen zijn. Als deze richtlijnen worden gevolgd, wordt het systeem dus gunstiger, toegankelijker, schaalbaarder en minder lastig voor de gebruikers.
Nu we het hebben over 'Test Automation Frameworks', laten we onze focus naar hen verleggen.
Testautomatiseringsraamwerk
Een 'Test Automation Framework' is een steiger die wordt gelegd om een uitvoeringsomgeving te bieden voor de automatiseringstestscripts. Het framework biedt de gebruiker verschillende voordelen die hem helpen om de automatiseringstestscripts efficiënt te ontwikkelen, uit te voeren en te rapporteren. Het is meer een systeem dat speciaal is gemaakt om onze tests te automatiseren.
In een heel eenvoudige taal kunnen we zeggen dat een raamwerk een constructieve mix is van verschillende richtlijnen, coderingsnormen, concepten, processen, praktijken, projecthiërarchieën, modulariteit, rapportagemechanisme, testgegevensinjecties enz. Voor het testen van pijlerautomatisering. Zo kan de gebruiker deze richtlijnen volgen terwijl hij de applicatie automatiseert om te profiteren van verschillende productieve resultaten.
De voordelen kunnen verschillende vormen aannemen, zoals het gemak van scripting, schaalbaarheid, modulariteit, begrijpelijkheid, procesdefinitie, herbruikbaarheid, kosten, onderhoud enz. Om deze voordelen te kunnen benutten, wordt ontwikkelaars geadviseerd om een of meer van het Test Automation Framework.
Bovendien ontstaat de behoefte aan een enkel en standaard Test Automation Framework wanneer u een aantal ontwikkelaars heeft die aan de verschillende modules van dezelfde applicatie werken en wanneer we situaties willen vermijden waarin elk van de ontwikkelaars zijn / haar benadering van automatisering implementeert.
Notitie : Houd er rekening mee dat een testraamwerk altijd applicatie-onafhankelijk is, dat wil zeggen dat het kan worden gebruikt met elke applicatie, ongeacht de complicaties (zoals technologiestack, architectuur enz.) Van de applicatie die wordt getest. Het raamwerk moet schaalbaar en onderhoudbaar zijn.
Voordeel van Test Automation-framework
- Herbruikbaarheid van code
- Maximale dekking
- Herstel scenario
- Goedkoop onderhoud
- Minimale handmatige tussenkomst
- Gemakkelijke rapportage
Typen Test Automation Framework
Nu we een basisidee hebben van wat een automatiseringsraamwerk is, willen we u in deze sectie een voorbode geven van de verschillende soorten testautomatiseringsraamwerken die op de markt beschikbaar zijn. We zouden ook proberen hun voor- en nadelen en bruikbaarheidsaanbevelingen te belichten.
Er is tegenwoordig een uiteenlopend aanbod van Automation Frameworks. Deze frameworks kunnen van elkaar verschillen op basis van hun ondersteuning voor verschillende sleutelfactoren om te automatiseren, zoals herbruikbaarheid, onderhoudsgemak enz.
voorbeeldtestcases voor verzekeringsaanvragen
Laten we de weinige meest gebruikte Test Automation Frameworks bespreken:
- Module gebaseerd testraamwerk
- Testkader voor bibliotheekarchitectuur
- Data Driven Testing Framework
- Framework voor sleutelwoorden
- Hybride testraamwerk
- Gedragsgestuurd ontwikkelingsraamwerk
(klik op afbeelding om vergroot te bekijken)
Laten we ze allemaal in detail bespreken.
Maar daarvoor zou ik ook willen vermelden dat ondanks het feit dat hij dit raamwerk heeft, de gebruiker altijd wordt gebruikt om zijn eigen raamwerk te bouwen en te ontwerpen dat het beste past bij zijn / haar projectbehoeften.
# 1) Module gebaseerd testraamwerk
Module-based Testing Framework is gebaseerd op een van de algemeen bekende OOP-concept - abstractie. Het raamwerk verdeelt de volledige 'Application Under Test' in een aantal logische en geïsoleerde modules. Voor elke module maken we een apart en onafhankelijk testscript. Dus wanneer deze testscripts samen genomen worden, wordt een groter testscript gemaakt dat meer dan één module vertegenwoordigt.
Deze modules zijn zodanig van elkaar gescheiden door een abstractielaag dat de wijzigingen die zijn aangebracht in de secties van de applicatie geen invloed hebben op deze module.
Voordelen:
- Het raamwerk introduceert het hoge niveau van modularisatie dat leidt tot eenvoudiger en kostenefficiënt onderhoud.
- Het framework is vrijwel schaalbaar
- Als de wijzigingen in een deel van de applicatie worden geïmplementeerd, hoeft alleen het testscript dat dat deel van de applicatie vertegenwoordigt te worden hersteld om alle andere delen onaangeroerd te laten.
Nadelen:
- Bij het implementeren van testscripts voor elke module afzonderlijk, embedden we de testgegevens (gegevens waarmee we testen moeten uitvoeren) in de testscripts. Dus wanneer we verondersteld worden te testen met een andere set testgegevens, moeten de manipulaties in de testscripts worden uitgevoerd.
# 2) Testkader voor bibliotheekarchitectuur
Het Library Architecture Testing Framework is fundamenteel en fundamenteel gebouwd op Module Based Testing Framework met enkele bijkomende voordelen. In plaats van de te testen applicatie op te splitsen in testscripts, scheiden we de applicatie in functies of eerder gemeenschappelijke functies kunnen ook door de andere delen van de applicatie worden gebruikt. Zo creëren we een gemeenschappelijke bibliotheek met gemeenschappelijke functies voor de te testen applicatie. Daarom kunnen deze bibliotheken wanneer nodig worden aangeroepen vanuit de testscripts.
Het fundamentele fundament achter het raamwerk is om de algemene stappen te bepalen en ze te groeperen in functies onder een bibliotheek en die functies in de testscripts aan te roepen wanneer dat nodig is.
Voorbeeld : De inlogstappen kunnen worden gecombineerd in een functie en bewaard in een bibliotheek. Dus alle testscripts die nodig zijn om in te loggen bij de applicatie kunnen die functie aanroepen in plaats van de code helemaal opnieuw te schrijven.
Voordelen:
- Net als Module Based Framework introduceert dit framework ook het hoge niveau van modularisatie, wat ook leidt tot eenvoudiger en kostenefficiënt onderhoud en schaalbaarheid.
- Omdat we algemene functies maken die efficiënt kunnen worden gebruikt door de verschillende testscripts in het Framework. Het framework introduceert dus een grote mate van herbruikbaarheid.
Nadelen:
- Net als Module Based Framework worden de testgegevens opgeslagen in de testscripts, dus elke wijziging in de testgegevens vereist ook wijzigingen in het testscript.
- Met de introductie van bibliotheken wordt het raamwerk een beetje ingewikkeld.
# 3) Data Driven Testing Framework
Bij het automatiseren of testen van een applicatie kan het soms nodig zijn om dezelfde functionaliteit meerdere keren te testen met de verschillende set invoergegevens. In dergelijke gevallen kunnen we de testgegevens dus niet in het testscript laten insluiten. Daarom wordt geadviseerd om testgegevens buiten de testscripts in een externe database te bewaren.
Data Driven Testing Framework helpt de gebruiker de testscriptlogica en de testgegevens van elkaar te scheiden. Hiermee kan de gebruiker de testgegevens opslaan in een externe database. De externe databases kunnen eigenschappenbestanden, xml-bestanden, Excel-bestanden, tekstbestanden, CSV-bestanden, ODBC-opslagplaatsen enz. Zijn. De gegevens worden conventioneel opgeslagen in 'Key-Value' -paren. De sleutel kan dus worden gebruikt om toegang te krijgen tot de gegevens in de testscripts en deze te vullen.
Notitie : De testgegevens die in een extern bestand zijn opgeslagen, kunnen zowel tot de matrix van verwachte waarde als tot de matrix van invoerwaarden behoren.
beste schijf klonen software windows 10
Voorbeeld
Laten we het bovenstaande mechanisme begrijpen met behulp van een voorbeeld.
Laten we eens kijken naar de functionaliteit 'Gmail - Inloggen'.
Stap 1: De eerste en belangrijkste stap is het maken van een extern bestand waarin de testgegevens (invoergegevens en verwachte gegevens) worden opgeslagen. Laten we bijvoorbeeld eens kijken naar een Excel-sheet.
Stap 2: De volgende stap is om de testgegevens in het Automation-testscript te plaatsen. Hiervoor kunnen verschillende API's worden gebruikt om de testgegevens uit te lezen.
De bovenstaande methode helpt om de testgegevens te lezen en de onderstaande teststap helpt de gebruiker om de testgegevens in de GUI in te typen.
element.sendKeys (obj_value.get (obj_index));
Voordelen:
- Het belangrijkste kenmerk van dit raamwerk is dat het het totale aantal scripts dat nodig is om alle mogelijke combinaties van testscenario's te dekken, aanzienlijk vermindert. Er is dus een kleinere hoeveelheid code nodig om een complete set scenario's te testen.
- Elke wijziging in de testdatamatrix zou de testscriptcode niet hinderen.
- Verhoogt flexibiliteit en onderhoudbaarheid
- Er kan een enkel testscenario worden uitgevoerd waarbij de testgegevenswaarden worden gewijzigd.
Nadelen:
- Het proces is complex en vereist een extra inspanning om tot de testgegevensbronnen en leesmechanismen te komen.
- Vereist vaardigheid in een programmeertaal die wordt gebruikt om testscripts te ontwikkelen.
# 4) Sleutelwoordgestuurd testkader
Het trefwoordgestuurde testraamwerk is een uitbreiding op het datagedreven testframework in die zin dat het niet alleen de testgegevens van de scripts scheidt, maar ook de bepaalde set code die bij het testscript hoort, in een extern gegevensbestand bewaart.
Deze set code staat bekend als trefwoorden en daarom wordt het framework zo genoemd. Sleutelwoorden zijn zelfsturend wat betreft de acties die op de applicatie moeten worden uitgevoerd.
De trefwoorden en de testgegevens worden opgeslagen in een tabelachtige structuur en daarom wordt het ook in de volksmond beschouwd als een tabelgestuurd raamwerk. Houd er rekening mee dat trefwoorden en testgegevens entiteiten zijn die onafhankelijk zijn van de automatiseringstool die wordt gebruikt.
VoorbeeldTestcase van Keyword Driven Test Framework
In het bovenstaande voorbeeld worden trefwoorden zoals inloggen, klikken en link verifiëren gedefinieerd in de code.
Afhankelijk van de aard van de applicatie kunnen trefwoorden worden afgeleid. En alle zoekwoorden kunnen meerdere keren worden hergebruikt in één testcase. De locatorkolom bevat de locatorwaarde die wordt gebruikt om de webelementen op het scherm te identificeren of de testgegevens die moeten worden aangeleverd.
Alle benodigde sleutelwoorden worden ontworpen en in de basiscode van het framework geplaatst.
Voordelen:
- Naast de voordelen die worden geboden door datagedreven testen, vereist het trefwoordgestuurde framework niet dat de gebruiker over scriptkennis beschikt, in tegenstelling tot datagedreven testen.
- Een enkel trefwoord kan in meerdere testscripts worden gebruikt.
Nadelen:
- De gebruiker moet goed thuis zijn in het mechanisme voor het maken van trefwoorden om efficiënt gebruik te kunnen maken van de voordelen die het framework biedt.
- Het raamwerk wordt geleidelijk ingewikkelder naarmate het groeit en er worden een aantal nieuwe trefwoorden geïntroduceerd.
# 5) Hybride testraamwerk
Zoals de naam al doet vermoeden, is het Hybrid Testing Framework een combinatie van meer dan één bovengenoemde frameworks. Het beste van een dergelijke opzet is dat het gebruikmaakt van de voordelen van allerlei bijbehorende frameworks.
Voorbeeldvan Hybrid Framework
Testblad zou zowel de trefwoorden als de gegevens bevatten.
In het bovenstaande voorbeeld bevat de trefwoordkolom alle vereiste trefwoorden die in het specifieke testgeval worden gebruikt en de gegevenskolom stuurt alle gegevens die nodig zijn in het testscenario. Als een stap geen invoer nodig heeft, kan deze leeg worden gelaten.
# 6) Gedragsgestuurd ontwikkelingskader
Het Behaviour Driven Development-framework maakt automatisering van functionele validaties mogelijk in een gemakkelijk leesbaar en begrijpelijk formaat voor Business Analisten, Ontwikkelaars, Testers, enz. Dergelijke frameworks vereisen niet noodzakelijk dat de gebruiker bekend is met de programmeertaal. Er zijn verschillende tools beschikbaar voor BDD zoals komkommer, Jbehave enz. Details van het BDD-framework worden later besproken in de Cucumber-tutorial. We hebben ook details over de taal van augurken besproken om testcases in komkommer te schrijven.
Onderdelen van het automatiseringstestraamwerk
Hoewel de bovenstaande picturale weergave van een raamwerk voor zichzelf spreekt, willen we toch een paar punten naar voren halen.
- Object-opslagplaats : Object Repository acroniem als OR bestaat uit de set van locatortypen die zijn gekoppeld aan webelementen.
- Testgegevens: De invoergegevens waarmee het scenario zou worden getest en het kunnen de verwachte waarden zijn waarmee de daadwerkelijke resultaten zouden worden vergeleken.
- Configuratiebestand / Constanten / Omgevingsinstellingen : Het bestand slaat de informatie op over de applicatie-URL, browserspecifieke informatie enz. Het is over het algemeen de informatie die statisch blijft in het hele framework.
- Generics / Program logics / Readers : Dit zijn de klassen die de functies opslaan die algemeen kunnen worden gebruikt in het hele framework.
- Bouw tools en continue integratie : Dit zijn de tools die bijdragen aan de mogelijkheden van het framework om testrapporten, e-mailmeldingen en logboekinformatie te genereren.
Gevolgtrekking
De hierboven geïllustreerde kaders zijn de meest populaire kaders die worden gebruikt door de testbroederschap. Er zijn ook verschillende andere kaders in de plaats. Voor alle verdere tutorials baseren we ons op de Data Driven Testing Framework
In deze tutorial hebben we de basisprincipes van een Automation Framework besproken. We hebben ook gesproken over de soorten frameworks die op de markt beschikbaar zijn.
Volgende les # 21 : In de volgende tutorial zouden we het kort doen u kennis laten maken met het voorbeeldraamwerk, de MS Excel waarin de testgegevens worden opgeslagen, Excel-manipulaties enz.
Voel je dan vrij om je vragen te stellen over automatiseringsframeworks.
Aanbevolen literatuur
- 7 factoren die de testschatting van het seleniumautomatiseringsproject beïnvloeden - Selenium-zelfstudie # 32
- Inleiding tot Selenium WebDriver - Selenium Tutorial # 8
- Efficiënte Selenium-scripts en scenario's oplossen - Selenium-zelfstudie # 27
- Selenium-scripts debuggen met logboeken (Log4j-zelfstudie) - Selenium-zelfstudie # 26
- 30+ beste selenium-zelfstudies: leer selenium met echte voorbeelden
- Diepgaande Eclipse-zelfstudies voor beginners
- Elementen zoeken in Chrome- en IE-browsers voor het bouwen van Selenium-scripts - Selenium-zelfstudie # 7
- Cucumber Selenium Tutorial: Cucumber Java Selenium WebDriver Integration