Sobes.tech
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:

  1. Automatyczne lub ręczne wykonanie zrzutów ekranu określonych ekranów lub komponentów aplikacji.
  2. Zapisanie obrazów referencyjnych, które są uważane za poprawne.
  3. W kolejnych testach wykonywany jest nowy zrzut ekranu tego samego elementu.
  4. Porównanie nowego zrzutu z obrazem referencyjnym za pomocą specjalnych narzędzi, które wykrywają różnice (np. na poziomie pikseli).
  5. 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.