Što je selen? Uvod u testiranje automatizacije selena

Što je selen?

Selen je besplatni (open-source) automatizirani okvir za testiranje koji se koristi za provjeru valjanosti web aplikacija na različitim preglednicima i platformama. Možete koristiti više programskih jezika kao što su Java, C#, Python itd. Za izradu Selenium Test Script. Testiranje provedeno pomoću alata za ispitivanje selena obično se naziva testiranje selena.

Selenium Software nije samo jedan alat, već paket softvera, od kojih svaki zadovoljava različite potrebe organizacije za testiranje kvalitete selena. Ovdje je popis alata

  • Integrirano razvojno okruženje za selen (IDE)
  • Selenski daljinski upravljač (RC)
  • WebDriver
  • Mreža selena

Uvod u selen



Trenutno su Selenium RC i WebDriver spojeni u jedinstveni okvir u obliku Selen 2 . Selen 1, inače, odnosi se na Selenium RC.

Kliknite ovdje ako videozapis nije dostupan

U ovom vodiču naučit ćete:

Tko je razvio selen?

Budući da je Selenium zbirka različitih alata, imao je i različite programere. U nastavku su navedene ključne osobe koje su dale značajan doprinos projektu Selenium

Prvenstveno je bio selen stvorio Jason Huggins 2004 . Inženjer u ThoughtWorksu, radio je na web aplikaciji koja je zahtijevala često testiranje. Shvativši da se ponavlja Ručno testiranje njihove aplikacije postajao sve neučinkovitiji, stvorio je JavaScript program koji bi automatski kontrolirao radnje preglednika. Taj je program nazvao ' JavaScriptTestRunner . '

Uvidjevši potencijal u ovoj ideji da pomogne automatizirati druge web aplikacije, napravio je JavaScriptRunner otvorenog koda koji je kasnije preimenovan u Selen jezgra .

Pitanje politike istog porijekla

Pravila istog porijekla zabranjuju JavaScript kodu pristup elementima s domene koja se razlikuje od mjesta na kojem je pokrenuta . Na primjer, HTML kôd na www.google.com koristi JavaScript program 'randomScript.js'. Ista pravila o podrijetlu dopustit će randomScript.js samo pristup stranicama na google.com, poput 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 on2vhf.be jer pripadaju različitim domenama.

To je razlog zašto su prije Selenium RC -a testeri morali instalirati lokalne kopije Selenium Core -a (JavaScript programa) i web poslužitelja koji sadrži web aplikaciju koja se testira kako bi pripadali istoj domeni

Rođenje daljinskog upravljača Selenium (Selenium RC)

Nažalost; testeri koji koriste Selenium Core morali su instalirati cijelu testiranu aplikaciju i web poslužitelj na vlastita lokalna računala zbog ograničenja koja su nametnuli ista politika podrijetla. Dakle, drugi inženjer ThoughtWorka, Paul Hammant , odlučio je stvoriti poslužitelj koji će djelovati kao HTTP proxy kako bi 'prevario' preglednik da vjeruje da Selenium Core i web aplikacija koja se testira dolaze iz iste domene. Taj je sustav postao poznat kao Selenski daljinski upravljač ili Selen 1 .

Rođenje selenske mreže

Selenium Grid je razvio Patrick Lightbody kako bi se riješila potreba maksimalnog smanjenja vremena izvođenja testa. U početku je sustav nazvao ' QA domaćin . ' Bio je sposoban snimiti snimke zaslona preglednika tijekom značajnih faza, a također i slanje Selenium naredbi istovremeno na različite strojeve.

Rođenje selenskog IDE -a

Shinya Kasatani Japana stvoren IDE selena , Firefoxovo proširenje koje može automatizirati preglednik putem značajke snimanja i reprodukcije. On je došao na ovu ideju kako bi dodatno povećao brzinu u stvaranju testnih slučajeva. Godine donirao Selenium IDE za Selenium Project 2006. godine .

Rođenje WebDrivera

Simon Stewart stvorio WebDriver circa 2006. godine kada su preglednici i web aplikacije postajali snažniji i restriktivniji s JavaScript programima poput Selenium Core. Bio je to prvi okvir za više platformi za testiranje koji je mogao kontrolirati preglednik s razine OS-a.



Rođenje selena 2


U 2008. godine , cijeli Selenium tim odlučio je spojiti WebDriver i Selenium RC kako bi formirao moćniji alat tzv Selen 2 , s WebDriver je jezgra . Trenutno se Selenium RC još uvijek razvija, ali samo u načinu održavanja. Većina napora projekta Selenium sada je usmjerena na Selenium 2.

Dakle, zašto ime Selenium?

