Synchronization Commands: Thread.sleep(), Implicit Wait, Explicit Wait
Thread.sleep()
Pauses execution for a fixed duration regardless of whether the page is ready, e.g. Thread.sleep(3000); — simple but wasteful and unreliable, generally discouraged.
Implicit Wait
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
Applies a default wait time across all element lookups for the whole driver session, polling repeatedly until the element appears or the timeout expires.
Explicit Wait
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("submit")));
Waits for a specific condition on a specific element, giving far more precise control than implicit waits — the generally recommended approach for reliable synchronization.
Ready to master real-world software testing?
Learn manual and automation testing hands-on with mentor-led sessions.
.png)