Ce Este Selenium? Tutorial de introducere
⚡ Rezumat inteligent
Selenium este un cadru de testare automată gratuit, open-source, conceput pentru a valida aplicații web pe browsere și platforme folosind mai multe limbaje de programare. Acesta permite automatizarea testelor robustă, eficientă și scalabilă pentru practicile moderne de asigurare a calității.

Ce Este Selenium?
Selenium este un cadru de testare automatizat gratuit (open-source) utilizat pentru validarea aplicațiilor web pe diferite browsere și platforme. Puteți utiliza mai multe limbaje de programare, cum ar fi Java, C#, Python, etc pentru a crea Selenium Scripturi de testare. Testarea efectuată folosind Selenium instrumentul de testare este de obicei denumit Selenium Testarea.
Perspective ale experților
„Evitați să folosiți întârzieri fixe de repaus în teste. În schimb, folosiți așteptări explicite (cum ar fi WebDriverWait) pentru a aștepta încărcarea elementelor. Acest lucru face ca scripturile dvs. să fie mai fiabile și mai rapide, deoarece răspund dinamic la condițiile reale ale paginii - o practică cheie pentru studenții de pretutindeni, începând cu…” Selenium. "
👉 Înscrie-te pentru Live Gratuit Selenium Proiect de testare
Selenium Suita de instrumente
Selenium Software-ul nu este doar un singur instrument, ci o suită de software, fiecare piesă fiind diferită Selenium Nevoile de testare QA ale unei organizații. Iată lista instrumentelor
- Selenium Mediu de dezvoltare integrat (IDE)
- Selenium Telecomanda (RC)
- webdriver
- Selenium Grilă
Pentru moment, Selenium RC și WebDriver sunt îmbinate într-un singur cadru pentru a se forma Selenium 2. Selenium 1, de altfel, se referă la Selenium RC.
Tutorial video Selenium
Clic aici dacă videoclipul nu este accesibil
Cine s-a dezvoltat Selenium?
Întrucât Selenium este o colecție de instrumente diferite, a avut și diferiți dezvoltatori. Mai jos sunt persoanele cheie care au adus contribuții notabile la Selenium Proiect
În primul rând, Selenium a fost creat de Jason Huggins în 2004Inginer la ThoughtWorks, lucra la o aplicație web care necesita teste frecvente. Realizând că testarea manuală repetitivă a aplicației lor devenea din ce în ce mai ineficientă, a creat o JavaScenariu program care controla automat acțiunile browserului. El a numit acest program JavaScriptTestRunner.”
Văzând potențialul acestei idei de a ajuta la automatizarea altor aplicații web, el a făcut JavaScriptRunner open-source, care a fost ulterior redenumit Selenium Nucleu. Pentru cei interesați să exploreze alte opțiuni pentru testarea aplicațiilor web, aruncați o privire la acestea Selenium alternative.
Aceeași problemă de politică de origine
Politica aceeași origine interzice JavaCod script care provine din accesarea elementelor dintr-un domeniu diferit de cel în care a fost lansat. De exemplu, codul HTML din www.google.com folosește un JavaProgramul script „randomScript.js”. Aceeași politică de origine va permite programului randomScript.js să acceseze doar 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 site-uri diferite, cum ar fi yahoo.com/search sau guru99.com, deoarece acestea aparțin unor domenii diferite.
Acesta este motivul pentru care, înainte de Selenium RC, testerii trebuiau să instaleze copii locale ale ambelor Selenium Miez (a Javaprogram script) și serverul web care conține aplicația web testată, deci acestea ar aparține aceluiași domeniu
Nașterea de Selenium Telecomandă (Selenium RC)
.png)
Din păcate, testerii care folosesc Selenium Core a trebuit să instaleze întreaga aplicație testată și serverul web pe propriile computere locale din cauza restricțiilor impuse de politica de aceeași origineAșadar, un alt inginer de la ThoughtWorks, 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 Control de la distanță or Selenium 1.
Nașterea de Selenium Grilă
.jpg)
Selenium Grid a fost dezvoltat de Patrick Lightbody pentru a răspunde nevoii de a minimiza pe cât posibil timpii de execuție a testelor. Inițial, el a numit sistemul „Asigurare calitate găzduită.” A fost capabil să facă capturi de ecran ale browserului în timpul unor etape importante și, de asemenea, să trimitand afara Selenium comenzi către diferite mașini simultan.
Nașterea de Selenium IDE
.jpg)
Shinya Kasatani a Japoniei creat Selenium IDE, A Firefox și o extensie Chrome 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 de creare a cazurilor de testare. El a donat Selenium IDE la Selenium Proiect în 2006.
Nașterea lui WebDriver
.jpg)
Simon Stewart a creat WebDriver circa 2006 când browserele și aplicațiile web deveneau mai puternice și mai restrictive cu JavaPrograme script precum Selenium Miezul. A fost primul framework de testare multiplatformă care putea controla browserul la nivel de sistem de operare.
Nașterea de Selenium 2
In 2008, Întregul Selenium Echipa a decis să fuzioneze WebDriver și Selenium RC pentru a forma un instrument mai puternic numit Selenium 2, Cu WebDriver fiind nucleul. În prezent, Selenium RC este încă în curs de dezvoltare, dar numai în modul de întreținere. Majoritatea Selenium Eforturile proiectului sunt acum concentrate Selenium 2.
Deci, de ce numele Selenium?
Numele Selenium a venit dintr-o glumă pe care Jason a spus-o odată echipei sale. Pe parcursul Seleniumdezvoltarea lui, alta testare automată cadrul a fost realizat popular de compania numită Mercury Interactiv (da, compania care a produs inițial QTP înainte de a fi achiziționată de HP). Din moment ce Selenium este un antidot binecunoscut pentru Mercury otrăvire, Jason a sugerat acest nume și colegii săi l-au luat. Așa am ajuns să numim acest cadru până în prezent.
Ce Este Selenium IDE?
Selenium Mediul de dezvoltare integrat (IDE) este cel mai simplu cadru în Selenium suită și este cel mai usor de invatat. Este un Chrome și Firefox conecteaza pe care îl poți instala cât de ușor poți cu alte plugin-uri. Cu toate acestea, datorită simplității sale, Selenium IDE ar trebui să fie folosit doar ca a instrument de prototipare. Dacă doriți să creați cazuri de testare mai avansate, va trebui să utilizați oricare dintre ele Selenium RC sau WebDriver.
Ce Este Selenium Telecomandă (Selenium RC)?
Selenium RC a fost cadrul de testare emblematic a întregului Selenium proiect pentru o lungă perioadă de timp. Acesta este primul automat testarea web instrument care permite utilizatorilor să folosească un limbaj de programare pe care îl preferă. Începând cu versiunea 2.25.0, RC poate suporta următoarele limbaje de programare:
Ce este 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 Selenium Testarea automatizării. Acesta controlează browserul comunicând direct cu acesta.
Limbile acceptate sunt aceleași cu cele din Selenium RC.
- Java
- C#
- PHP
- Python
- Perl
- Rubin
Ce Este Selenium Grilă?
Selenium Grila este un instrument folosit împreună cu Selenium RC să alerge teste paralele pe diferite mașini și browsere diferite, toate în același timp. Execuția în paralel înseamnă rularea mai multor teste simultan.
Caracteristici:
- Activează derularea simultană a testelor in mai multe browsere și medii.
- Salveaza timp enorm.
- Utilizează hub-and-nodes concept. Hub-ul acționează ca o sursă centrală de Selenium comenzi către fiecare nod conectat la acesta.
Selenium Suport pentru browser și mediu
Din cauza diferențelor lor arhitecturale, Selenium SDI, Selenium RC și WebDriver acceptă diferite seturi de browsere și medii de operare.
| Selenium IDE | webdriver | |
|---|---|---|
| Suport pentru browser | Mozilla Firefox și Chrome | Google Chrome 12+ Firefox Internet Explorer 7+ și Edge Safari, HtmlUnit și PhantomUnit |
| Operating System | Windows, Mac OS X, Linux | Toate sistemele de operare în care pot rula browserele de mai sus. |
Notă: Opera Driverul nu mai funcționează
Cum să alegi clinica potrivită Selenium Instrument pentru nevoile dumneavoastră
| Instrument | De ce să alegi? |
|---|---|
| Selenium IDE |
|
| Selenium RC |
|
| webdriver |
|
| Selenium Grilă |
|
Studii de caz din lumea reală
🔍 Studiu de caz 1: Compatibilitate între browsere pentru tablouri de bord SaaS
Scenariu
O companie de software ca serviciu se pregătea să lanseze un tablou de bord analitic care trebuia să funcționeze consecvent pe toate browserele moderne (Chrome, Firefox, Edge, Safari).
Challenge
Testarea manuală pe fiecare browser consuma mult timp, era predispusă la erori și nu putea ține pasul cu iterațiile rapide de dezvoltare.
Soluție cu Selenium
Un inginer de asigurare a calității a creat un Selenium Grilă configurat pentru a executa simultan aceeași suită de teste pe mai multe browsere și combinații de sisteme de operare. Testele au fost create în Python folosind Selenium WebDriver pentru acțiuni precum autentificare, filtrare grafică și export de date.
Rezultat
- Durata regresiei a fost redusă cu 80%.
- Am descoperit devreme erori de randare specifice browserului (de exemplu, grafice nealiniate în IE).
- Am menținut o experiență de utilizare consistentă a tabloului de bord în întreaga matrice a browserului, fără cicluri manuale suplimentare.
⚙️ Studiu de caz 2: Integrare CI/CD pentru aplicații web prin Selenium + TestNG
Scenariu
O firmă de dezvoltare web de dimensiuni medii se bazează pe un flux de lucru integrat/de dezvoltare continuu (CI/CD) care folosește Jenkins. Aveau nevoie să se asigure că experiențele principale ale utilizatorilor funcționează după fiecare modificare de cod.
Challenge
Implementările noi au întrerupt ocazional fluxurile utilizatorilor – autentificare, trimitere formulare – scăpând de detectare până la testarea manuală de la sfârșitul zilei.
Soluție cu Selenium
Un tester a implementat o JavaBazate pe Selenium Suită WebDriver integrată cu TestNGTestele au acoperit autentificarea, actualizările de profil și funcționalitățile de căutare. Acestea au rulat pe fiecare versiune Jenkins, valorificând execuția paralelă și parametrizarea browserului.
Rezultat
- S-a obținut feedback rapid în caz de eroare: fluxurile defecte au fost semnalate imediat.
- Reducerea erorilor post-implementare cu peste 60%.
- A permis dezvoltatorilor să rezolve problemele înainte de a ajunge la QA.
🚀 Studiu de caz 3: Accelerarea lansării de funcții pentru agregatorul de călătorii
Scenariu
O platformă agregatoare de călătorii trebuia să lanseze o funcție reînnoită de rezervare a zborurilor. Testele de regresie manuală pe peste 10 pagini au durat zile întregi și au blocat lansarea.
Challenge
Presiunea de a reduce timpul de lansare pe piață nu a putut depăși ciclurile de testare manuală, riscând întârzieri sau o calitate mai scăzută.
Soluție cu Selenium & Modelul de obiecte de pagină
Un responsabil cu automatizarea QA a introdus o structură de tip Page Object Model (POM) în C#. Selenium Scripturile WebDriver au încapsulat elemente de pagină și acțiuni (căutare zboruri, aplicare filtre și cazuri de plată). Testele automate au fost declanșate în fiecare noapte pe GitLab CI.
Rezultat
- Timpul de testare a scăzut de la 3 zile la doar 4 ore.
- Reutilizarea scripturilor în mai multe funcții reduce efortul de scriptare cu 50%.
- Încredere sporită: versiunea a fost lansată la timp cu un număr minim de raportări de erori.
Comun Selenium Provocări (și remedieri)
Chiar dacă Selenium este puternic, testerii se confruntă adesea cu provocări care pot afecta fiabilitatea și viteza. Iată câteva dintre cele mai frecvente și cum să le remediați:
- Teste instabile:
Testele pot eșua aleatoriu din cauza unor probleme de sincronizare sau de rețea.
Fix: Folosiți așteptări explicite și locatori stabili; evitațiThread.sleep(). - Elemente Web Dinamice:
Modificarea ID-urilor sau a XPath-urilor elementelor cauzează erori de tip element negăsit.
Fix: Folosește XPath-uri relative, selectori CSS sau gestionarea dinamică a atributelor. - SyncProbleme de cronizare:
Elementele se încarcă mai lent decât execuția scriptului.
Fix: Implementați WebDriverWait cu condițiile așteptate. - Inconsistențe între browsere:
Testele se comportă diferit pe Chrome, Firefox, sau Edge.
Fix: Executați teste pe Selenium Platforme grid sau cloud pentru validare cross-browser. - Gestionarea ferestrelor pop-up și a alertelor:
Ferestrele pop-up neașteptate pot întrerupe fluxul de testare.
Fix: Utilizare SeleniumInterfața Alert a lui 's sau blocurile try–catch pentru a le gestiona cu eleganție. - Costuri generale de întreținere a testului:
Modificările frecvente ale interfeței utilizator fac testele fragile.
Fix: Adoptați modelul de obiecte de pagină (POM) și controlul versiunilor pentru actualizări ușoare. - Provocări de integrare:
Conductele CI/CD pot eșua din cauza problemelor legate de drivere.
Fix: Utilizare Selenium Administrator (Selenium 4+) sau WebDriver Manager pentru gestionarea automată a driverelor.
Pe scurt: pod Selenium Problemele provin din sincronizarea deficitară sau din localizatoare fragile — ambele rezolvabile prin așteptări mai inteligente, design modular și mentenanță continuă.







