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')))