Documente Academic
Documente Profesional
Documente Cultură
RAPORT
Chișinău – 2023
1
Cuprins
Sarcina lucrării................................................................................................................................................3
Obiective.........................................................................................................................................................3
Noțiuni teoretice.............................................................................................................................................3
Desfăşurarea lucrării de laborator...................................................................................................................3
Realizarea sarcinii...........................................................................................................................................4
Concluzie........................................................................................................................................................9
2
Sarcina lucrării
Crearea unui test automatizat folosind Selenium, pe baza unei aplicații web și urmărirea scriptului
înregistrat.
Obiective
1. Înțelegerea conceptelor de bază ale testării automate și cum Selenium poate fi utilizat pentru a
automatiza testarea aplicațiilor web.
2. Cunoașterea arhitecturii Selenium și a modului în care aceasta poate fi utilizată pentru a scrie teste
automate robuste.
3. Înțelegerea modului de utilizare a Selenium WebDriver pentru a interacționa cu elementele de pe
paginile web.
Noțiuni teoretice
Selenium este o platformă open-source utilizată pentru automatizarea testelor pentru aplicații web.
Cu ajutorul bibliotecilor și instrumentelor pe care le oferă, dezvoltatorii pot automatiza testele de regresie
și testele funcționale pentru a asigura calitatea software-ului. Printre caracteristicile principale ale
Selenium se numără:
Compatibilitatea cu mai multe limbi de programare, cum ar fi Java, Python, C#, Ruby și altele;
Automatizarea interacțiunii cu interfața utilizator a aplicației web, inclusiv completarea
formularelor, navigarea prin pagini și click pe butoane;
Suport pentru mai multe browsere web, inclusiv Google Chrome, Mozilla Firefox, Microsoft Edge
și altele;
Flexibilitatea și extensibilitatea pentru personalizarea și automatizarea sarcinilor complexe,
precum testarea integrării cu alte aplicații sau testarea performanței;
Integrarea cu alte unelte și platforme de automatizare a testelor, precum Selenium Grid sau
platforme de testare în cloud.
3
3. Scrieți codul necesar pentru identificarea, completarea și accesarea comenzilor, butoanelor sau
altor elemente din interfața utilizatorului, utilizând API-ul Selenium și limbajul de programare
preferat.
4. Urmăriți rezultatul testelor și analizați impedimentele și alternativele pentru îmbunătățirea
procesului de testare. Este important să ajustați și să îmbunătățiți scripturile de testare după fiecare
rulare a testelor.
Realizarea sarcinii
1. Platforma pe baza căreia de va efectua testarea este site-ul în curs de dezvoltare
https://dpfs.esempla.systems/
2. Procesele care au fost automatizate:
- logarea, delogarea din system;
- schimbare context;
- accesare opțiuni din sidebar;
- afișare dashboard specific contextului;
- accesare și căutare în modului Agent Economic;
- accesare și vizualizare Agent Economic și Situație financiară;
- descărcare Situație financiară;
- generarea raportului din context Cetățean.
3. Secvență de cod:
# Navigate to website
driver.get("https://dpfs.esempla.systems/login")
idnp_input = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH,
"/html/body/jhi-main/div[2]/div/jhi-login/div/div/div/form/div[1]/input")))
idnp_input.click()
sleep(2)
idnp_input.send_keys("admin")
idnp_input = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH,
"/html/body/jhi-main/div[2]/div/jhi-login/div/div/div/form/div[2]/input")))
idnp_input.click()
idnp_input.send_keys("capitalism")
4
next_button = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH,
"/html/body/jhi-main/div[2]/div/jhi-login/div/div/div/form/button")))
next_button.click()
sleep(2)
idnp_input = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH,
"/html/body/jhi-main/div[1]/jhi-navbar/nav/div/div/ul/li[3]/a")))
idnp_input.click()
Primul pas reprezintă accesarea paginii web, conform url indicat în cod și completarea datelor
pentru logare.
5
Figura 2 - Schimbare context
La schimbarea contextului accesează Tabloul de bord din meniul lateral și este direcționat spre
Tabloul de bord specific contextului.
Se selectează opțiunea Total Ae, care redirecționează spre modul Agent economic. În acest modul
se completează bara de căutare cu un cuvânt cheie care va fi căutat in datele Agenților economici și se
apasă pe butonul de căutare.
6
Figura 4 - Căutarea în modulul Agent economic
Utilizatorul selectează primul rezultat din listă și vizualizează datele despre agent economic și
situațiile financiare.
Figura 5 - Vizualizare declarațiilor asociate primului Agent economic din lista de căutare
La accesarea unei situații financiare vizualizează datele generale și descarcă declarația în format
pdf.
7
Figura 6 - Descărcare situație financiară în format pdf
Utilizator schimbă contexul în Cetățean, accesează din meniul lateral opțiunea Rapoarte ->
Rapoarte simple.
După completarea datelor din câmpurile de intrare, se accesează opțiunea Generează raport, iar
raportul poate fi previzualizat.
8
Figura 8 - Delogarea din sistem
Concluzie
Selenium este o unealtă populară de testare automatizată pentru aplicațiile web, oferind avantaje
importante, cum ar fi economisirea de timp și efort prin execuția automată a testelor repetitive, acoperirea
largă a browserelor, flexibilitatea de a fi integrat în diferite medii de dezvoltare și detectarea rapidă a
erorilor. Cu toate acestea, există și dezavantaje, cum ar fi dificultatea instalării și configurării, costul
pentru unele versiuni plătite și fragilitatea testelor, care pot necesita modificări frecvente pentru a se
menține relevante odată cu schimbările în aplicații și platforme.