Što je Selenium? Uvodni vodič
⚡ Pametni sažetak
Selenium je besplatni okvir za automatizirano testiranje otvorenog koda dizajniran za validaciju web aplikacija u različitim preglednicima i platformama korištenjem više programskih jezika. Omogućuje robusnu, učinkovitu i skalabilnu automatizaciju testiranja za moderne prakse osiguranja kvalitete.

Što je Selenium?
Selenium je besplatni (otvoreni kod) okvir za automatsko testiranje koji se koristi za provjeru valjanosti web aplikacija na različitim preglednicima i platformama. Možete koristiti više programskih jezika poput Java, C#, Python, itd za stvaranje Selenium Testne skripte. Testiranje provedeno pomoću Selenium alat za testiranje obično se naziva Selenium Ispitivanje.
Stručni uvidi
„Izbjegavajte korištenje fiksnih kašnjenja mirovanja u testovima. Umjesto toga, koristite eksplicitna čekanja (poput WebDriverWait) za čekanje učitavanja elemenata. To čini vaše skripte pouzdanijima i bržima jer dinamički reagiraju na stvarne uvjete stranice - ključna najbolja praksa za studente diljem svijeta, počevši s…“ Selenium".
👉 Prijavite se za besplatni prijenos uživo Selenium Projekt testiranja
Selenium Komplet alata
Selenium Softver nije samo jedan alat, već paket softvera, od kojih svaki dio služi za različite potrebe Selenium QA testiranje potrebe organizacije. Ovdje je popis alata
- Selenium Integrirano razvojno okruženje (IDE)
- Selenium daljinski upravljač (RC)
- webdriver
- Selenium rešetka
Trenutno, Selenium RC i WebDriver spojeni su u jedan okvir za formiranje Selenium 2. Selenium 1 se, inače, odnosi na Selenium RC.
Video tutorial Selenium
Kliknite ovdje ako video nije dostupan
Tko se razvio Selenium?
Od Selenium je skup različitih alata, također je imao različite programere. Ispod su ključne osobe koje su dale značajan doprinos Selenium Projekt
Prvenstveno, Selenium je bio kreirao Jason Huggins 2004Kao inženjer u tvrtki ThoughtWorks, radio je na web aplikaciji koja je zahtijevala često testiranje. Shvativši da repetitivno ručno testiranje njihove aplikacije postaje sve neučinkovitije, stvorio je JavaScript program koji bi automatski kontrolirao radnje preglednika. Nazvao je ovaj program "JavaIzvršitelj testiranja skripti.
Vidjevši potencijal u ovoj ideji da pomogne automatizirati druge web aplikacije, napravio je JavaScriptRunner otvorenog koda, koji je kasnije preimenovan Selenium srž. Za one koje zanima istraživanje drugih opcija za testiranje web aplikacija, pogledajte ove Selenium alternative.
Problem s politikom istog porijekla
Politika istog porijekla zabranjuje JavaSkriptni kod pristupa elementima iz domene koja je drugačija od one s koje je pokrenut. Na primjer, HTML kod na www.google.com koristi JavaSkriptni program „randomScript.js“. Ista pravila o porijeklu dopustit će randomScript.js pristup samo stranicama unutar google.com, kao što su google.com/mail, google.com/login ili google.com/signup. Međutim, ne može pristupiti stranicama s različitih web-mjesta kao što su yahoo.com/search ili guru99.com jer pripadaju različitim domenama.
To je razlog zašto, prije nego što Selenium RC, potrebni testeri za instaliranje lokalnih kopija oba Selenium Jezgra (a JavaSkriptni program) i web poslužitelj koji sadrži testiranu web aplikaciju, tako da bi pripadali istoj domeni
Rođenje Selenium Daljinski upravljač (Selenium RC)
Nažalost, testeri koji koriste Selenium Core je morao instalirati cijelu testiranu aplikaciju i web poslužitelj na svoja lokalna računala zbog ograničenja nametnutih od strane politika istog podrijetlaDakle, još jedan inženjer tvrtke ThoughtWorks, Paul Hammant, odlučio je stvoriti poslužitelj koji bi djelovao kao HTTP proxy kako bi "prevario" preglednik da povjeruje u to Selenium Core i web aplikacija koja se testira dolaze iz iste domene. Ovaj je sustav postao poznat kao Selenium Daljinski upravljač or Selenium 1.
Rođenje Selenium rešetka
Selenium Grid je razvio Patrick Lightbody kako bi se riješila potreba za što manjim mogućim smanjenjem vremena izvršavanja testova. U početku je sustav nazvao "Hostovana kontrola kvalitete." Bio je sposoban snimati snimke zaslona preglednika tijekom značajnih faza, kao i poslati Selenium naredbe različitim strojevima istovremeno.
Rođenje Selenium IDE
Shinya Kasatani Japana stvorio Selenium IDEA Firefox i proširenje za Chrome koje može automatizirati preglednik putem značajke snimanja i reprodukcije. Došao je na ovu ideju kako bi dodatno povećao brzinu izrade testnih slučajeva. Donirao je Selenium IDE prema Selenium Projekt u 2006.
Rođenje WebDrivera
Simon Stewart stvoren WebDriver ca 2006 kada su preglednici i web aplikacije postajali moćniji i restriktivniji JavaSkriptni programi poput Selenium Jezgra. Bio je to prvi višeplatformski okvir za testiranje koji je mogao kontrolirati preglednik na razini operativnog sustava.
Rođenje Selenium 2
In 2008, Cijeli Selenium Tim je odlučio spojiti WebDriver i Selenium RC za formiranje moćnijeg alata pod nazivom Selenium 2, jer je oznaka WebDriver je srž, trenutno, Selenium RC se još uvijek razvija, ali samo u fazi održavanja. Većina Selenium Napori projekta sada su usmjereni na Selenium 2.
Dakle, zašto ime Selenium?
Ime Selenium proizlazi iz šale koju je Jason jednom ispričao svom timu. Tijekom Seleniumrazvoj, drugi automatizirano ispitivanje Okvir je popularno izradila tvrtka pod nazivom Mercury Interaktivan (da, tvrtka koja je izvorno proizvela QTP prije nego što ga je preuzeo HP). Od Selenium je poznati protuotrov za Mercury trovanja, Jason je predložio to ime i njegovi suigrači su ga preuzeli. Dakle, tako smo morali zvati ovaj okvir do danas.
Što je Selenium IDE?
Selenium Integrirano razvojno okruženje (IDE) je najjednostavniji okvir u Selenium svita i je najlakši za naučiti. To Chrome i Firefox uključiti koje možete instalirati jednako lako kao i s drugim dodacima. Međutim, zbog svoje jednostavnosti, Selenium IDE bi se trebao koristiti samo kao prototipping alat. Ako želite stvoriti naprednije testne slučajeve, morat ćete koristiti bilo koji Selenium RC ili WebDriver.
Što je Selenium Daljinski upravljač (Selenium RC)?
Selenium RC je bio vodeći okvir za testiranje cjeline Selenium projekt na duže vrijeme. Ovo je prvi automatizirani web testiranje alat koji omogućuje korisnicima korištenje programskog jezika koji preferiraju. Od verzije 2.25.0, RC može podržavati sljedeće programske jezike:
Što je WebDriver?
WebDriver se pokazao boljim od Selenium IDE i Selenium RC u mnogim aspektima. Implementira moderniji i stabilniji pristup automatizaciji radnji preglednika. WebDriver, za razliku od Selenium RC, ne oslanja se na JavaSkripta za Selenium Testiranje automatizacije. Upravlja preglednikom izravno komunicirajući s njim.
Podržani jezici isti su onima u Selenium RC.
- Java
- C#
- PHP
- Python
- Perl
- Rubin
Što je Selenium Mreža?
Selenium Mreža je alat koristi se zajedno s Selenium RC za trčanje paralelni testovi na različitim strojevima i različitim preglednicima u isto vrijeme. Paralelno izvođenje znači pokretanje više testova odjednom.
Značajke:
- omogućuje istovremeno izvođenje testova in više preglednika i okruženja.
- Štedi vrijeme enormno.
- Koristi se hub-and-nodes koncept. Čvorište djeluje kao središnji izvor Selenium naredbe svakom čvoru spojenom na njega.
Selenium Podrška za preglednik i okruženje
Zbog svojih arhitektonskih razlika, Selenium SDI, Selenium RC i WebDriver podržavaju različite skupove preglednika i radnih okruženja.
| Selenium IDE | webdriver | |
|---|---|---|
| Podrška preglednika | Mozilla Firefox i Chrome | Google Chrome 12 + Firefox Internet Explorer 7+ i Edge safari, HtmlUnit i PhantomUnit |
| Operating sustav | Windows, Mac OS X, Linux | Svi operativni sustavi na kojima mogu raditi gore navedeni preglednici. |
Bilješka: Opera Drajver više ne radi
Kako odabrati pravu Selenium Alat za vaše potrebe
| Oruđe | Zašto odabrati? |
|---|---|
| Selenium IDE |
|
| Selenium RC |
|
| webdriver |
|
| Selenium rešetka |
|
Studije slučaja iz stvarnog svijeta
🔍 Studija slučaja 1: Kompatibilnost SaaS nadzorne ploče s više preglednika
scenario
Tvrtka koja nudi softver kao uslugu pripremala se za izdavanje analitičke nadzorne ploče koja je trebala dosljedno funkcionirati u svim modernim preglednicima (Chrome, Firefox, Edge, Safari).
Izazov
Ručno testiranje na svakom pregledniku bilo je dugotrajno, sklono pogreškama i nije moglo pratiti brze iteracije razvoja.
Rješenje s Selenium
Inženjer za osiguranje kvalitete stvorio je Selenium rešetka postavljeno za istovremeno izvršavanje istog testnog paketa u više preglednika i kombinacija operativnih sustava. Testovi su napisani u Python koristeći Selenium WebDriver za radnje poput prijave, filtriranja grafikona i izvoza podataka.
Ishod
- Smanjeno trajanje regresije za 80%.
- Rano otkrivene greške u renderiranju specifične za preglednik (npr. neusklađeni grafovi u IE-u).
- Održavao je dosljedno korisničko iskustvo nadzorne ploče u cijeloj matrici preglednika bez dodatnih ručnih ciklusa.
⚙️ Studija slučaja 2: Integracija CI/CD za web aplikaciju putem Selenium + TestNG
scenario
Srednja tvrtka za web razvoj oslanja se na CI/CD cjevovod koristeći JenkinsMorali su osigurati da glavna korisnička putovanja funkcioniraju nakon svake promjene koda.
Izazov
Nove implementacije verzija povremeno su prekidale korisničke tokove - prijavu, slanje obrasca - escaping otkrivanje do ručnog testiranja na kraju dana.
Rješenje s Selenium
Tester je implementirao Java-Temelji Selenium Paket WebDriver integriran s TestNGTestovi su obuhvatili autentifikaciju, ažuriranja profila i funkcije pretraživanja. Provodili su se svaki Jenkins izgraditi, koristeći paralelno izvršavanje i parametrizaciju preglednika.
Ishod
- Postignuta je brza povratna informacija o kvaru: prekinuti tokovi su odmah označeni.
- Smanjene greške nakon implementacije za više od 60%.
- Omogućeno programerima da riješe probleme prije nego što dođu do odjela za kontrolu kvalitete.
🚀 Studija slučaja 3: Ubrzano objavljivanje značajki za agregator putovanja
scenario
Platforma za agregator putovanja trebala je objaviti obnovljenu funkciju rezervacije letova. Ručni regresijski testovi na više od 10 stranica trajali su danima i blokirali su objavu.
Izazov
Pritisak za smanjenje vremena potrebnog za plasiranje proizvoda na tržište nije mogao nadmašiti ručne cikluse testiranja, riskirajući kašnjenja ili nižu kvalitetu.
Rješenje s Selenium & Model objekta stranice
Voditelj automatizacije osiguranja kvalitete predstavio je strukturu modela objekta stranice (POM) u C#. Selenium WebDriver skripte su enkapsulirale elemente stranice i radnje (pretraživanje letova, primjena filtera i slučajevi plaćanja). Automatizirana testiranja su pokretana svake noći na GitLab CI.
Ishod
- Vrijeme testiranja skraćeno je s 3 dana na samo 4 sata.
- Ponovna upotreba skripti u više značajki smanjuje trud skriptiranja za 50%.
- Povećano samopouzdanje: izdanje je isporučeno na vrijeme uz minimalne prijave grešaka.
Zajednički Selenium Izazovi (i popravci)
Mada Selenium je moćan, testeri se često suočavaju s izazovima koji mogu utjecati na pouzdanost i brzinu. Evo nekih uobičajenih i kako ih riješiti:
- Neispravni testovi:
Testovi mogu nasumično propasti zbog problema s vremenom ili mrežom.
Fix: Koristite eksplicitna čekanja i stabilne lokatore; izbjegavajteThread.sleep(). - Dinamički web elementi:
Promjena ID-ova elemenata ili XPath-ova uzrokuje pogreške "element nije pronađen".
Fix: Koristite relativne XPath-ove, CSS selektore ili dinamičko rukovanje atributima. - SyncProblemi kronizacije:
Elementi se učitavaju sporije od izvršavanja skripte.
Fix: Implementirajte WebDriverWait s očekivanim uvjetima. - Nedosljednosti među preglednicima:
Testovi se ponašaju drugačije u Chromeu, Firefox, ili Edge.
Fix: Pokreni testove na Selenium Grid ili cloud platforme za validaciju u više preglednika. - Rješavanje skočnih prozora i upozorenja:
Neočekivani skočni prozori mogu prekinuti tijek testiranja.
Fix: Koristiti SeleniumSučelje Alert ili blokovi try–catch za njihovo elegantno rukovanje. - Troškovi održavanja testiranja:
Česte promjene korisničkog sučelja čine testove krhkim.
Fix: Usvojite model objekta stranice (POM) i kontrolu verzija za jednostavna ažuriranja. - Izazovi integracije:
CI/CD cjevovodi mogu prestati s radom zbog problema s upravljačkim programima.
Fix: Koristiti Selenium Upravitelj (Selenium 4+) ili WebDriver Manager za automatsko upravljanje upravljačkim programima.
Ukratko: most Selenium Problemi proizlaze iz loše sinkronizacije ili krhkih lokatora - oboje se može riješiti pametnijim čekanjima, modularnim dizajnom i kontinuiranim održavanjem.




.png)
.jpg)
.jpg)
.jpg)



