29 Selenium Întrebări și răspunsuri frecvente la interviu

Înainte de a fi puse la dispoziția utilizatorilor, aplicațiile software trec printr-o serie de etape bine definite.

Testarea reprezintă o componentă esențială a ciclului de viață al dezvoltării software (SDLC), având rolul de a identifica erorile și de a evalua dacă o aplicație se comportă conform specificațiilor.

În trecut, testarea software-ului se realiza predominant manual, o abordare care necesita mult timp și se confrunta cu diverse dificultăți. Pentru a automatiza acest proces, a fost creat Selenium.

În prezent, Selenium este un lider de piață, fiind utilizat pe scară largă de specialiștii în testarea software-ului. Dacă aspiri la o carieră în acest domeniu, familiarizarea cu întrebările frecvente din interviurile tehnice legate de Selenium îți va oferi un avantaj semnificativ față de alți candidați.

Mai jos vei găsi o selecție de întrebări și răspunsuri pe care le poți întâlni într-un interviu pentru un post care implică utilizarea Selenium:

Ce reprezintă testarea automatizată?

Testarea automatizată este procesul prin care, folosind un set de instrumente specializate, se automatizează scrierea și rularea testelor software, fără a fi necesară implicarea directă a unui tester. Această abordare permite executarea repetată a testelor folosind instrumente dedicate.

Care sunt avantajele testării automatizate?

  • Permite economisirea de timp și resurse financiare. Testarea manuală poate fi costisitoare, în timp ce testarea automatizată se poate dovedi mai eficientă din punct de vedere al costurilor pe termen lung.
  • Facilitează reutilizarea codului. Testele pot fi create o singură dată și rulate de mai multe ori.
  • Reduce riscul erorilor umane, sporind astfel precizia testării.
  • Este ideală pentru aplicațiile de mari dimensiuni. Testarea manuală poate fi potrivită pentru aplicații mici, dar pe măsură ce complexitatea unei aplicații crește, un cadru de testare automatizată devine indispensabil.

Ce este Selenium?

Selenium este o suită de instrumente open-source, gratuită, destinată testării automate a aplicațiilor web. A fost creată de Jason Huggins în 2004 și a devenit rapid populară datorită unei comunități active de utilizatori. Selenium este compatibilă cu diverse browsere și platforme.

Care sunt componentele suitei Selenium?

Selenium nu este un singur instrument, ci o suită care include mai multe componente:

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

Ce limbaje de programare sunt compatibile cu Selenium?

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

Ce tipuri de teste suportă Selenium?

Selenium este specializat în testarea interfeței utilizator (UI) a aplicațiilor web.

Ce este Selenium WebDriver?

Selenium WebDriver este un instrument care facilitează comunicarea cu browserele web. Se bazează pe compatibilitatea nativă pentru automatizarea diverselor operațiuni.

Ce este Selenium IDE?

Selenium IDE este un plugin pentru Firefox care servește ca instrument de înregistrare și redare a acțiunilor utilizatorului. A fost conceput ca o soluție pentru accelerarea procesului de creare a scripturilor de automatizare.

Ce este Selenium Grid?

Selenium Grid permite utilizatorilor să distribuie execuția testelor pe multiple medii și platforme simultan.

Ce este Selenium RC (Remote Control)?

RC este un instrument care permite crearea scripturilor de testare în limbajul de programare dorit și execuția acestora pe o gamă largă de browsere.

Ce se înțelege prin Selenese?

Selenese este limbajul utilizat în Selenium IDE pentru a scrie comenzi. Aceste comenzi sunt esențiale pentru ca Selenium să înțeleagă ce acțiuni trebuie efectuate.

Care sunt tipurile de comenzi Selenese?

  • Acțiuni: comenzi care modifică starea aplicației (ex: „introdu text într-un câmp”, „click pe un link”).
  • Accesori: comenzi care preiau informații despre starea aplicației și le stochează în variabile.
  • Aserțiuni: comenzi care verifică starea aplicației și determină dacă aceasta corespunde așteptărilor.

Care sunt metodele de localizare a elementelor în Selenium?

  • ID
  • Clasa
  • Nume
  • Nume etichetă
  • LinkText
  • PartialLinkText
  • XPath
  • Selector CSS
  • DOM

Ce este un XPath?

XPath este o modalitate de localizare a elementelor web pe baza căii lor în documentul Extensible Markup Language (XML), care este folosit pentru a organiza și transporta date.

Care este diferența între „/” și „//” în XPath?

„/” (o singură bară oblică) creează un XPath cu o cale absolută, începând selecția din nodul rădăcină.

„//” (două bare oblice) creează un XPath cu o cale relativă, începând selecția din orice punct al documentului.

Ce este un XPath absolut?

Un XPath absolut începe cu o singură bară oblică „/” și specifică întreaga cale de la nodul rădăcină la elementul dorit.

