INHOUDSOPGAWE[Versteek][Wys]
Elke webontwikkelingspan onderneem 'n stel toetse op sy produkte, maar die weboplossing wat later gegee word, het foute.
Selfs met die beste handtoetsing, sluip defekte onvermydelik in en duik weer op, ten spyte van die pogings van die QA-span om dit voor die eerste vrystelling te vang.
As dit kom by die verhoging van die doeltreffendheid en omvang van u sagtewaretoetsing, is outomatiese webtoetsing u beste keuse.
Vir aanlyn toetsing, die Python Programmeringstaal bied 'n robotraamwerk wat eksterne biblioteke soos selenium kan benut.
In hierdie pos gaan ons deur toetsgevalle en ander terme wat aan die Python-robotraamwerk gekoppel is.
Wat is 'n robotraamwerk?
Robot raamwerk is 'n buigsame oopbron generiese outomatiseringsraamwerk geskryf in Python wat gebruik word vir outomatiese sagtewaretoetsing, robotproses-outomatisering, aanvaardingstoetsing en aanvaardingstoetsgedrewe ontwikkeling.
In eenvoudige woorde, dit is 'n Python-gebaseerde sleutelwoordgedrewe toetsoutomatiseringsraamwerk.
Dit stel toetsers in staat om ingewikkelde prosesskrifte doeltreffend te outomatiseer en in stand te hou. Die raamwerk kan gebruik word om gebruikerskoppelvlakke en toepassingsprogrammeringskoppelvlakke te toets.
Dit laat toetsingenieurs toe om Selenium te gebruik bykomend tot talle ander integrasies. Selenium is 'n industriestandaardinstrument om gebruikersgedrag te outomatiseer en gebruikersgebaseerde webblaaierinteraksies vir enige webwerf te skryf.
Wat is aanvaardingstoetsing?
Dit is 'n manier om 'n stelsel se kapasiteit te bepaal. Die doel van aanvaardingstoetsing is om 'n stelsel se vermoëns in verhouding tot besigheidsbehoeftes te assesseer.
Wat is robotiese proses-outomatisering?
RPA, of robotiese proses-outomatisering, is 'n metode om menslike arbeid te minimaliseer deur sagteware te gebruik wat inkorporeer machine learning en KI-vermoëns. RPA word gebruik om herhalende prosesse op hoë vlak te outomatiseer.
Wat is aanvaardingstoetsgedrewe ontwikkeling?
Aanvaardingstoetsgedrewe ontwikkeling, dikwels bekend as ATDD, is 'n ontwikkelingstegniek wat staatmaak op kommunikasie tussen besigheidskliënte, ontwikkelaars en toetsers. Hulle werk saam en doen aanvaardingstoetse voordat hulle die kenmerk ontplooi.
Robotraamwerk – Hoëvlakargitektuur
Robot Framework is 'n raamwerk wat toepassing en tegnologie agnosties is. Die argitektuur daarvan is baie modulêr, soos gesien in die prentjie hieronder.
Die toetsdata word in 'n eenvoudige, redigeerbare tabelformaat aangebied. Robot Framework ontleed data, voer toetsgevalle uit en skep logs en verslae wanneer dit begin word.
Die kernraamwerk het geen kennis van die teiken wat getoets word nie, en biblioteke bestuur alle interaksies daarmee. Biblioteke kan laervlak-toetsinstrumente as drywers gebruik of direk toepassingskoppelvlakke gebruik.
Kenmerke
- Dit vergemaklik data-gedrewe toetsing deur voorsiening te maak vir toetsoutomatisering vir verskeie Datatipes.
- Dit vermy die gebruik van aansienlike hoeveelhede kode en gebruik eerder 'n gedragsgedrewe toetsstrategie.
- Dit kan met biblioteke en funksies van derde partye werk.
- Sleutelwoorde (vooraf gedefinieerde of gebruikergedefinieerde) word in 'n tabelstyl gebruik om toetsgevalle te skryf.
- Gebruikers kan sleutelwoorde skep.
- Veranderlikes word toegelaat om gebruik te word.
- Die Raamwerk gebruik 'n sleutelwoordgedrewe metode, waarin skrifte geskryf word met behulp van klein, maklik verstaanbare terme (óf vooraf- of gebruikergedefinieer).
- Na elke bou, verslae,
- en logs word geskep.
- Dit genereer deeglike verslae en logboeke van die skrif se uitvoeringstatus, wat veral nuttig is in die geval dat die skrif misluk.
Robot raamwerk handleiding
Kom ons duik in.
1. Installasie van robotraamwerk
Die pip-pakket word voorgestel vir die installering van die robotraamwerk in Python. Om die raamwerk te installeer, voer die volgende opdrag uit.
U behoort beide die tolk- en robotraamwerk weergawes te kan sien na 'n suksesvolle installasie deur die -version-opsie te gebruik.
2. biblioteke
- Ingebou – Dit is 'n standaardbiblioteek wat 'n stel algemeen gebruikte sleutelwoorde bevat wat outomaties ingevoer en te alle tye beskikbaar is.
- Versameling - Dit bied 'n stel sleutelwoorde om met Python-lyste en woordeboeke te werk. Die biblioteek se sleutelwoorde kan gebruik word om waardes uit lyste en woordeboeke te verander en te skep.
- Dialogs – 'n Standaardbiblioteek om die uitvoering te stop en terugvoer van gebruikers te neem. Afhangende van of die toetse aan die gang is, is die dialoog 'n bietjie inkonsekwent.
- DateTime stel jou in staat om datum- en tydinligting te genereer en te verander.
- Bedryfstelsel – Dit stel die robotraamwerk in staat om 'n verskeidenheid bedryfstelselverwante take in die stelsel uit te voer terwyl dit aan die gang is. Dit kan onder andere instruksies uitvoer en data direk produseer en wysig.
- Proses – Hierdie biblioteek word gebruik om prosesse uit te voer deur Python-submodules en die oop klas te gebruik. Die sleutelwoord vir hardloopproses word gebruik om te wag vir 'n lopende proses in die stelsel en dit saam te stel.
- XML is ook 'n teksbiblioteek wat deur die robotraamwerk gebruik word om XML-dokumente te verifieer en te wysig.
- Die string is 'n pakket vir die manipulering en validering van stringe.
- Telnet is van toepassing wat jou toelaat om deur telnet te kommunikeer. Die telnet-biblioteek laat jou toe om aan 'n telnet-bediener oor 'n gewone TCP/IP-verbinding te koppel en opdragte uit te voer.
3. Ingeboude gereedskap
In 'n robotraamwerk is daar hoofsaaklik vier ingeboude gereedskap wat gebruik word:
- Rebot – Gereedskap vir die skep van logs en verslae vanaf XML-uitset en die samesmelting van talle uitsette op dieselfde tyd.
- Testdoc – Gebaseer op toetsgevalle, skep Robot Framework hoëvlak HTML-dokumentasie.
- Libdoc – Sleutelwoorddokumentasiegenerator vir biblioteke en hulpbronlêers.
- Tyd – Robot Framework Tools vir die skoonmaak en omskakeling van datalêers na 'n ander formaat.
4. Toetsgevalle
In plaas van outomatiese toetsgevalle, kan toetsgevalle in die robotraamwerk in basiese Engels geskryf word. Die volgende toetse kan gebruik word om die toetsscenario's te klassifiseer.
- Werkvloeitoetse
- Hoërvlaktoetse
- Datagedrewe toetse
Werkvloeitoetse
Die robotraamwerk se toetsgevalle word gereeld in tabelvorm sintaksis geskryf. 'n Toetsgevaltabel se eerste kolom bevat die toetsname, en die toetsgeval begin met enigiets in die kolom en eindig met die volgende toetsgevalnaam of die tabel se einde.
Kom ons kyk na 'n werklike voorbeeld om te verstaan hoe dit werk.
- 'n Gebruiker kan 'n rekening skep en aanmeld.
- Die gebruiker sal nie kan aanmeld as die wagwoord verkeerd is nie.
Hoëvlak toetse
Die tweede kolom bevat tipies 'n sleutelwoordnaam, met die uitsondering van die instelling van veranderlikes met sleutelwoordgeskrewe waardes.
Die robotraamwerk se toetsgevalle kan gebou word deur slegs hoëvlak sleutelwoorde en geen posisionele parameters te gebruik nie. Oorweeg die volgende voorbeeld om hoëvlaktoetsing verder te begryp.
Datagedrewe toetse
Datagedrewe toetsing isoleer toetsdata eerder as om prosedures te simuleer. In die robotraamwerk definieer die [sjabloon]-instelling die toetsgeval vir 'n datagedrewe toets.
5. Sleutelwoorde
Om toetsgevalle in die robotraamwerk te bou, word sleutelwoorde uit twee bronne gebruik.
- Sleutelwoorde vir 'n biblioteek
- Sleutelwoorde vir die gebruiker
Sleutelwoorde vir 'n biblioteek
Standaardbiblioteke definieer al die laagste vlak terminologie, wat geïmplementeer kan word met behulp van rekenaartale soos Python en Java.
Standaard-, eksterne- en pasgemaakte biblioteke is een van die toetsbiblioteke wat met die robotraamwerk beskikbaar is. Die kernraamwerk sluit ingeboude, skermkiekie, bedryfstelsel en ander standaardbiblioteke in.
Sleutelwoorde vir die gebruiker
Die vermoë om unieke hoëvlak sleutelwoorde uit bestaande frases te genereer is een van die belangrikste kenmerke van die robotontwerp. Om verder te verstaan hoe dit werk, kom ons kyk na 'n voorbeeld.
6. Veranderlikes
Veranderlikes is 'n belangrike deel van elke toetsgeval in 'n robotraamwerk. 'n Veranderlike is 'n uitstekende benadering om enige data in 'n toetsgeval te spesifiseer wat onderhewig is aan verandering of veranderlikheid.
Kom ons kyk hoe om veranderlikes in 'n toetsgeval te definieer.
Spesifikasie van veranderlikes
Afgesien van gebruikergedefinieerde veranderlikes, het die robotraamwerk ingeboude veranderlikes soos $TEMPDIR en $/, wat ons in die vorige voorbeeld gebruik het.
Gebruik van veranderlikes
Veranderlikes kan enige plek in die toetsgeval gebruik word.
Hulle word egter die meeste gebruik as sleutelwoordargumente. Beskou die volgende voorbeeld om te illustreer wat ek bedoel.
7. Organisering van toetsgevalle
Toetsgevallelêers word gebruik om robottoetsgevalle te bou, maar hulle kan ook in gidse gegroepeer word om 'n toetssuite-hiërargie te skep. 'n Toetssuite is 'n groepering van toetsgevalle. 'n Toetsreeks bestaan uit alle lêers wat toetsgevalle bevat.
Deur gebruik te maak van gidse kan die toetsgevalle in 'n hiërargie gestruktureer word; al hierdie gidse verskaf hoëvlak-toetssuites met name wat van die gidsname afgelei is.
Gebruik Opstellings en Teardowns
Die instellingstabel se "Toetsopstelling" en "Toetsafbreek"-opsies kan gebruik word om 'n spesifieke sleutelwoord in 'n toets uit te voer voor of nadat dit klaar is. Jy kan ook "Suite Setup" en "Suite Teardown" gebruik om sleutelwoorde voor of na 'n toetssuite uit te voer.
Jy kan pasgemaakte [Opstelling] en [Teardown] in 'n toetsgeval skep, soortgelyk aan [Sjabloon]. Oorweeg die volgende scenario om dit beter te verstaan.
Gebruik Tags
Met die robotraamwerk kan etikette gebruik word om gratis metadata te verskaf om gevalle te toets. "Force Tags" en "Default Tags" kan gebruik word om etikette in 'n lêer te stel. [Tags], soos [Sjabloon], kan gebruik word om etikette aan 'n enkele toetsgeval toe te ken. Kom ons kyk na 'n voorbeeld om te sien hoe ons etikette gebruik.
Die verslag sal etikette insluit met toetsgevalle wat daaraan gekoppel is, sowel as statistieke gebaseer op die etikette, na uitvoering.
Pros
- Dit is maklik om Robot Framework op te stel.
- Dit is gebaseer op die gebruik van sleutelwoorde.
- Dit stel jou in staat om Augurk te gebruik.
- Dit werk met albei mobiele en webgebaseerde toepassings.
- Die robotraamwerk se grondbeginsels is maklik om te begryp.
- Dit gebruik 'n lae-kode benadering.
- Windows, Mac OS X, Unix en Linux word almal ondersteun.
- Python, IronPython en PyPy is almal ondersteunde programmeertale.
- Dit werk met alle groot webblaaiers.
- Robot Framework is 'n gratis-om-te gebruik, oopbron-outomatiseringsinstrument.
Nadele
- Parallelle toetsuitvoering word nie deur Robot Framework ondersteun nie.
- Die robotraamwerk is moeilik om by te hou.
- HTML-verslae in die Robot Framework is moeilik om te verander.
- Om sommige Robot Framework-kwessies te ontfout kan moeilik wees.
- Inkeping word streng toegepas in die Robot Framework.
Gevolgtrekking
Die Robot Platform is 'n gratis en oopbron-aanvaardingstoets- en aanvaardingstoetsgedrewe ontwikkelingsraamwerk.
Die robotraamwerk se toetsgevalle is gebou op sleutelwoorde wat in 'n tabelstyl uitgedruk word, wat dit maklik maak om te verstaan en akkurate inligting oor die toetsgeval se betekenis gee.
Dit is regtig gerieflik en maklik om te gebruik.
Sommige van julle het dit al voorheen gebruik, so as jy jou toetse opgestel het en jou Android / iOS-toepassing gereed is om te gaan, probeer dit.
Jy sal verbaas wees oor hoe goed dinge verloop en hoe gou aanvaardingstoetsing voltooi kan word.
Lewer Kommentaar