29 Селен Често постављана питања и одговори на интервјуима

Razvoj softverskih aplikacija prolazi kroz različite faze pre nego što stignu do krajnjih korisnika.

Testiranje predstavlja ključan segment u SDLC-u (životnom ciklusu razvoja softvera), jer ima za cilj identifikaciju grešaka i proveru da li aplikacija funkcioniše u skladu sa očekivanjima.

U prošlosti, softverski testeri su se oslanjali na tehnike ručnog testiranja. Međutim, ovaj pristup je dugotrajan i nosi sa sobom brojne izazove. Selenium je razvijen kako bi se automatizovalo testiranje softvera.

Selenium je trenutno vodeći alat na tržištu i mnogi softverski testeri ga aktivno koriste. Ako želite da se zaposlite kao softverski tester, poznavanje čestih pitanja sa intervjua o Seleniumu će vam obezbediti prednost u odnosu na ostale kandidate.

U nastavku slede pitanja i odgovori za intervju o Seleniumu, na koja ćete verovatno naići:

Šta je automatsko testiranje?

Jednostavno rečeno, automatizovano testiranje je proces automatizacije pisanja i izvršavanja softverskih testova, koristeći Automatski Test Suite, bez potrebe za ručnim angažovanjem. Automatsko testiranje omogućava testerima da koriste specifične alate za ponavljanje testnih zadataka.

Koje su prednosti automatskog testiranja?

  • Štedi vreme i novac. Testiranje softvera može biti skupo ako se angažuju ručni testeri. Automatsko testiranje može biti ekonomičnije na duži rok.
  • Promoviše ponovnu upotrebu koda. Testovi se mogu kreirati jednom, a izvršavati više puta.
  • Smanjuje ljudske greške, povećavajući tačnost.
  • Idealan je za aplikacije velikih razmera. Testiranje malih aplikacija ručno može biti jednostavno. Međutim, kako aplikacija raste, automatizovani test set će biti od velike pomoći.

Šta je Selenium?

Selenium je open-source, besplatan alat za automatizaciju testiranja web korisničkog interfejsa, koji je razvio Jason Huggins 2004. godine. Zahvaljujući jakoj zajednici, Selenium je postao jedan od najpopularnijih alata za automatizaciju testiranja softvera. Selenium Suite je podržan na različitim pretraživačima i platformama.

Koji su različiti oblici Seleniuma?

Selenium nije samo jedan alat za testiranje, već skup različitih alata. Slede različiti oblici Seleniuma:

  • Selenium Integrated Development Environment (IDE)
  • Selenium WebDriver
  • Selenium Remote Control (RC)
  • Selenium Grid

Koje programske jezike podržava Selenium?

  • Python
  • Java
  • C#
  • JavaScript
  • Ruby
  • PHP
  • Perl

Koje tipove testova podržava Selenium?

Selenium podržava različite tipove testiranja, uključujući:

  • Funkcionalno testiranje
  • Regresiono testiranje
  • Testiranje korisničkog interfejsa (UI)
  • Testiranje kompatibilnosti sa pretraživačima
  • Testiranje performansi (u kombinaciji sa drugim alatima)

Šta je Selenium WebDriver?

Selenium WebDriver ima zadatak da komunicira sa web pretraživačima. Ovaj alat se oslanja na svoju izvornu kompatibilnost za automatizaciju različitih zadataka.

Šta je Selenium IDE?

Selenium IDE je dodatak za Firefox koji služi kao alatka za snimanje i reprodukciju. Ovaj dodatak je kreiran kao rešenje za ubrzanje kreiranja skripti za automatizaciju.

Šta je Selenium Grid?

Ovaj alat omogućava korisnicima da istovremeno distribuiraju izvršenje testa na više okruženja i platformi.

Šta je Selenium RC (Remote Control)?

RC je alat koji omogućava kreiranje test skripti u programskom jeziku po izboru korisnika. Ovaj alat takođe omogućava izvršavanje test skripti u velikom broju pretraživača.

Šta znači Selenese?

