Inhoudsopgave[Zich verstoppen][Laten zien]
Elk webontwikkelingsteam voert een reeks tests uit op zijn producten, maar de weboplossing die later wordt gegeven, vertoont gebreken.
Zelfs met de beste handmatige tests sluipen er onvermijdelijk defecten in en duiken ze weer op, ondanks de inspanningen van het QA-team om ze op te sporen vóór de eerste release.
Als het gaat om het vergroten van de efficiëntie en reikwijdte van uw softwaretesten, is geautomatiseerd webtesten uw beste keuze.
Voor online testen, de Python programmeertaal biedt een robotframework dat gebruik kan maken van externe bibliotheken zoals selenium.
In dit bericht zullen we testcases en andere termen doornemen die verband houden met het Python-robotframework.
Wat is een robotraamwerk?
Robot-kader is een flexibel open-source generiek automatiseringsframework geschreven in Python dat wordt gebruikt voor geautomatiseerde softwaretests, gerobotiseerde procesautomatisering, acceptatietests en acceptatietestgestuurde ontwikkeling.
Simpel gezegd, het is een op Python gebaseerd trefwoordgestuurd testautomatiseringsframework.
Het stelt testers in staat om gecompliceerde processcripts efficiënt te automatiseren en te onderhouden. Het raamwerk kan worden gebruikt om gebruikersinterfaces en interfaces voor applicatieprogrammering te testen.
Hiermee kunnen testengineers Selenium gebruiken naast tal van andere integraties. Selenium is een industriestandaard tool voor het automatiseren van gebruikersgedrag en het scripten van op gebruikers gebaseerde webbrowser-interacties voor elke website.
Wat is acceptatietesten?
Het is een manier om de capaciteit van een systeem te bepalen. Het doel van acceptatietesten is het beoordelen van de mogelijkheden van een systeem in relatie tot de zakelijke behoeften.
Wat is geautomatiseerde procesautomatisering?
RPA, of Robotic Process Automation, is een methode om menselijke arbeid te minimaliseren door gebruik te maken van software die is geïntegreerd machine learning en AI-mogelijkheden. RPA wordt gebruikt om repetitieve processen op hoog niveau te automatiseren.
Wat is acceptatietestgestuurd ontwikkelen?
Acceptatietestgestuurde ontwikkeling, ook wel ATDD genoemd, is een ontwikkelingstechniek die steunt op communicatie tussen zakelijke klanten, ontwikkelaars en testers. Ze werken samen en voeren acceptatietesten uit voordat de functie wordt geïmplementeerd.
Robotframework - Architectuur op hoog niveau
Robot Framework is een raamwerk dat applicatie- en technologie-agnostisch is. De architectuur is erg modulair, zoals te zien is op de onderstaande afbeelding.
De testgegevens worden gepresenteerd in een eenvoudige, bewerkbare tabelvorm. Robot Framework analyseert gegevens, voert testgevallen uit en maakt logboeken en rapporten wanneer het wordt gestart.
Het kernframework heeft geen kennis van het te testen doelwit en bibliotheken beheren alle interacties ermee. Bibliotheken kunnen testtools op een lager niveau gebruiken als stuurprogramma's of rechtstreeks gebruikmaken van applicatie-interfaces.
Voordelen
- Het vergemakkelijkt datagestuurd testen door testautomatisering voor verschillende mogelijk te maken Datatypen.
- Het vermijdt het gebruik van grote hoeveelheden code en gebruikt in plaats daarvan een gedragsgestuurde teststrategie.
- Het kan werken met bibliotheken en functies van derden.
- Sleutelwoorden (voorgedefinieerd of door de gebruiker gedefinieerd) worden in tabelvorm gebruikt om testgevallen te schrijven.
- Gebruikers kunnen trefwoorden maken.
- Variabelen mogen worden gebruikt.
- Het Framework maakt gebruik van een trefwoordgestuurde methode, waarbij scripts worden geschreven met behulp van kleine, gemakkelijk te begrijpen termen (vooraf gedefinieerd of door de gebruiker gedefinieerd).
- Na elke build, rapporten,
- en er worden logs gemaakt.
- Het genereert grondige rapporten en logboeken van de uitvoeringsstatus van het script, wat vooral handig is in het geval dat het script mislukt.
Zelfstudie over het robotframework
Laten we erin duiken.
1. Installatie robotframe
Het pip-pakket wordt voorgesteld voor het installeren van het robotframework in Python. Voer de volgende opdracht uit om het framework te installeren.
U zou zowel de versie van het interpreter- als het robotframework moeten kunnen bekijken na een succesvolle installatie met de optie -version.
2. bibliotheken
- Ingebouwd - Dit is een standaardbibliotheek die een reeks veelgebruikte trefwoorden bevat die automatisch worden geïmporteerd en te allen tijde beschikbaar zijn.
- Verzameling - Het biedt een reeks trefwoorden voor het werken met Python-lijsten en woordenboeken. De trefwoorden van de bibliotheek kunnen worden gebruikt om waarden uit lijsten en woordenboeken te wijzigen en te creëren.
- Dialogen - Een standaardbibliotheek om de uitvoering te stoppen en feedback van gebruikers te ontvangen. Afhankelijk van of de tests worden uitgevoerd, zijn de dialoogvensters een beetje inconsistent.
- Met DateTime kunt u datum- en tijdinformatie genereren en wijzigen.
- Besturingssysteem - Het stelt het robotframework in staat om verschillende besturingssysteemgerelateerde taken in het systeem uit te voeren terwijl het draait. Het kan onder meer instructies uitvoeren en direct gegevens produceren en wijzigen.
- Proces - Deze bibliotheek wordt gebruikt om processen uit te voeren met behulp van Python-submodules en de open klasse. Het sleutelwoord run process wordt gebruikt om te wachten op een lopend proces in het systeem en het te compileren.
- XML is ook een tekstbibliotheek die door het robotframework wordt gebruikt om XML-documenten te verifiëren en aan te passen.
- De string is een pakket voor het manipuleren en valideren van strings.
- Telnet is van toepassing waarmee u kunt communiceren via telnet. Met de telnet-bibliotheek kunt u via een gewone TCP/IP-verbinding verbinding maken met een telnet-server en opdrachten uitvoeren.
3. Ingebouwde hulpmiddelen
In een robotframework zijn er voornamelijk vier ingebouwde tools die worden gebruikt:
- Rebot – Tools voor het maken van logboeken en rapporten van XML-uitvoer en het tegelijkertijd samenvoegen van meerdere uitvoer.
- Testdoc — Op basis van testgevallen creëert Robot Framework HTML-documentatie op hoog niveau.
- Libdoc - Zoekwoorddocumentatiegenerator voor bibliotheken en bronbestanden.
- Tidy – Robot Framework Tools voor het opschonen en converteren van databestanden naar een ander formaat.
4. Testgevallen
In plaats van geautomatiseerde testgevallen kunnen testgevallen in het robotframework in eenvoudig Engels worden geschreven. De volgende tests kunnen worden gebruikt om de testscenario's te classificeren.
- Workflow-testen
- Testen op hoger niveau
- Gegevensgestuurde tests
Workflow-testen
De testcases van het robotframework worden vaak in tabelvorm geschreven. De eerste kolom van een testcasetabel bevat de testnamen en de testcase begint met een willekeurige waarde in de kolom en eindigt met de volgende testcasenaam of het einde van de tabel.
Laten we een voorbeeld uit de echte wereld bekijken om te begrijpen hoe dit werkt.
- Een gebruiker kan een account aanmaken en inloggen.
- De gebruiker kan niet inloggen als het wachtwoord onjuist is.
Testen op hoog niveau
De tweede kolom bevat doorgaans een trefwoordnaam, met uitzondering van instellingsvariabelen met trefwoordgeschreven waarden.
De testcases van het robotframework kunnen worden gebouwd met alleen trefwoorden op hoog niveau en geen positionele parameters. Bekijk het volgende voorbeeld om tests op hoog niveau beter te begrijpen.
Gegevensgestuurde tests
Datagedreven testen isoleert testgegevens in plaats van procedures te simuleren. In het robotframework definieert de instelling [template] de testcase voor een datagestuurde test.
5. Sleutelwoorden
Om testgevallen in het robotframework te bouwen, worden trefwoorden uit twee bronnen gebruikt.
- Sleutelwoorden voor een bibliotheek
- Sleutelwoorden voor de gebruiker
Sleutelwoorden voor een bibliotheek
Standaardbibliotheken definiëren alle terminologie op het laagste niveau, die kan worden geïmplementeerd met behulp van computertalen zoals: Python en Java.
Standaard, externe en aangepaste bibliotheken behoren tot de testbibliotheken die beschikbaar zijn met het robotframework. Het kernframework bevat ingebouwde, screenshot-, OS- en andere standaardbibliotheken.
Sleutelwoorden voor de gebruiker
Het vermogen om unieke trefwoorden op hoog niveau te genereren uit bestaande zinnen, is een van de belangrijkste kenmerken van het robotontwerp. Laten we een voorbeeld bekijken om beter te begrijpen hoe het werkt.
6. variabelen
Variabelen zijn een belangrijk onderdeel van elke testcase in een robotframework. Een variabele is een uitstekende benadering om gegevens in een testcase te specificeren die onderhevig zijn aan verandering of variabiliteit.
Laten we eens kijken hoe variabelen in een testcase kunnen worden gedefinieerd.
Variabelen specificeren
Afgezien van door de gebruiker gedefinieerde variabelen, heeft het robotframework ingebouwde variabelen zoals $TEMPDIR en $/, die we in het vorige voorbeeld gebruikten.
Gebruik maken van variabelen
Variabelen kunnen overal in de testcase worden gebruikt.
Ze worden echter het meest gebruikt als trefwoordargumenten. Beschouw het volgende voorbeeld om te illustreren wat ik bedoel.
7. Organiseren van testgevallen
Testcasebestanden worden gebruikt om robottestcases te bouwen, maar ze kunnen ook worden gegroepeerd in mappen om een testsuitehiërarchie te creëren. Een testsuite is een groepering van testgevallen. Een testsuite bestaat uit alle bestanden met testcases.
Met behulp van directories kunnen de testgevallen hiërarchisch worden gestructureerd; al deze mappen bieden testsuites op hoog niveau met namen die zijn afgeleid van de mapnamen.
Setups en Teardowns gebruiken
De opties “Test Setup” en “Test Teardown” van de instellingentabel kunnen worden gebruikt om een specifiek trefwoord in een test uit te voeren voordat of nadat deze is voltooid. U kunt ook "Suite Setup" en "Suite Teardown" gebruiken om trefwoorden voor of na een testsuite uit te voeren.
U kunt aangepaste [Setup] en [Teardown] maken in een testcase, vergelijkbaar met [Template]. Bekijk het volgende scenario om dit beter te begrijpen.
Labels gebruiken
Met het robotframework kunnen tags worden gebruikt om gratis metadata te bieden voor testcases. "Forceer tags" en "Standaardtags" kunnen worden gebruikt om tags in een bestand in te stellen. [Tags] kunnen, net als [Template], worden gebruikt om tags toe te wijzen aan een enkele testcase. Laten we naar een voorbeeld kijken om te zien hoe we tags gebruiken.
Het rapport bevat na uitvoering tags met daaraan gekoppelde testcases, evenals statistieken op basis van de tags.
VOORDELEN
- Robot Framework is eenvoudig in te stellen.
- Het is gebaseerd op het gebruik van trefwoorden.
- Hiermee kunt u augurk gebruiken.
- Het werkt met beide mobiele en webgebaseerde apps.
- De grondbeginselen van het Robot Framework zijn gemakkelijk te begrijpen.
- Het maakt gebruik van een low-code aanpak.
- Windows, Mac OS X, Unix en Linux worden allemaal ondersteund.
- Python, IronPython en PyPy zijn allemaal ondersteunde programmeertalen.
- Het werkt met alle grote webbrowsers.
- Robot Framework is een gratis te gebruiken, open-source automatiseringstool.
NADELEN
- Parallelle testuitvoering wordt niet ondersteund door Robot Framework.
- Het Robot Framework is moeilijk bij te houden.
- HTML-rapporten in het Robot Framework zijn moeilijk te wijzigen.
- Het debuggen van sommige Robot Framework-problemen kan lastig zijn.
- Inspringen wordt strikt gehandhaafd in het Robot Framework.
Conclusie
Het Robot Platform is een gratis en open-source acceptatietest- en acceptatietestgestuurd ontwikkelraamwerk.
De testcases van het robotframework zijn gebaseerd op trefwoorden die in tabelvorm zijn uitgedrukt, waardoor ze gemakkelijk te begrijpen zijn en nauwkeurige informatie geven over de betekenis van de testcase.
Het is echt handig en eenvoudig te gebruiken.
Sommigen van jullie hebben het al eerder gebruikt, dus als je je tests hebt ingesteld en je Android-/iOS-app klaar voor gebruik, probeer het dan eens.
U zult versteld staan hoe goed alles loopt en hoe snel de acceptatietest kan worden afgerond.
Laat een reactie achter