Sobes.tech
Junior — Middle

Ποιοι τύποι προσδοκιών μπορείτε να καταγράψετε στο πλαίσιο της ανάπτυξης λογισμικού;

sobes.tech AI

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

Στο πλαίσιο της ανάπτυξης λογισμικού, διακρίνονται διάφοροι τύποι προσδοκιών (expectations), ιδιαίτερα στον έλεγχο και την αυτοματοποίηση:

  • Σκληρές αναμονές (Hard waits) — σταθερός χρόνος αναμονής, π.χ., sleep(5). Χρησιμοποιούνται σπάνια, καθώς είναι αναποτελεσματικές και επιβραδύνουν τις δοκιμές.
  • Εκφραστικές αναμονές (Explicit waits) — αναμονή για μια συγκεκριμένη συνθήκη ή γεγονός με χρονικό όριο. Για παράδειγμα, αναμονή για την εμφάνιση ενός στοιχείου στη σελίδα.
  • Έμμεσες αναμονές (Implicit waits) — ρύθμιση χρόνου αναμονής για την αναζήτηση στοιχείων, κατά την οποία ο οδηγός θα προσπαθεί επανειλημμένα.
  • Αναμονές βάσει γεγονότων (Event-based waits) — αναμονή για την πραγματοποίηση ενός συγκεκριμένου γεγονότος, όπως η ολοκλήρωση φόρτωσης αρχείου.

Παράδειγμα εκφραστικής αναμονής σε Python με Selenium:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

wait = WebDriverWait(driver, 10)
element = wait.until(EC.presence_of_element_located((By.ID, 'myElement')))