Junior — Middle
Jak probíhá proces kontroly softwaru pomocí snímků obrazovky?
sobes.tech AI
Odpověď od AI
Kontrola softwaru pomocí snímků obrazovky je metoda vizuálního testování, při které se aktuální vzhled uživatelského rozhraní aplikace porovnává s referenčním obrázkem. Tento přístup se často používá k detekci vizuálních regresí.
Proces obvykle zahrnuje následující kroky:
- Automatické nebo ruční zachycení snímků obrazovky určitých obrazovek nebo komponent aplikace.
- Uložení referenčních obrázků, které jsou považovány za správné.
- Při následných testech se pořídí nový snímek téhož prvku.
- Porovnání nového snímku s referenčním pomocí speciálních nástrojů, které odhalují rozdíly (například na pixelové úrovni).
- Pokud rozdíly přesáhnou stanovený práh, test je považován za neúspěšný a vizuální změny jsou analyzovány.
Příklad použití v automatizaci s Pythonem a knihovnami 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 # Rozdíly jsou
return True # Snímky odpovídají
# V testu pořídíme snímek a porovnáme ho
browser = webdriver.Chrome()
browser.get('https://example.com')
browser.save_screenshot('current.png')
if not compare_screenshots('baseline.png', 'current.png'):
print('Zjištěny vizuální změny!')
else:
print('Vizuální shoda potvrzena.')
browser.quit()
Tímto způsobem kontrola pomocí snímků obrazovky pomáhá sledovat vzhled a UI prvky, což je zvláště užitečné při změnách designu nebo testování napříč prohlížeči.