most popular test automation frameworks with pros
V zadnjih nekaj vajah o seleniju smo razpravljali o različnih pogosto in pogosto uporabljenih ukazi v WebDriverju , ravnanje s spletnimi elementi, kot so spletne tabele, okvirji in obravnavanje izjem v skriptih selena.
O vsakem od teh ukazov smo razpravljali z vzorčnimi delčki kode in primeri, da bi vam omogočili učinkovito uporabo teh ukazov, kadar koli se srečate s podobnimi situacijami. Med ukazi, o katerih smo razpravljali v prejšnji vadnici, si le nekateri izmed njih pripisujejo izreden pomen.
Ko napredujemo v seriji Selenium, bi se osredotočili na Ustvarjanje okvira za avtomatizacijo v naslednjih nekaj prihajajočih vajah. Osvetlili bi tudi različne vidike okvira za avtomatizacijo, vrste okvirov za avtomatizacijo, prednosti uporabe okvira in osnovne komponente, ki sestavljajo okvir za avtomatizacijo.
Kaj se boste naučili:
- Kaj je Framework?
- Test Automation Framework
- Vrste okvira za avtomatizacijo preskusov
- # 1) Okvir za testiranje na osnovi modula
- # 2) Okvir za testiranje arhitekture knjižnice
- # 3) Okvir za preskušanje na podlagi podatkov
- # 4) Okvir za testiranje na podlagi ključnih besed
- # 5) Okvir hibridnega testiranja
- # 6) Okvir za razvoj, ki temelji na vedenju
- Zaključek
- Priporočeno branje
Kaj je Framework?
Šteje se, da je okvir kombinacija določenih protokolov, pravil, standardov in smernic, ki jih je mogoče vključiti ali upoštevati kot celoto, da se izkoristijo prednosti gradbenih odrov, ki jih zagotavlja okvir.
Razmislimo o resničnem scenariju.
Zelo pogosto uporabljamo dvigala ali dvigala. Obstaja nekaj smernic, ki so omenjene v dvigalu, ki jih je treba upoštevati in poskrbeti, da se izkoristijo največje možne koristi in dolgotrajna storitev sistema.
Tako so uporabniki morda opazili naslednje smernice:
- Preverite maksimalno zmogljivost dvigala in ne vstopajte v dvigalo, če je največja prostornina dosegla.
- V nujnih primerih ali težavah pritisnite alarmni gumb.
- Potniku dovolite, da izstopi iz dvigala, če sploh obstaja, preden vstopi v dvigalo in se postavite pred vrata.
- V primeru požara v stavbi ali v primeru kakršne koli naključne situacije se izogibajte uporabi dvigala.
- Ne igrajte se in ne skačite v dvigalo.
- Ne kadite v dvigalu.
- Pokličite pomoč / pomoč, če se vrata ne odprejo ali če dvigalo sploh ne deluje. Ne poskušajte na silo odpreti vrat.
Obstaja lahko veliko več pravil ali sklopov smernic. Če te smernice upoštevajo, sistem naredi uporabnikom bolj koristen, dostopen, razširljiv in manj težaven.
Zdaj, ko govorimo o 'Okvirjih za avtomatizacijo preskusov', se usmerimo k njim.
Test Automation Framework
'Test Automation Framework' je gradbeni oder, ki je postavljen tako, da zagotavlja izvedbeno okolje za skripte za avtomatizacijo preskusov. Okvir uporabniku zagotavlja različne prednosti, ki mu pomagajo pri učinkovitem razvoju, izvajanju in poročanju o skriptih za avtomatizacijo. Je bolj kot sistem, ki je bil ustvarjen posebej za avtomatizacijo naših testov.
V zelo preprostem jeziku lahko rečemo, da je ogrodje konstruktivna mešanica različnih smernic, standardov kodiranja, konceptov, procesov, praks, hierarhij projektov, modularnosti, mehanizma poročanja, vbrizgavanja testnih podatkov ipd. Tako lahko uporabnik upošteva te smernice, medtem ko avtomatizira aplikacijo in izkoristi različne produktivne rezultate.
Prednosti so lahko v različnih oblikah, kot so enostavnost skriptiranja, razširljivost, modularnost, razumljivost, opredelitev postopka, ponovna uporabnost, stroški, vzdrževanje itd. Tako lahko razvijalci, da lahko izkoristijo te prednosti, uporabljajo eno ali več okvir za avtomatizacijo preskusov.
Poleg tega se potreba po enotnem in standardnem okviru za avtomatizacijo preizkusov pojavi, ko imate veliko razvijalcev, ki delajo na različnih modulih iste aplikacije in ko se želimo izogniti situacijam, ko vsak od razvijalcev izvaja svoj pristop k avtomatizaciji.
Opomba : Upoštevajte, da je preskusni okvir vedno neodvisen od aplikacije, torej ga je mogoče uporabiti s katero koli aplikacijo, ne glede na zaplete (na primer tehnološki sklad, arhitektura itd.) Aplikacije, ki se preskuša. Okvir mora biti prilagodljiv in vzdržen.
Prednost okvira za avtomatizacijo preskusov
- Ponovna uporaba kode
- Največja pokritost
- Scenarij okrevanja
- Nizkocenovno vzdrževanje
- Minimalni ročni poseg
- Enostavno poročanje
Vrste okvira za avtomatizacijo preskusov
Zdaj, ko imamo osnovno predstavo o tem, kaj je avtomatizacijski okvir, vas bomo v tem poglavju napovedali z različnimi vrstami testnih avtomatiziranih okvirov, ki so na voljo na trgu. Poskusili bi tudi osvetliti njihove prednosti in slabosti ter priporočila glede uporabnosti.
Danes je na voljo različna paleta sistemov za avtomatizacijo. Ti okviri se lahko med seboj razlikujejo glede na podporo različnim ključnim dejavnikom za avtomatizacijo, kot so ponovna uporabnost, enostavnost vzdrževanja itd.
Pogovorimo se o nekaj najpogosteje uporabljenih okvirih za avtomatizacijo preskusov:
- Okvir testiranja na osnovi modula
- Okvir za testiranje arhitekture knjižnice
- Okvir za preskušanje na podlagi podatkov
- Okvir za testiranje na podlagi ključnih besed
- Hibridni preskusni okvir
- Razvojni okvir, ki temelji na vedenju
(kliknite sliko za ogled povečave)
Podrobno se pogovorimo o vsakem od njih.
Pred tem pa bi rad omenil tudi, da kljub temu, da ima ta okvir, uporabnik vedno vzpodbudi, da gradi in oblikuje svoj lastni okvir, ki je najbolj primeren za njegove potrebe projekta.
# 1) Okvir za testiranje na osnovi modula
Okvir za testiranje, ki temelji na modulih, temelji na enem od splošno znanih konceptov OOP - abstrakcija. Okvir deli celotno aplikacijo »Test Test« na številne logične in izolirane module. Za vsak modul izdelamo ločen in neodvisen testni skript. Ko torej te testne skripte vzamejo skupaj, zgradi večji testni skript, ki predstavlja več kot en modul.
Ti moduli so ločeni s plastjo abstrakcije tako, da spremembe, narejene v odsekih aplikacije, ne vplivajo na ta modul.
Prednosti:
- Okvir uvaja visoko stopnjo modularizacije, ki vodi do lažjega in stroškovno učinkovitega vzdrževanja.
- Okvir je precej prilagodljiv
- Če se spremembe izvajajo v enem delu aplikacije, je treba popraviti samo preskusni skript, ki predstavlja ta del aplikacije, da ostanejo vsi ostali deli nedotaknjeni.
Slabosti:
- Med izvajanjem testnih skriptov za vsak modul posebej v testne skripte vgradimo testne podatke (Podatke, s katerimi naj bi testirali). Kadar naj bi testirali z drugačnim naborom testnih podatkov, zahteva, da se manipulacije izvajajo v testnih skriptah.
# 2) Okvir za testiranje arhitekture knjižnice
Okvir za testiranje knjižnične arhitekture je temeljno in v osnovi zasnovan na modularnem preskusnem okviru z nekaterimi dodatnimi prednostmi. Namesto da bi testirano aplikacijo razdelili na testne skripte, aplikacijo ločimo na funkcije, oziroma skupne funkcije lahko uporabljajo tudi drugi deli aplikacije. Tako ustvarimo skupno knjižnico, ki sestavlja skupne funkcije za preizkušano aplikacijo. Zato lahko te knjižnice pokličete iz testnih skriptov, kadar koli je to potrebno.
Osnovni temelj ogrodja je določiti skupne korake in jih združiti v funkcije v knjižnici ter po potrebi poklicati te funkcije v testnih skriptih.
Primer : Korake za prijavo lahko združite v funkcijo in shranite v knjižnico. Tako lahko vsi testni skripti, ki so potrebni za prijavo v aplikacijo, pokličejo to funkcijo, namesto da bi znova pisali kodo.
Prednosti:
- Tako kot modularni okvir tudi ta okvir uvaja visoko stopnjo modularizacije, ki vodi tudi do lažjega in stroškovno učinkovitejšega vzdrževanja in razširljivosti.
- Ko ustvarjamo skupne funkcije, ki jih lahko različni testni skripti učinkovito uporabljajo v okviru. Tako okvir uvaja veliko stopnjo ponovne uporabnosti.
Slabosti:
- Tako kot modularno ogrodje se podatki o preskusu vnesejo v testne skripte, zato bi bile za vsako spremembo testnih podatkov potrebne spremembe tudi v testnem skriptu.
- Z uvedbo knjižnic se ogrodje nekoliko zaplete.
# 3) Okvir za preskušanje na podlagi podatkov
Medtem ko avtomatiziramo ali preizkušamo katero koli aplikacijo, bo včasih morda treba večkrat preizkusiti isto funkcionalnost z različnim naborom vhodnih podatkov. Tako v takih primerih ne moremo dovoliti, da so testni podatki vdelani v testni skript. Zato je priporočljivo, da preskusne podatke hranite v neki zunanji zbirki podatkov zunaj testnih skriptov.
Data Driven Testing Framework uporabniku pomaga ločiti logiko testnega skripta in testne podatke med seboj. Uporabniku omogoča shranjevanje testnih podatkov v zunanjo bazo podatkov. Zunanje zbirke podatkov so lahko datoteke lastnosti, datoteke xml, datoteke excel, besedilne datoteke, datoteke CSV, odlagališča ODBC itd. Podatki so običajno shranjeni v parih 'Ključ-vrednost'. Tako lahko s ključem dostopate do podatkov in jih vnesete v testne skripte.
Opomba : Preskusni podatki, shranjeni v zunanji datoteki, lahko pripadajo matriki pričakovane vrednosti in matrici vhodnih vrednosti.
Primer:
Razumimo zgornji mehanizem s pomočjo primera.
Upoštevajmo funkcionalnost »Gmail - Prijava«.
Korak 1: Prvi in najpomembnejši korak je ustvariti zunanjo datoteko, ki shranjuje preskusne podatke (vhodni podatki in pričakovani podatki). Oglejmo si na primer list excel.
2. korak: Naslednji korak je izpolniti preskusne podatke v testni skript za avtomatizacijo. V ta namen lahko za branje testnih podatkov uporabimo več API-jev.
public void readTD(String TestData, String testcase) throws Exception { TestData=readConfigData(configFileName,'TestData',driver); testcase=readConfigData(configFileName,'testcase',driver); FileInputStream td_filepath = new FileInputStream(TestData); Workbook td_work =Workbook.getWorkbook(td_filepath); Sheet td_sheet = td_work.getSheet(0); if(counter==0) { for (int i = 1,j = 1; i <= td_sheet.getRows()-1; i++){ if(td_sheet.getCell(0,i).getContents().equalsIgnoreCase(testcase)){ startrow = i; arrayList.add(td_sheet.getCell(j,i).getContents()); testdata_value.add(td_sheet.getCell(j+1,i).getContents());}} for (int j = 0, k = startrow +1; k <= td_sheet.getRows()-1; k++){ if (td_sheet.getCell(j,k).getContents()==''){ arrayList.add(td_sheet.getCell(j+1,k).getContents()); testdata_value.add(td_sheet.getCell(j+2,k).getContents());}} } counter++; }
Zgornja metoda pomaga pri branju testnih podatkov, spodnji testni korak pa uporabniku pomaga, da v GUI vnese testne podatke.
element.sendKeys (obj_value.get (obj_index));
Prednosti:
- Najpomembnejša značilnost tega okvira je, da znatno zmanjša skupno število skriptov, potrebnih za pokrivanje vseh možnih kombinacij testnih scenarijev. Tako je za preizkus celotnega nabora scenarijev potrebna manjša količina kode.
- Kakršna koli sprememba matrike testnih podatkov ne bi ovirala kode testnega skripta.
- Poveča prožnost in vzdrževanje
- Izvede se lahko en preskusni scenarij s spreminjanjem vrednosti testnih podatkov.
Slabosti:
- Postopek je zapleten in zahteva dodaten napor za iskanje testnih virov podatkov in mehanizmov branja.
- Zahteva znanje programskega jezika, ki se uporablja za razvoj testnih skriptov.
# 4) Okvir za testiranje na podlagi ključnih besed
Okvir za testiranje, ki ga poganjajo ključne besede, je razširitev okvira za testiranje na podlagi podatkov v smislu, da ne le ločuje preskusne podatke od skriptov, temveč tudi ohranja določen nabor kode, ki pripada testnemu skriptu, v zunanjo podatkovno datoteko.
Ta nabor kode je znan kot Ključne besede, zato je ogrodje tako poimenovano. Ključne besede so samoumevne glede tega, katera dejanja je treba izvesti v aplikaciji.
Ključne besede in preskusni podatki so shranjeni v tabelarni strukturi, zato jo v javnosti tudi štejejo za ogrodje, ki ga poganja tabela. Upoštevajte, da so ključne besede in testni podatki entitete, neodvisne od orodja za avtomatizacijo, ki se uporablja.
PrimerTestni primer preskusnega okvira, ki temelji na ključnih besedah
V zgornjem primeru so ključne besede, kot so prijava, klik in preverjanje povezave, določene v kodi.
Glede na naravo aplikacije je mogoče izpeljati ključne besede. In vse ključne besede je mogoče v enem testnem primeru večkrat ponovno uporabiti. Locator vsebuje vrednost lokatorja, ki se uporablja za prepoznavanje spletnih elementov na zaslonu ali preskusnih podatkov, ki jih je treba navesti.
Vse zahtevane ključne besede so oblikovane in umeščene v osnovno kodo ogrodja.
Prednosti:
brezplačna spletna mesta za anime za ogled na spletu
- Poleg prednosti, ki jih zagotavlja testiranje na podlagi podatkov, ogrodje, ki temelji na ključnih besedah, od uporabnika ne zahteva znanja o skriptiranju, v nasprotju s testiranjem na podlagi podatkov.
- Eno ključno besedo je mogoče uporabiti v več testnih skriptih.
Slabosti:
- Uporabnik mora biti dobro seznanjen z mehanizmom za ustvarjanje ključnih besed, da lahko učinkovito izkoristi prednosti, ki jih zagotavlja okvir.
- Okvir se postopoma zapleta, ko raste in se uvajajo številne nove ključne besede.
# 5) Okvir hibridnega testiranja
Kot že ime pove, je hibridni testni okvir kombinacija več kot enega zgoraj navedenega okvira. Najboljše pri takšni nastavitvi je, da izkorišča prednosti vseh vrst povezanih okvirov.
Primerhibridnega okvira
Testni list bi vseboval ključne besede in podatke.
V zgornjem primeru stolpec ključnih besed vsebuje vse zahtevane ključne besede, uporabljene v določenem testnem primeru, stolpec podatkov pa poganja vse podatke, zahtevane v testnem scenariju. Če kateri koli korak ne potrebuje nobenega vnosa, lahko ostane prazen.
# 6) Okvir za razvoj, ki temelji na vedenju
Okvir za razvoj na podlagi vedenja omogoča avtomatizacijo funkcionalnih validacij v lahko berljivi in razumljivi obliki za poslovne analitike, razvijalce, preizkuševalce itd. Takšni okviri ne zahtevajo, da je uporabnik seznanjen s programskim jezikom. Za BDD so na voljo različna orodja, kot so kumare, Jbehave itd. Podrobnosti o okolju BDD so opisane kasneje v vadnici Kumare. Prav tako smo razpravljali o podrobnostih o jeziku Gherkin za pisanje testnih primerov v kumarah.
Komponente ogrodja za avtomatizacijsko testiranje
Čeprav je zgornja slikovna predstavitev okvira samoumevna, bi vseeno izpostavili nekaj točk.
- Repozitorij predmetov : Akronim Object Repository kot OR je sestavljen iz nabora tipov lokatorjev, povezanih s spletnimi elementi.
- Podatki o preskusu: Vhodni podatki, s katerimi bi preizkusili scenarij, in lahko so pričakovane vrednosti, s katerimi bi primerjali dejanske rezultate.
- Konfiguracijska datoteka / Konstante / Nastavitve okolja : V datoteki so shranjene informacije o URL-ju aplikacije, specifičnih informacijah brskalnika itd. Običajno so informacije, ki ostanejo statične v celotnem okviru.
- Generiki / Programska logika / Bralci : To so razredi, ki shranjujejo funkcije, ki jih je mogoče pogosto uporabljati v celotnem okviru.
- Izdelajte orodja in nenehno integracijo : To so orodja, ki pomagajo zmožnostim okolja za ustvarjanje poročil o preskusih, e-poštnih obvestil in informacij o dnevniku.
Zaključek
Zgoraj prikazani okviri so najbolj priljubljeni okviri, ki jih uporablja bratstvo za testiranje. Obstajajo tudi različni drugi okviri. Za vse nadaljnje vaje bi temeljili na Okvir za preskušanje na podlagi podatkov .
V tej vadnici smo razpravljali o osnovah avtomatiziranega okvira. Razpravljali smo tudi o vrstah okvirov, ki so na voljo na trgu.
Naslednja vadnica št. 21 : V naslednji vadnici bi na kratko vam predstavim vzorčni okvir, MS Excel, v katerem bi bili shranjeni testni podatki, odlične manipulacije itd.
Do takrat vas prosimo, da povprašate o okvirih avtomatizacije.
Priporočeno branje
- 7 dejavnikov, ki vplivajo na preskusno oceno projekta avtomatizacije selena - vadnica za selen št. 32
- Uvod v Selenium WebDriver - Vadnica za selenij št. 8
- Učinkoviti scenariji za skriptiranje in odpravljanje težav s selenom - Vadnica za selenij št. 27
- Odpravljanje napak v skriptih selena z dnevniki (Vadnica za Log4j) - Vadnica za selen # 26
- 30+ najboljših vadnic o selenu: Naučite se selena z resničnimi primeri
- Vadnice za globinsko zasenčenje za začetnike
- Kako poiskati elemente v brskalnikih Chrome in IE za izdelavo skriptov za selen - Vadnica za selen št. 7
- Vadnica za kumare selena: Integracija kumar Java Selenium WebDriver