Selenium IDE koristi jezik nazvan Selenese za pisanje Selenium komandi. Ove komande pomažu Seleniumu da razume koje operacije ili radnje treba da izvrši.

Koje su vrste Selenese?

  • Akcije. To su komande koje manipulišu stanjem aplikacije. „Unesite u ovo polje“ i „kliknite na ovaj link“ su primeri akcija.
  • Accesori. Ove komande određuju stanje aplikacije i čuvaju rezultate u promenljivim.
  • Tvrđenja. Ovo su komande koje omogućavaju testeru da proveri stanje aplikacije.

Koji su pristupi lociranju elementa u Seleniumu?

  • ID
  • Naziv klase
  • Ime
  • Naziv oznake
  • LinkText
  • PartialLinkText
  • XPath
  • CSS selektor
  • DOM

Šta je XPath?

XPath locira web element na osnovu putanje Extensible Markup Language-a. XML skladišti, organizuje i prenosi proizvoljne podatke.

„/“ i „//“ u XPath-u. Koja je razlika?

„/“ ili jedna kosa crta stvara XPath sa apsolutnom putanjom. Dakle, XPath je kreiran da počne selekciju od početnog čvora/čvora dokumenta.

„//“ ili dvostruka kosa crta se koristi za kreiranje XPath-a sa relativnom putanjom. Dakle, kreirani XPath počinje selekciju sa bilo kog mesta unutar dokumenta.

Šta je apsolutni XPath?

Apsolutni XPath počinje sa jednom kosom crtom „/“. Takva putanja ima potpunu putanju od korena do elementa koji želimo da identifikujemo.

Razlikujte findElement() i findElements()

  • findElements(): koristi dati mehanizam za lociranje da pronađe sve elemente na trenutnoj stranici i vraća listu svih web elemenata.
  • findElement(): pronalazi prvi element na trenutnoj stranici, koristeći dati mehanizam za lociranje, i vraća samo jedan web element.

Koje vrste anotacija se koriste u Seleniumu?

  • BeforeSuite
  • BeforeTest
  • BeforeClass
  • BeforeMethod
  • TestCase
  • AfterMethod
  • AfterClass
  • AfterTest
  • AfterSuite

Šta su tvrđenja u Seleniumu?

Tvrđenja određuju da li aplikacija radi kako se očekuje. Ako tvrđenja ne uspeju, test slučaj ne uspeva, a izvršenje se zaustavlja.

Šta su komande Assert i Verify?

  • Potvrđivanje (Assert): ako su uslovi potvrđivanja tačni, program će nastaviti da izvršava sledeći korak testa. Međutim, ako je uslov netačan, izvršenje se zaustavlja i nikakvi drugi testovi se neće raditi.
  • Provera (Verify): izvršenje testa će se nastaviti bez obzira da li je verifikovani uslov tačan ili netačan.

Šta je politika istog porekla i kako se Selenium nosi s tim?

Politika istog porekla se može opisati kao sigurnosni mehanizam koji ograničava način na koji skripta ili dokument koji je učitan od strane određenog porekla stupa u interakciju sa resursom iz drugog porekla. Takav pristup pomaže u izolovanju zlonamernih skripti.

Selenium koristi metod ubrizgavanja proksija za implementaciju politike istog porekla. U ovom podešavanju, Selenium Server će delovati kao HTTP proksi, koji je konfigurisao klijent između aplikacije koja se testira i pretraživača. Ova proksi injekcija će maskirati AUT kroz izmišljeni URL.

Šta je funkcija pauze u Selenium IDE-u?

Pauza je naredba čekanja u Selenium IDE-u koja odlaže izvršenje automatskog testiranja na određeno vreme. Čekanje je označeno u milisekundama, što znači da treba da unesete 3000 ako želite da sačekate 3 sekunde.

Zašto Selenium IDE testovi ne uspevaju?

  • Asinhone web stranice. Selenium testovi se kreiraju određenim redosledom. Međutim, neke web stranice su zasnovane na asinhronoj arhitekturi, a ponekad odgovori nisu u redu.
  • Timeouts. Selenium može da otkaže dok se čeka da se komponenta učita. Takve greške se mogu rešiti korišćenjem „čekanja“.
  • Bugovi. Selenium se stalno poboljšava. Međutim, povremeno se mogu javiti neki bugovi, što može dovesti do neuspeha testova.
  • Male izmene u izvornom kodu. Ako se promeni lokator, svi testovi usmereni na taj lokator mogu da propadnu.

