Ce este Seleniu?
Selenium este un cadru de testare automatizat (open-source) gratuit utilizat pentru validarea aplicațiilor web în diferite browsere și platforme. Puteți utiliza mai multe limbaje de programare cum ar fi Java, C #, Python etc. pentru a crea scripturi de testare Selenium. Testarea efectuată folosind instrumentul de testare a seleniului este denumită, de obicei, testarea seleniului.
Selenium Software nu este doar un singur instrument, ci o suită de software, fiecare piesă răspunzând nevoilor diferite de testare Selenium QA ale unei organizații. Iată lista instrumentelor
- Mediul de dezvoltare integrată cu seleniu (IDE)
- Telecomandă Selenium (RC)
- WebDriver
- Grilă de seleniu
În acest moment, Selenium RC și WebDriver sunt îmbinate într-un singur cadru pentru a forma Selenium 2 . Seleniu 1, apropo, se referă la Seleniu RC.
Faceți clic aici dacă videoclipul nu este accesibil
În acest tutorial, veți învăța:
- Ce este Seleniu?
- Cine a dezvoltat Selenium?
- Aceeași problemă privind politica de origine
- Nașterea telecomenzii Selenium (Selenium RC)
- Nașterea rețelei de seleniu
- Nașterea Selenium IDE
- Nașterea WebDriver
- Nașterea seleniului 2
- Deci, De ce Numele Seleniu?
- Scurtă introducere Selenium IDE
- Scurtă introducere Selenium Remote Control (Selenium RC)
- Scurtă introducere WebDriver
- Grilă de seleniu
- Notă privind suportul pentru browser și mediu
- Cum să alegeți instrumentul de seleniu potrivit pentru nevoile dvs.
- O comparație între Seleniu și QTP (acum UFT)
- Avantajele QTP față de seleniu
Cine a dezvoltat Selenium?
Deoarece Selenium este o colecție de instrumente diferite, a avut și dezvoltatori diferiți. Mai jos sunt persoanele cheie care au adus contribuții notabile la proiectul Selenium
În principal, Selenium a fost creat de Jason Huggins în 2004 . Inginer la ThoughtWorks, lucra la o aplicație web care necesita teste frecvente. După ce a realizat că testarea manuală repetitivă a aplicației lor devenea din ce în ce mai ineficientă, el a creat un program JavaScript care va controla automat acțiunile browserului. El a numit acest program drept „ JavaScriptTestRunner ”. Văzând potențialul acestei idei de a ajuta la automatizarea altor aplicații web, el a creat JavaScriptRunner open-source, care ulterior a fost redenumit Selenium Core . |
Aceeași problemă privind politica de origine
Politica privind aceeași origine interzice codului JavaScript accesarea elementelor dintr-un domeniu diferit de locul în care a fost lansat . De exemplu, codul HTML din www.google.com utilizează un program JavaScript „randomScript.js”. Aceeași politică de origine va permite doar randomScript.js să acceseze pagini din google.com, cum ar fi google.com/mail, google.com/login sau google.com/signup. Cu toate acestea, nu poate accesa pagini de pe diferite site-uri, cum ar fi yahoo.com/search sau guru99.com, deoarece aparțin unor domenii diferite.
Acesta este motivul pentru care înainte de Selenium RC, testerii au trebuit să instaleze copii locale atât ale Selenium Core (un program JavaScript), cât și ale serverului web care conține aplicația web testată, astfel încât să aparțină aceluiași domeniu
Nașterea telecomenzii Selenium (Selenium RC)
Din pacate; testerii care foloseau Selenium Core au trebuit să instaleze întreaga aplicație testată și serverul web pe propriile computere locale din cauza restricțiilor impuse de aceeași politică de origine. Așadar, un alt inginer al ThoughtWork, Paul Hammant , a decis să creeze un server care să acționeze ca un proxy HTTP pentru a „păcăli” browserul să creadă că Selenium Core și aplicația web testată provin din același domeniu. Acest sistem a devenit cunoscut sub numele de Selenium Remote Control sau Selenium 1 .
Nașterea rețelei de seleniu
Selenium Grid a fost dezvoltat de Patrick Lightbody pentru a aborda nevoia de a minimiza cât mai mult posibil timpul de execuție a testelor. El a numit inițial sistemul „ QA găzduit ”. A fost capabil să capteze capturi de ecran ale browserului în timpul etapelor semnificative și, de asemenea, să trimită simultan comenzi Selenium către diferite mașini.
Nașterea Selenium IDE
Shinya Kasatani din Japonia a creat Selenium IDE , o extensie Firefox care poate automatiza browserul printr-o funcție de înregistrare și redare. El a venit cu această idee pentru a crește și mai mult viteza în crearea cazurilor de testare. El a donat Selenium IDE proiectului Selenium în 2006 .
Nașterea WebDriver
Simon Stewart a creat WebDriver în 2006, când browserele și aplicațiile web deveneau din ce în ce mai puternice și mai restrictive cu programe JavaScript precum Selenium Core. A fost primul cadru de testare pe mai multe platforme care putea controla browserul de la nivelul sistemului de operare.
Nașterea seleniului 2
În 2008 , întreaga echipă Selenium a decis să combine WebDriver și Selenium RC pentru a forma un instrument mai puternic numit Selenium 2 , WebDriver fiind nucleul . În prezent, Selenium RC este încă în curs de dezvoltare, dar numai în modul de întreținere. Majoritatea eforturilor proiectului Selenium se concentrează acum pe Selenium 2.
Deci, De ce Numele Seleniu?
Numele Selenium a venit dintr-o glumă pe care Jason a spart-o o dată echipei sale. În timpul dezvoltării Selenium, un alt cadru de testare automată a fost popular realizat de compania numită Mercury Interactive (da, compania care inițial făcea QTP înainte de a fi achiziționată de HP). De vreme ce Seleniul este un antidot bine cunoscut pentru otrăvirea cu Mercur, Jason a sugerat acest nume și colegii săi. Așa că așa am ajuns să numim acest cadru până în prezent.
Scurtă introducere Selenium IDE
Selenium Integrated Development Environment (IDE) este cel mai simplu cadru din suita Selenium și este cel mai ușor de învățat . Este un plugin Firefox pe care îl puteți instala cât mai ușor cu alte pluginuri. Cu toate acestea, datorită simplității sale, Selenium IDE trebuie utilizat doar ca instrument de prototipare . Dacă doriți să creați cazuri de testare mai avansate, va trebui să utilizați fie Selenium RC, fie WebDriver.
Scurtă introducere Selenium Remote Control (Selenium RC)
Selenium RC a fost mult timp cadrul de testare emblematic al întregului proiect Selenium. Acesta este primul instrument automat de testare web care le-a permis utilizatorilor să folosească un limbaj de programare pe care îl preferă . Începând cu versiunea 2.25.0, RC poate accepta următoarele limbaje de programare:
- Java
- C #
- PHP
- Piton
- Perl
- Rubin
Scurtă introducere WebDriver
WebDriver se dovedește a fi mai bun decât Selenium IDE și Selenium RC în multe aspecte. Implementează o abordare mai modernă și mai stabilă în automatizarea acțiunilor browserului. WebDriver, spre deosebire de Selenium RC, nu se bazează pe JavaScript pentru testarea Selenium Automation. Controlează browserul comunicând direct cu acesta.
Limbile acceptate sunt aceleași cu cele din Selenium RC.
- Java
- C #
- PHP
- Piton
- Perl
- Rubin
Grilă de seleniu
Selenium Grid este un instrument utilizat împreună cu Selenium RC pentru a rula teste paralele pe diferite mașini și browsere diferite, toate în același timp. Executarea în paralel înseamnă executarea mai multor teste simultan.
Caracteristici:
- Permite executarea simultană a testelor în mai multe browsere și medii.
- Economisește enorm timpul .
- Utilizează conceptul hub-și-noduri . Hubul acționează ca o sursă centrală de comenzi Selenium către fiecare nod conectat la acesta.
Notă privind suportul pentru browser și mediu
Datorită diferențelor lor arhitecturale, Selenium IDE, Selenium RC și WebDriver acceptă diferite seturi de browsere și medii de operare.
Seleniu IDE | WebDriver | |
---|---|---|
Suport pentru browser | Mozilla Firefox | Internet Explorer versiunile 6-11, atât pe 32 cât și pe 64 de biți Microsoft Edge versiunea 12.10240 și versiuni ulterioare (suport parțial unele funcționalități în curs de dezvoltare) Firefox 3.0 și versiuni superioare Google Chrome 12.0. și mai sus Opera 11.5 și mai sus Android - 2.3 și mai sus pentru telefoane și tablete (dispozitive și emulatoare) iOS 3+ pentru telefoane (dispozitive și emulatoare) și 3.2+ pentru tablete (dispozitive și emulatoare) HtmlUnit 2.9 și mai sus |
Sistem de operare | Windows, Mac OS X, Linux | Toate sistemele de operare unde browserele de mai sus pot rula. |
Notă: Selenium WebDriver este denumit succesorul Selenium RC, care a fost depreciat și anunțat oficial de SeleniumHQ.
Cum să alegeți instrumentul de seleniu potrivit pentru nevoile dvs.
Instrument | De ce să alegi? |
---|---|
Seleniu IDE |
|
Seleniu RC |
|
WebDriver |
|
Grilă de seleniu |
|
O comparație între Seleniu și QTP (acum UFT)
Quick Test Professional (QTP) este un instrument propriu de testare automată deținut anterior de compania Mercury Interactive înainte de a fi achiziționat de Hewlett-Packard în 2006 . Selenium Tool Suite are multe avantaje față de QTP, așa cum este detaliat mai jos -
Avantajele și beneficiile seleniului față de QTP
Seleniu | QTP |
---|---|
Open source , gratuit de utilizat și gratuit. | Comercial . |
Foarte extensibil | Suplimente limitate |
Poate rula teste pe diferite browsere | Poate rula teste numai în Firefox , Internet Explorer și Chrome |
Suportă diverse sisteme de operare | Poate fi utilizat numai în Windows |
Suportă dispozitive mobile | QTP acceptă automatizarea testelor aplicațiilor mobile (iOS și Android) utilizând soluția HP numită - HP Mobile Center |
Poate executa teste în timp ce browserul este minimizat | Trebuie ca aplicația să fie testată pentru a fi vizibilă pe desktop |
Poate executa teste în paralel . | Poate executa numai în paralel, dar folosind Quality Center, care este din nou un produs plătit. |
Avantajele QTP față de seleniu
QTP | Seleniu |
---|---|
Poate testa atât aplicațiile web, cât și cele desktop | Poate testa doar aplicații web |
Vine cu un depozit de obiecte încorporat | Nu are un depozit de obiecte încorporat |
Se automatizează mai repede decât Selenium, deoarece este un IDE complet caracteristic. | Se automatizează la un ritm mai lent, deoarece nu are un IDE nativ și numai IDE terță parte poate fi utilizat pentru dezvoltare |
Testarea bazată pe date este mai ușor de realizat, deoarece are tabele de date globale și locale încorporate . | Testarea bazată pe date este mai greoaie, deoarece trebuie să vă bazați pe capacitățile limbajului de programare pentru setarea valorilor pentru datele de testare |
Poate accesa controalele din browser (cum ar fi bara Favorite, bara de adrese, butoanele Înapoi și Înainte etc.) | Nu se pot accesa elemente în afara aplicației web testate |
Oferă asistență profesională pentru clienți | Nu este oferită asistență oficială pentru utilizatori. |
Are capacitate nativă de a exporta date de test în formate externe | Nu are capacitatea nativă de a exporta date de rulare în formate externe |
Parametrizarea este construită | Parametrizarea se poate face prin programare, dar este dificil de implementat. |
Rapoartele de testare sunt generate automat | Nu există suport nativ pentru a genera rapoarte de testare / eroare. |
Deși în mod clar, QTP are capabilități mai avansate, Selenium este mai mare decât QTP în trei domenii principale:
- Cost (deoarece Seleniu este complet gratuit)
- Flexibilitate (datorită unui număr de limbaje de programare, browsere și platforme pe care le poate suporta)
- Testarea în paralel (ceva ce QTP este capabil, dar numai cu utilizarea Centrului de calitate)
rezumat
- Întreaga suită de testare software Selenium este alcătuită din patru componente:
- Selenium IDE, un program de completare Firefox pe care îl puteți utiliza numai la crearea unor cazuri de testare și a unor suite de testare relativ simple.
- Selenium Remote Control, cunoscut și sub numele de Selenium 1, care este primul instrument Selenium care le-a permis utilizatorilor să folosească limbaje de programare în crearea de teste complexe.
- WebDriver, cea mai nouă descoperire care permite scripturilor dvs. de test să comunice direct cu browserul, controlându-l astfel de la nivelul sistemului de operare.
- Selenium Grid este, de asemenea, un instrument utilizat cu Selenium RC pentru a executa teste paralele în diferite browsere și sisteme de operare.
- Selenium RC și WebDriver au fost îmbinate pentru a forma Selenium 2.
- Seleniul este mai avantajos decât QTP în ceea ce privește costurile și flexibilitatea. De asemenea, vă permite să rulați teste în paralel, spre deosebire de QTP, unde vi se permite să rulați teste doar secvențial.