Junior — Middle
Τι εννοείται με ρητή αναμονή στο πλαίσιο της αυτοματοποίησης δοκιμών με Selenium;
sobes.tech AI
Απάντηση από AI
Η ρητή αναμονή (Explicit Wait) στο Selenium είναι ένας μηχανισμός που κάνει το τεστ να περιμένει μια συγκεκριμένη συνθήκη πριν συνεχίσει την εκτέλεση. Σε αντίθεση με την έμμεση αναμονή (Implicit Wait), που εφαρμόζεται σε όλα τα στοιχεία και απλώς περιμένει την εμφάνιση του στοιχείου, η ρητή αναμονή επιτρέπει τον ορισμό μιας συγκεκριμένης συνθήκης και μέγιστου χρόνου αναμονής.
Για παράδειγμα, μπορείς να περιμένεις μέχρι ένα στοιχείο να γίνει κλικαμπλ ή ορατό:
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.id("submit")));
element.click();
Αυτό βοηθά να γίνουν τα τεστ πιο σταθερά, ειδικά όταν δουλεύεις με δυναμικές σελίδες, όπου τα στοιχεία μπορεί να φορτώσουν με καθυστέρηση.