Junior — Middle
Jak przebiega proces weryfikacji oprogramowania za pomocą zrzutów ekranu?
sobes.tech AI
Odpowiedź od AI
Weryfikacja oprogramowania za pomocą zrzutów ekranu to metoda testowania wizualnego, w której aktualny wygląd interfejsu aplikacji jest porównywany z obrazem referencyjnym. Podejście to jest często wykorzystywane do wykrywania regresji wizualnych.
Proces zazwyczaj obejmuje następujące kroki:
- Automatyczne lub ręczne wykonanie zrzutów ekranu określonych ekranów lub komponentów aplikacji.
- Zapisanie obrazów referencyjnych, które są uważane za poprawne.
- W kolejnych testach wykonywany jest nowy zrzut ekranu tego samego elementu.
- Porównanie nowego zrzutu z obrazem referencyjnym za pomocą specjalnych narzędzi, które wykrywają różnice (np. na poziomie pikseli).
- Jeśli różnice przekraczają ustalony próg, test uznaje się za nieudany, a zmiany wizualne są analizowane.
Przykład użycia w automatyzacji z Pythonem i bibliotekami Selenium i 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 # Występują różnice
return True # Zrzuty ekranu są zgodne
# W teście wykonujemy zrzut ekranu i porównujemy
browser = webdriver.Chrome()
browser.get('https://example.com')
browser.save_screenshot('current.png')
if not compare_screenshots('baseline.png', 'current.png'):
print('Wykryto zmiany wizualne!')
else:
print('Potwierdzono zgodność wizualną.')
browser.quit()
W ten sposób weryfikacja za pomocą zrzutów ekranu pomaga kontrolować wygląd i elementy UI, co jest szczególnie przydatne przy zmianach w projekcie lub testach między przeglądarkami.