Care este diferența dintre findElement() și findElements()?

  • findElements(): găsește toate elementele care corespund criteriilor de localizare și returnează o listă cu elementele web găsite.
  • findElement(): găsește primul element care corespunde criteriilor de localizare și returnează un singur element web.

Ce tipuri de adnotări sunt folosite în Selenium?

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

Ce sunt aserțiunile în Selenium?

Aserțiunile sunt declarații care verifică dacă aplicația se comportă conform așteptărilor. Dacă o aserțiune eșuează, testul este considerat eșuat și execuția se oprește.

Care este diferența dintre comenzile Assert și Verify?

  • Assert: dacă condiția specificată este adevărată, execuția testului continuă. Dacă condiția este falsă, execuția se oprește.
  • Verify: execuția testului continuă indiferent dacă condiția verificată este adevărată sau falsă.

Ce este politica aceleiași origini și cum o gestionează Selenium?

Politica aceleiași origini este un mecanism de securitate care restricționează interacțiunea dintre scripturi/documente încărcate dintr-o origine și resurse dintr-o altă origine. Această politică previne executarea scripturilor rău intenționate.

Selenium o gestionează prin injecție proxy. Serverul Selenium acționează ca un proxy HTTP configurat de client între aplicație și browser, maschează URL-ul real al aplicației cu unul fictiv.

Ce este funcția de pauză în Selenium IDE?

Funcția de pauză este o comandă „wait” care întârzie execuția testului pentru o perioadă specificată, exprimată în milisecunde.

De ce eșuează testele Selenium IDE?

  • Site-uri web asincrone: ordinea de execuție a testelor poate fi diferită de ordinea răspunsurilor unor site-uri web cu arhitectură asincronă.
  • Timeouts: Selenium poate eșua dacă așteaptă prea mult încărcarea unei componente. Aceste erori pot fi tratate cu comenzile „wait”.
  • Bug-uri: Selenium este în continuă dezvoltare, și este posibil să apară erori care să conducă la eșecul testelor.
  • Modificări minore în codul sursă: modificarea unui selector poate afecta testele care se bazează pe acel selector.

Ce este TestNG și care sunt caracteristicile sale?

TestNG este un cadru de testare automatizată inspirat de JUnit și NUnit. Este open-source și gratuit.

Caracteristici TestNG:

  • Diverse tipuri de aserțiuni.
  • Execuția testelor în paralel.
  • Testele pot depinde una de alta folosind atributele „dependsOnMethods” și „dependsOnGroups”.
  • Testarea bazată pe date.
  • Posibilitatea de a grupa testele.

Care este diferența dintre implicit wait și explicit wait?

  • Implicit wait: WebDriver așteaptă un anumit timp înainte de a genera o excepție. Valoarea implicită este 0, iar odată setată, WebDriver așteaptă până la expirarea timpului pentru a genera o excepție.
  • Explicit wait: WebDriver așteaptă ca o anumită condiție sau ExpectedCondition să fie îndeplinită înainte de a genera o excepție, aplicându-se doar elementelor specificate.

Ce este un depozit de obiecte?

Un depozit de obiecte este o colecție de perechi cheie-valoare, folosită într-un script de testare GUI automat, care facilitează întreținerea scripturilor de testare. Cheia reprezintă un nume logic al obiectului, iar valoarea conține proprietățile unice ale obiectului. Este o locație centrală pentru stocarea și gestionarea datelor.

Ce excepții pot apărea în Selenium WebDriver?

O excepție este un eveniment neașteptat care poate apărea în timpul execuției programului. Poate perturba fluxul normal al programului.

Excepții în Selenium WebDriver:

  • NoSuchWindowException: WebDriver încearcă să comute la o fereastră invalidă.
  • NoSuchElementException: elementul căutat nu este găsit.
  • NoAlertPresentException: WebDriver încearcă să comute la o alertă care nu există.
  • TimeoutException: comanda specificată nu se termină în timp util.
  • ElementNotVisibleException: elementul nu este vizibil.
  • ElementNotSelectableException: elementul nu poate fi selectat.
  • SessionNotFoundException: WebDriver acționează după închiderea browserului.

Enumeră tipurile de localizatori

  • Id
  • Nume
  • Nume clasă
  • Nume etichetă
  • LinkText
  • PartialLinkText
  • Selector CSS
  • XPath

Ce sunt punctele de întrerupere și punctele de început?

  • Punctele de pornire: indică locul de unde începe execuția unui cod. Se pot folosi pentru a rula scriptul dintr-un punct intermediar sau de la un punct de întrerupere.
  • Punctele de întrerupere: opresc execuția codului, fiind folosite pentru a verifica dacă acesta funcționează corect.

Încheiere

Acestea sunt câteva dintre întrebările pe care le poți întâlni într-un interviu pentru un post în ingineria testării automatizate, unde este utilizat Selenium. Asigură-te că deții cunoștințele și abilitățile necesare înainte de a aplica pentru un astfel de post.

Ți-a plăcut acest articol? Distribuie-l!