Selenium - framework za testiranje web aplikacija

Selenium je skup softverskih alata čija je namena da podrži i obezbedi automatizovano testiranje web aplikacija.

Pod pojmom automatizovano testiranje podrazumevamo sprovođenje automatskog i kontinuiranog (sa ponavljanjem) testiranja softvera. Ovakav način testiranja omogućuje postojanu proveru funkcionalnosti i automatsko prijavljivanje nepravilnosti u radu softvera, što sa sobom nosi niz očiglednih prednosti u odnosu na manuelno testiranje softvera.

Kako Selenium praktično funkcioniše?

U svojoj osnovi Selenium je alat koji obezbeđuje automatizaciju internet pretraživača.  To znači da pomoću njega možemo upravljati radom pretraživača kontrolišući njihovo ponašanje i akcije koje će unutar pretraživača biti inicirane. Selenium skripte sadrže tipski grupisane akcije i iteracije nad pretraživačima i obezbeđuju njihovo automatizovano izvršavanje, što se u praksi, u širem kontekstu koristi,  ili za automatizaciju zadataka koji se često ponavljaju,  ili u svrhu kontinuiranog testiranja softvera.

Ukoliko se softver razvija po aktuelnim standardima, to jest u skladu sa sve popularnijim Agilnim metodologijama, podrazumeva se i upotreba alata za automatizovano testiranje. Prema podacima sa matičnog sajta, Selenium predstavlja najzastupljenije rešenje otvorenog koda u oblasti automatizovanog testiranja.

Neke od razloga popularnosti Seleniuma moguli bi smo da sumiramo na sledeći način: seleniumm

  • U pitanju je softver otvorenog koda
  • Lako se integriše sa drugim framework platformama i alatima
  • Podržava sve zastupljenije operativne sisteme
  • Podržava sve bitnije internet pretraživače
  • Omogućuje pisanje testova na velikom broju programskih jezika

Selenium je multiplatformsko rešenje u pravom smislu te reči. Podržan je rad sa svim trenutno bitnim web pretraživačima, kao i pisanje testova u nekom od sledećih programskih jezika: Java, C#, Ruby, Python, Perl i PHP.

Ovaj fleksibilni alat može se koristi samostalno, kao i u kombinacija sa drugim test framework platformama. Poseduje mogućnost brze i lake integracije sa mnogim eksternim alatama i API-jima. Inicijalna verzija Selenium-a pojavila se 2004 godine, a trenutno je aktuelna verzija 2.45.0. U pitanju je rešenje koje je u potpunosti otvorenog koda, razvijen je pod Apache licencom verzije 2.

Više detalja o Selenium-u iz prve ruke možete pronaći na adresi http://www.seleniumhq.org/

Selenium komponente

U okviru početne defincije, naveli smo da Selenium predstavlja skup alata. Softver se sastoji iz četiri nezavisne komponente: Selenium IDE, Selenium Remote Control (RC), Selenium Webdriver i Selenium-Grid.

Selenium IDE podržava jedino Firefox internet pretraživač i u suštini predstavlja Firefox dodatak (plug-in). Ova komponenta radi po principu snimanja i reprodukcije i služi za generisanje automatizovanih test skripti, koje po želji možemo eksportovati u više različitih programskih jezika (HTML, Java, .NET, Perl, Rubby, itd).

Selenium IDE je idealan je za inicijalno upoznavanje sa Selenium alatima i njihovim mogućnostima, dok su Selenium Remote Control i Selenium Webdriver alati koji nude mnogo više mogućnosti i  srazmerno tome, u praksi su značajno više zastupljeni.

Selenium Remote Control funkcioniše po principu ubacivanja (inject) JavaScipt koda u pretraživač i sastoji se iz dve komponete, API biblioteke i Selenium Remote Control servera.

API komponenta predstavlja biblioteku koja se integriše u razvojni alat i sadrži potrebne rutine za generisanje automatizovanih skripti.

Selenium RC server prevodi kod automatizovanih skripti u JavaScript kod, koji se zatim inject-uje u internet pretraživač.

Ovakav pristup ima bitnih nedostataka, koji se pre svega odnose na upotrebu JavaScript-a. Pomenimo samo da se JavaScript se ne ponaša sa svim internet pretraživačima na isti način, kao i da mnogi pretraživači imaju ugrađenu restriktivnu politiku za inject-ovanje JavaScript-a.

Iz navedenih razloga, Selenium RC se smatra zastarelim i vise nije zvanično podržan, a svim korisnicima se preporučuje upotreba Selenium WebDriver-a. Budući da mnoge organizacije još uvek aktivno koriste Selenium RC, ovaj alat je još uvek dostupan za preuzimanje na matičnom sajtu.

Selenium Webdriver je prezvazišao sve probleme sa kojima se Selenium RC suočavao i razvijen je na sasvim drugačijem konceptu. Webdriver možemo da definišemo kao API koji omogućuje direktnu komunikaciju sa native komandama internet pretraživača.  Zanimljivo je da ne postoji kod koji je aktuelan za sve tipove internet pretraživača, već je za svaki internet pretraživač odrađena zasebna implementacija koda.

Ovakav pristup je mnogo fleksibilniji, a sam API jednostavniji za učenje i što je bitno, potpuno je objektno orjentisan.

Selenium-grid je zasebna komponenta koja drastično smanjuje vreme izvršavanja testova, tako što omogućuje konkurentno izvršavanje Selenium automatizovanih testova na većem broju računara.

Umesto zaključka - primeri korišćenja i video tutorijali

Za kraj ovog predstavljanja i uz konstataciju da je mnogo lakše učiti na konkretnim primerima, predlažemo da posetite adresu http://www.absofttrainings.com/selenium-training-course-and-tutorials.

Na ovoj adresi možete pronaći puno korisnog (komercijalnog i besplatnog) video materijala.  Naš favorit, a ujedno i predlog za one koji započinju sa Selenium softverom su besplatni tutorijali "Selenium IDE – In Depth for your Job" i "Starting with Selenium WebDriver" koji će se odlično nadovezati na ovaj tekst i provesti vas kroz praktičnu stranu kreiranja automatizovanih testova.

 

(14 osoba je glasalo, prosečna ocena: 4)

O autoru

Branislav Kolar se bavi sistemskom administracijom na Windows operativnim sistemima i drugim tehnologijama koje su neophodne za održavanje IT okruženja. Redovno prati IT događanja i zavisnik je od testiranja novih proizvoda.

Vladimir Blagojević je Sertifikovani Microsoft programer i administrator, pre svega IT entuzijasta. Pomalo neopredeljenog usmerenja - od programiranja do administracije, radi sa Linux, Open-source i Microsoft tehnologijama.

1 komentar

  1. Henry
    Henry novembar 09, 2016 u 12:30 · Odgovori

    Trenutno radim u jednoj IT firmi kao manuelni tester, našao sam dostab tutorijala i objašnjenja za Selenium i automatsko testiranje, ali kako nemam mnogo iskustva u programiranju, nije mi tako sve jasno. Konkretno me interesuje ako postoji neki kurs za Selenium, za učenje automatskog testiranja. Neka škola, naravno da ima smisla pohađati ta predavanja. Unapred hvala na informacijama.

Ostavi komentar

Copyright © 2016 :: Sva Prava Zadržana :: HelloWorld.rs.
Uspešno
Neuspešno urađena operacija