Skip to content

Mihaimx1/chipy-framework

Repository files navigation

Chipy.com Test Automation Framework

Test automation framework pentru https://dev.chipy.com/, construit cu Python, Playwright si pytest.

Framework-ul valideaza homepage-ul pe configuratii reale de mobile si desktop, ruleaza in paralel cu pytest-xdist, genereaza rapoarte HTML/JUnit si include acum un layer de visual regression testing cu baseline-uri locale si diff-uri integrate in pytest-html.

Ce include framework-ul

  • Page Object Model pentru structura testelor
  • rulare cross-device pe 8 configuratii reale
  • filtre CLI pentru device si browser
  • rulare paralela cu pytest-xdist
  • rapoarte report.html si junit.xml
  • helperi pentru screenshot
  • visual regression testing cu baseline-uri locale
  • mascare pentru zone dinamice din screenshot-urile vizuale

Device-uri configurate

Device Browser Viewport
iPhone_15_Pro_Max WebKit 430x932
Samsung_Galaxy_S24_Ultra Chromium 412x915
Google_Pixel_8_Pro Chromium 412x915
iPhone_14 WebKit 390x844
Samsung_Galaxy_A54 Chromium 393x873
Desktop_Chrome Chromium 1920x1080
Desktop_Firefox Firefox 1920x1080
Desktop_Safari WebKit 1920x1080

Structura proiectului

chipy-framework/
├── config/
│   └── config.py
├── pages/
│   ├── base_page.py
│   └── homepage.py
├── tests/
│   └── test_homepage.py
├── utils/
│   ├── screenshot.py
│   └── visual_regression.py
├── visual_baselines/
├── reports/
├── conftest.py
├── pytest.ini
├── requirements.txt
├── GIT_WORKFLOW.md
├── TEST_COMMANDS.md
└── README.md

Instalare

python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
playwright install

Comenzi rapide

Ruleaza toata suita:

pytest

Ruleaza doar smoke:

pytest -m smoke

Ruleaza doar regression:

pytest -m regression

Ruleaza doar visual:

pytest -m visual

Regenereaza baseline-urile vizuale:

pytest -m visual --update-visual-baselines

Ruleaza doar mobile:

pytest --target-device mobile

Ruleaza un singur device:

pytest --target-device Desktop_Chrome

Pentru mai multe exemple, vezi:

Visual regression testing

Visual testing-ul este implementat local, fara serviciu extern.

Ce face:

  • captureaza screenshot-uri pentru homepage
  • salveaza baseline-uri per device in visual_baselines/
  • compara rularea curenta cu baseline-ul
  • genereaza artefacte in reports/visual/
  • embed-uieste baseline, actual, diff si comparison direct in reports/report.html

Baseline-urile sunt separate per device ca sa nu existe conflicte intre configuratiile mobile si desktop.

Rapoarte si artefacte

La rulare se genereaza:

  • reports/report.html
  • reports/junit.xml
  • reports/visual/

Baseline-urile vizuale se gasesc in:

  • visual_baselines/

Observatii practice

  • Pentru debugging vizual sau Playwright Inspector, ruleaza cu -n 1.
  • Pentru refresh de baseline-uri, foloseste --update-visual-baselines.
  • Zonele dinamice de pe homepage pot fi mascate din pages/homepage.py.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages