Sobes.tech
Junior — Middle

Πώς πραγματοποιείται η διαδικασία ελέγχου του λογισμικού με τη βοήθεια στιγμιότυπων οθόνης;

sobes.tech AI

Απάντηση από AI

Ο έλεγχος λογισμικού μέσω στιγμιότυπων οθόνης είναι μια μέθοδος οπτικής δοκιμής κατά την οποία η τρέχουσα εμφάνιση του περιβάλλοντος χρήστη της εφαρμογής συγκρίνεται με μια εικόνα αναφοράς. Αυτή η προσέγγιση χρησιμοποιείται συχνά για την ανίχνευση οπτικών παλινδρομήσεων.

Η διαδικασία περιλαμβάνει συνήθως τα εξής βήματα:

  1. Αυτόματη ή χειροκίνητη λήψη στιγμιότυπων οθόνης συγκεκριμένων οθονών ή συστατικών της εφαρμογής.
  2. Αποθήκευση των εικόνων αναφοράς, που θεωρούνται σωστές.
  3. Σε μελλοντικές δοκιμές, λαμβάνεται ένα νέο στιγμιότυπο της ίδιας στοιχείου.
  4. Συγκρίνετε το νέο στιγμιότυπο με το αναφορά χρησιμοποιώντας ειδικά εργαλεία που ανιχνεύουν διαφορές (π.χ., σε επίπεδο pixel).
  5. Εάν οι διαφορές υπερβαίνουν ένα καθορισμένο όριο, η δοκιμή θεωρείται αποτυχημένη και αναλύονται οι οπτικές αλλαγές.

Παράδειγμα χρήσης σε αυτοματοποίηση με Python και τις βιβλιοθήκες Selenium και 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  # Υπάρχουν διαφορές
    return True  # Τα στιγμιότυπα ταιριάζουν

# Στη δοκιμή, λαμβάνεται ένα στιγμιότυπο και συγκρίνεται
browser = webdriver.Chrome()
browser.get('https://example.com')
browser.save_screenshot('current.png')

if not compare_screenshots('baseline.png', 'current.png'):
    print('Εντοπίστηκαν οπτικές αλλαγές!')
else:
    print('Επιβεβαιώθηκε οπτική συμφωνία.')

browser.quit()

Με αυτόν τον τρόπο, ο έλεγχος με στιγμιότυπα οθόνης βοηθά στον έλεγχο της εμφάνισης και των στοιχείων UI, και είναι ιδιαίτερα χρήσιμος σε αλλαγές σχεδίασης ή δοκιμές σε διαφορετικούς περιηγητές.