Junior — Middle
Come viene effettuato il processo di verifica del software tramite screenshot?
sobes.tech AI
Risposta dell'AI
La verifica del software tramite screenshot è un metodo di testing visivo in cui l'aspetto attuale dell'interfaccia dell'applicazione viene confrontato con un'immagine di riferimento. Questo approccio viene spesso utilizzato per individuare regressioni visive.
Il processo generalmente include i seguenti passaggi:
- Acquisizione automatica o manuale di screenshot di schermate o componenti specifici dell'applicazione.
- Salvataggio delle immagini di riferimento, considerate corrette.
- In test successivi, si scatta un nuovo screenshot dello stesso elemento.
- Confronto tra il nuovo screenshot e quello di riferimento utilizzando strumenti speciali che rilevano differenze (ad esempio, a livello di pixel).
- Se le differenze superano una soglia stabilita, il test viene considerato fallito e si analizzano le modifiche visive.
Esempio di utilizzo in automazione con Python e le librerie Selenium e 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 # Differenze presenti
return True # Gli screenshot corrispondono
# Nel test si scatta uno screenshot e si confronta
browser = webdriver.Chrome()
browser.get('https://example.com')
browser.save_screenshot('current.png')
if not compare_screenshots('baseline.png', 'current.png'):
print('Modifiche visive rilevate!')
else:
print('Conformità visiva confermata.')
browser.quit()
In questo modo, la verifica tramite screenshot aiuta a controllare l'aspetto e gli elementi dell'interfaccia utente, particolarmente utile in caso di cambiamenti di design o test cross-browser.