Se va realiza un exemplu de automatizare in orice limbaj.
Se va explica codul si ce face automatizarea.
Se va incarca si un fisier txt cu descrierea a ce face automatizarea.
*Automatizarea va fi diferita de automatizarea de la proiect; sa nici nu aiba legatura cu proiectul.
Am ales sa folosesc biblioteca playwright fiindca am tot auzit ca e foarte populara (9.6k stars pe github) si in sfarsit s-a ivit ocazia de a o folosi.
Documentatie playwright specifica pentru limbajul python se pot gasi aici.
-
Am scris cele trei scenarii pentru login gasite aici in python/playwright
-
In plus fata de a implementa scenariile respective - si a nu "hardcoda" credentialele pentru login - am decis sa folosesc playwright pentru extragerea credentialelor afisate in pagina respectiva de test
-
Detaliile fiecarui test case se pot gasi ca docstring in interiorul fiecarui test
-
check url usiCredentialele se extrag folosind o fixtura de pytest la inceputul fisierului
- python instalat
- versiune folosita: 3.12 (se poate downloada si instala de aici)
- Creati un virtual environment pentru a nu polua setupul si dependintele globale specifice python:
python -m venv venv_testare_tema_2
- Activati virtualenv-ul creat:
source venv_testare_tema_2/bin/activate
- Instalati toate bibliotecile/dependintele din requirements.txt
pip install -r requirements.txt
- Instalati browserele necesare playwright
playwright install
- Rulati scriptul automatizat
pytest
- Daca se doreste vizualizarea in timp real a actiunilor automate facute de playwright se poate rula in modul "headed"
pytest --headed
- Testele au fost implementate in asa mod - izolat - incat
- daca se doreste rularea in paralel a tuturor testelor se poate face prin:
Note:
pytest -n auto
- necesita biblioteca
pytest-xdist
(inclusa in requirements.tzt - instalata deja la pasul 3) - auto o sa descopere el numarul de procese maxim ce pot fi folosite
- se poate folosi un integer daca se vrea configurat manual: e.g.
-n 2
- necesita biblioteca
- daca se doreste rularea in paralel a tuturor testelor se poate face prin:
- Daca se doreste oprirea executiei la un anumit punct din automatizare se poate adauga in test_login_feature oriunde expresia
breakpoint()
- in momentul acesta se poate
- afisa linia la care e executia tastand
l
(L mic + enter) - merge la linia urmatoare tastand
n
(N mic + enter)
- afisa linia la care e executia tastand
- mai multe detalii despre breakpoint aici
- in momentul acesta se poate