Sobes.tech
Junior — Middle

Ako prebieha proces kontroly softvéru pomocou snímok obrazovky?

sobes.tech AI

Odpoveď od AI

Kontrola softvéru pomocou snímok obrazovky je metóda vizuálneho testovania, pri ktorej sa aktuálny vzhľad používateľského rozhrania aplikácie porovnáva s referenčným obrázkom. Tento prístup sa často používa na detekciu vizuálnych regresií.

Proces zvyčajne zahŕňa nasledovné kroky:

  1. Automatické alebo manuálne zachytenie snímok obrazovky určitých obrazoviek alebo komponentov aplikácie.
  2. Uloženie referenčných obrázkov, ktoré sa považujú za správne.
  3. Pri ďalších testoch sa urobí nový snímok toho istého prvku.
  4. Porovnanie nového snímku s referenčným pomocou špeciálnych nástrojov, ktoré odhaľujú rozdiely (napríklad na úrovni pixelov).
  5. Ak rozdiely prekročia stanovený prah, test sa považuje za neúspešný a vizuálne zmeny sa analyzujú.

Príklad použitia v automatizácii s Pythonom a knižnicami Selenium a Pillow:

from selenium import webdriver
from PIL import Image, ImageChops

def compare_screenshots(img1_path, img2_path):
    img1 = Image.open(img1_path)
    img2 = Image.open(img2_path)
    diff = ImageChops.difference(img1, img2)
    if diff.getbbox():
        return False  # Existujú rozdiely
    return True  # Snímky zodpovedajú

# V teste urobíme snímku a porovnáme
browser = webdriver.Chrome()
browser.get('https://example.com')
browser.save_screenshot('current.png')

if not compare_screenshots('baseline.png', 'current.png'):
    print('Vizuálne zmeny zistené!')
else:
    print('Vizuálna zhoda potvrdená.')

browser.quit()

Týmto spôsobom kontrola pomocou snímok obrazovky pomáha sledovať vzhľad a UI prvky, čo je obzvlášť užitočné pri zmenách dizajnu alebo testovaní medzi rôznymi prehliadačmi.