Ime Selen proizašao je iz šale koju je Jason jednom ispričao svom timu. Tijekom razvoja selena, još jedan automatizirano testiranje Okvir je popularno izradila tvrtka tzv Merkur Interactive (da, tvrtka koja je izvorno napravila QTP prije nego što ga je HP kupio). Budući da je selen dobro poznat protuotrov za trovanje živom, Jason je predložio da ga imenuju i njegovi suigrači. Tako smo taj okvir morali nazvati do danas.

Kratak uvod Selenium IDE

Integrirano razvojno okruženje selena (IDE) je najjednostavniji okvir u apartmanu Selenium i nalazi se najlakše naučiti . To je Dodatak za Firefox koje možete instalirati što je jednostavnije moguće s drugim dodacima. Međutim, zbog svoje jednostavnosti, Selenium IDE trebao bi se koristiti samo kao alat za izradu prototipova . Ako želite stvoriti naprednije testne slučajeve, morat ćete koristiti Selenium RC ili WebDriver.


Kratak uvod Selenski daljinski upravljač (Selenium RC)

Selen RC je bio vodeći okvir za testiranje cijelog projekta Selenium već duže vrijeme. Ovo je prvi automatizirani uređaj web testiranje alat koji dopušta korisnicima da koriste programski jezik koji preferiraju . Od verzije 2.25.0, RC može podržati sljedeće programske jezike:

  • Java
  • C #
  • PHP
  • Piton
  • Perl
  • Rubin

Kratak uvod WebDriver

Pokazuje se WebDriver bolje i od Selenium IDE -a i od Selenium RC -a u mnogim aspektima. Provodi moderniji i stabilniji pristup u automatizaciji radnji preglednika. WebDriver se, za razliku od Selenium RC -a, ne oslanja na JavaScript za testiranje automatizacije selena. On kontrolira preglednik izravnom komunikacijom s njim.

Podržani jezici isti su kao i u programu Selenium RC.

  • Java
  • C #
  • PHP
  • Piton
  • Perl
  • Rubin

Mreža selena

Selenium Grid je alat koristi se zajedno sa Selenium RC za pokretanje paralelna ispitivanja na različitim strojevima i različitim preglednicima u isto vrijeme. Paralelno izvršavanje znači pokretanje više testova odjednom.

Značajke:

  • Omogućuje simultano izvođenje testova u više preglednika i okruženja.
  • Ušteda vremena enormno.
  • Koristi čvorišta i čvorišta koncept. Središte djeluje kao središnji izvor naredbi Selenium za svaki čvor spojen na njega.

Napomena o podršci za preglednike i okoliš

Zbog svojih arhitektonskih razlika, Selenium IDE, Selenium RC i WebDriver podržavaju različite skupove preglednika i operativnih okruženja.

IDE selena WebDriver
Preglednik Podrška Mozilla Firefox Internet Explorer verzije 6 do 11, 32 i 64-bitne

Microsoft Edge verzija 12.10240 i novije (djelomična podrška nekim funkcionalnostima u razvoju)
Firefox 3.0 i novije verzije
Google Chrome 12.0. i iznad
Opera 11.5 i novije verzije
Android - 2.3 i novije verzije za telefone i tablete
(uređaji i emulatori)

iOS 3+ za telefone (uređaji i emulatori) i 3.2+ za tablete (uređaji i emulatori)

HtmlUnit 2.9 i novije verzije
Operacijski sustav Windows, Mac OS X, Linux Svi operacijski sustavi na kojima se gore navedeni preglednici mogu pokrenuti.

Bilješka: Selenium WebDriver naziva se nasljednikom Selenium RC -a koji je zastario i službeno najavio SeleniumHQ.

Kako odabrati pravi alat za selen prema vašim potrebama

AlatZašto odabrati?

IDE selena

  • Naučiti o konceptima automatiziranog testiranja i selena, uključujući:
  • Selenske naredbe kao što su type, open, clickAndWait, assert, verify itd.
  • Lokatori kao što su id, ime, xpath, css selektor itd.
  • Izvođenje prilagođenog JavaScript koda pomoću runScript -a
  • Izvoz testnih slučajeva u različitim formatima.
  • Za izradu testova s ​​malo ili nimalo predznanja u programiranju.
  • Za izradu jednostavnih testnih slučajeva i programskih paketa koje kasnije možete izvesti u RC ili WebDriver.
  • Za testiranje web aplikacije samo na Firefoxu i Chromeu.

Selen RC

  • Osmisliti test pomoću izražajnijeg jezika od selenskog
  • Za pokretanje testa protiv različitih preglednika (osim HtmlUnit) na različitim operativnim sustavima.
  • Za postavljanje testova u više okruženja pomoću Selenium Grid -a.
  • Za testiranje aplikacije na novom pregledniku koji podržava JavaScript.
  • Za testiranje web aplikacija sa složenim scenarijima temeljenim na AJAX-u.

WebDriver

  • Upotreba određenog programskog jezika u dizajniranju vašeg testnog slučaja.
  • Za testiranje aplikacija koje su bogate funkcionalnostima temeljenim na AJAX-u.
  • Za izvršavanje testova u pregledniku HtmlUnit.
  • Za stvaranje prilagođenih rezultata ispitivanja.

Mreža selena

  • Za pokretanje vaših Selenium RC skripti istovremeno u više preglednika i operacijskih sustava.
  • Da biste pokrenuli veliki paket testova, to morate dovršiti u najkraćem mogućem roku.

Usporedba između selena i QTP -a (sada UFT)

Quick Test Professional (QTP) vlasnički je alat za automatsko testiranje koji je prethodno bio u vlasništvu tvrtke Merkur Interactive prije nego što je to bilo kupio Hewlett-Packard 2006. godine . Selenium Tool Suite ima mnoge prednosti u odnosu na QTP kako je dolje navedeno -

Prednosti i prednosti selena u odnosu na QTP

Selen QTP
Otvoreni izvor , slobodan za korištenje , i besplatno. Komercijalni .
Vrlo rastegljiv Ograničeni dodaci
Može pokrenuti testove u cijelosti različitih preglednika Mogu se pokrenuti samo testovi u Firefox , Internet Explorer i Krom
Podržava raznih operativnih sustava Može se koristiti samo u Windows
Podržava Mobilni uredaji QTP podržava automatizaciju testiranja mobilnih aplikacija (iOS i Android) pomoću HP rješenja nazvanog - HP Mobile Center
Može izvršiti testove dok the preglednik je minimiziran Aplikacija mora biti testirana kako bi bila vidljiva na radnoj površini
Može izvršiti testove paralelno . Može se izvršavati samo paralelno, ali pomoću Centra kvalitete koji je opet proizvod koji se plaća.

Prednosti QTP -a nad selenom

Prednosti QTP -a nad selenom
QTP Selen
Može testirati web i desktop aplikacije Mogu testirati samo web aplikacije
Dolazi s a ugrađeno spremište objekata Nema ugrađeno spremište objekata
Automatizira se brže od selena jer se radi o potpuno opremljenom IDE -u. Automatizira se sporije jer nema izvorni IDE, a samo IDE treće strane može se koristiti za razvoj
Testiranje na temelju podataka lakše je izvesti jer ima ugrađene globalne i lokalne tablice podataka . Testiranje na temelju podataka je glomaznije jer se morate oslanjati na mogućnosti programskog jezika za postavljanje vrijednosti za vaše testne podatke
Može pristupiti kontrolama unutar preglednika (kao što su traka Favoriti, adresa, tipke Nazad i Naprijed itd.) Nije moguće pristupiti elementima izvan web aplikacije koja se testira
Pruža profesionalno korisnička podrška Ne nudi se službena korisnička podrška.
Ima izvornu sposobnost da izvoz podataka ispitivanja u vanjske formate Nema izvornu mogućnost izvoza podataka za vrijeme izvođenja u vanjske formate
Izgrađena je podrška za parametrizaciju Parametriranje se može izvršiti programiranjem, ali ga je teško provesti.
Izvješća o ispitivanju generiraju se automatski Nema izvorne podrške za generiranje izvješća o testovima /greškama.

Iako je očito da QTP ima naprednije mogućnosti, Selenium nadmašuje QTP u tri glavna područja:

  • Trošak (jer je selen potpuno besplatan)
  • Fleksibilnost (zbog brojnih programskih jezika, preglednika i platformi koje može podržati)
  • Paralelno ispitivanje (nešto za što je QTP sposoban, ali samo uz korištenje Centra kvalitete)

Sažetak

  • Cijeli paket za testiranje softvera Selenium sastoji se od četiri komponente:
  • Selenium IDE, dodatak za Firefox koji možete koristiti samo za izradu relativno jednostavnih testnih slučajeva i programskih paketa.
  • Selenijski daljinski upravljač, također poznat kao Selenium 1, prvi je alat za selen koji je korisnicima omogućio korištenje programskih jezika u stvaranju složenih testova.
  • WebDriver, noviji napredak koji omogućuje vašim testnim skriptama izravnu komunikaciju s preglednikom, kontrolirajući ga tako s razine OS -a.
  • Selenium Grid je također alat koji se koristi sa Selenium RC za izvršavanje paralelnih testova u različitim preglednicima i operativnim sustavima.
  • Selenium RC i WebDriver spojeni su u Selenium 2.
  • Selen je povoljniji od QTP -a u smislu troškova i fleksibilnosti. Također vam omogućuje paralelno izvođenje testova, za razliku od QTP -a gdje vam je dopušteno pokretanje testova samo uzastopno.