Šta je TestNG i koje su njegove karakteristike?

TestNG je okvir za automatizaciju testiranja, inspirisan JUnit i NUnit. NG, Next Generation, je besplatan alat otvorenog koda.

Ovo su neke od karakteristika TestNG-a:

  • Ima različite vrste tvrđenja.
  • Omogućava korisnicima da pokreću testove paralelno.
  • Možete da učinite testove zavisnim jedne od drugih, koristeći atribute ‘dependsOnMethods’ i ‘dependsOnGroups’.
  • Izvodi testove zasnovane na podacima.
  • Možete grupisati različite testove.

Koja je razlika između implicitnog čekanja i eksplicitnog čekanja?

  • Implicitno čekanje govori WebDriver-u da sačeka određeni period pre nego što izbaci izuzetak. Podrazumevana vrednost je 0, a kada je vreme podešeno, WebDriver će sačekati do isteka vremena pre izbacivanja izuzetka.
  • Eksplicitno čekanje govori WebDriver-u da sačeka određene uslove ili ExpectedConditions pre nego što izbaci izuzetak „ElementNotVisibleException“. Eksplicitno čekanje je „inteligentno“ čekanje koje se primenjuje samo na određene elemente.

Šta je repozitorijum objekata?

Repozitorijum objekata je kolekcija parova ključ-vrednost u automatizovanoj GUI test skripti koja olakšava održavanje test skripte. Ključ u ovom slučaju je logično ime koje identifikuje objekte, kao i vrednosti koje dolaze sa jedinstvenim svojstvima koja identifikuju objekte na ekranu.

To je takođe centralna lokacija na kojoj se čuvaju i upravljaju svi podaci.

Na koje različite izuzetke možete naići u Selenium WebDriveru?

Izuzetak je nepredviđen ili neobičan događaj koji se može desiti tokom izvršavanja programa ili softverske aplikacije. Takođe se može opisati kao greška tokom izvođenja neočekivanog događaja ili rezultata koji ometa ili utiče na uobičajeni tok programa.

Ovo su glavni izuzeci u Selenium WebDriveru:

  • NoSuchWindowException. WebDriver pokušava da se prebaci na nevažeći (nedostupan) prozor.
  • NoSuchElementException. Pojavljuje se kada element nije dostupan.
  • NoAlertPresentException. Ovaj izuzetak se javlja kada pokušate da pređete na upozorenje bez prikaza.
  • TimeoutException. Konkretna komanda nije završila u navedenom vremenu.
  • ElementNotVisibleException.
  • ElementNotSelectableException. Takav izuzetak se dešava kada je element onemogućen (ne može se izabrati ili kliknuti) uprkos tome što je dostupan u DOM-u.
  • SessionNotFoundException. WebDriver, u ovom slučaju, deluje odmah nakon zatvaranja pretraživača.

Navedite različite tipove lokatora

  • Id
  • Ime
  • Naziv klase
  • Naziv oznake
  • linkText
  • partialLinkText
  • CSS selektor
  • XPath

Šta su prelomne tačke i početne tačke?

  • Početne tačke pokazuju gde treba da počne izvršavanje koda. Početne tačke se mogu koristiti za pokretanje test skripte iz sredine koda ili tačke prekida.
  • Prelomne tačke se koriste za zaustavljanje izvršavanja koda. Tačka prekida se koristi da bi se potvrdilo da vaš kod radi kako se očekuje.

Završna reč

Gore su navedena neka od pitanja za intervju o Seleniumu, sa kojima ćete se verovatno susresti na sledećem intervjuu za posao inženjera automatizacije testiranja. Uverite se da imate potrebne veštine pre nego što se prijavite za ovu poziciju.

Da li ste uživali u čitanju članka? Podelite ga sa drugima!