Seleen ei tee QTP mõistmist lihtsaks? See on programmeerijate lemmik, kuid on suur takistus testimise alustajatele.
Mis on seleen? Mis on seleenium-RC? Mis on Webdriver? Milline on RC ja Webdriveri suhe? Milline on seos Webdriveri ja programmeerimiskeelte vahel? Kas Selenium suudab skripte paralleelselt käivitada?
Siin ütleb putukate meister lihtsalt, et nende keeruline suhe on keeruline. Sea nende suhe selgeks, et seda tõeliselt kasutada.
Mis on seleen?
Selenium on veebiautomaatika testimise tööriistakomplekt, mis sisaldab IDE-d, Grid-i, RC-d (selenium 1.0), WebDriverit (selenium 2.0) jne. Selenium IDE on Firefoxi brauseri plugin. Paku lihtsaid skripti salvestamise, monteerimise ja taasesituse funktsioone. Testjälgede jaotamiseks kasutatakse seleenvõrku. Nüüd on see integreeritud Selenium Serverisse. RC-d ja WebDriverit tuleks vaadelda pigem spetsifikatsioonide komplektina, mis määratleb protokollid, kuidas kliendi sammud brauseriga suhtlevad. ning elementide positsioneerimise ja manipuleerimise liides.
Mis on WebDriver? Seleniumi automatiseeritud testimisega alustavatel tudengitel ei ole lihtne mõista, mis API on ja kuidas see seostub programmeerimiskeeltega.
http://www.w3.org/TR/2013/WD-webdriver-20130117/
Kui ma esimest korda õppisin Seleniumi (WebDriverit), võttis selle dokumendi tõlkimine mul nädala, aga ma ei saanud aru, mis see on. Tegelikult on see põhiline protokolli spetsifikatsioon. Näiteks Webdriveri API ütleb, et peame pakkuma meetodit lehe elementide ID-de leidmiseks.
Kuidas Webdriver korraldab ja täidab kasutusjuhtumeid?
Vabandust, webdriver ei tee seda.
Meetodite (kasutusjuhtumite) organiseerimine nende leheelementide manipuleerimiseks ja testitulemuste sisestamine toimub programmeerimiskeele ühiktestimise raamistiku abil. Näiteks Java Junit ja TestNG ühiktestimise raamistikud, Pythoni UnitTest ühiktestimise raamistik jne.
Milline on seos Selenium RC ja WebDriveri vahel?
RC ja WebDriver on sarnased selle poolest, et neid võib pidada veebilehtede haldamiseks mõeldud spetsifikatsioonide kogumiks. Muidugi toimivad need erinevalt.
Selenium RC käivitab brauseris Javascrip{filter}t rakenduse, kasutades brauseri sisseehitatud Javascrip{filter}t tõlkijat seleeni käskude tõlkimiseks ja täitmiseks (seleeni keel on seleenikäskude kogum).
WebDriver juhib brauserit otse natiivse brauseritoe või laienduste kaudu. WebDriver on arendatud üksikutele brauseritele ja asendab testitava veebirakenduse sisseehitatud Javascrip{filtering}t. Tihe integratsioon brauseritega võimaldab luua keerukamaid teste, vältides Javascrip{filtering}t turvamudeli piiranguid. Lisaks brauseritootjate toele kasutab WebDriver ka operatsioonisüsteemi tasandi kutseid kasutaja sisendi simuleerimiseks.
Tundub, et webdriver on natuke parem. Ühilduvuse säilitamiseks eksisteerivad RC ja veebidraiver kõrvuti Selenium 2.0-s, kuid seleenium 2.0 viitab üldiselt veebidraiverile.
Paralleelse ja hajutatud
Mõned õpilased on uudishimulikud, kuidas testjuhtumeid paralleelselt käivitada, ning paralleelsus nõuab mitme kasutusjuhtumi täitmist "samaaegselt", mida realiseerib ka programmeerimiskeelte mitmelõimeline tehnoloogia.
Kas Selenium Grid ei ole võimeline hajutatud täitmiseks, küsid sa? Levitamise kontseptsioon seisneb selles, et kirjutada kasutusjuhtum, mida saab täita erinevatel platvormidel, näiteks testjuhtum arvutis A – saate kutsuda arvuti B Firefoxi brauserit (linux), et käivitada testjuhtum arvutis A; Saad ka kutsuda arvuti C (Windows) Chrome'i brauseri, et käivitada testjuhtum arvutis A. See ongi jaotuse kontseptsioon.
|