Back to Course
Selenium WebDriver

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.

Explore Course