Test Overview
This test uses a fluent wait to wait for a button to become clickable on a webpage. It verifies that the button can be clicked successfully.
This test uses a fluent wait to wait for a button to become clickable on a webpage. It verifies that the button can be clicked successfully.
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.common.exceptions import TimeoutException # Setup WebDriver driver = webdriver.Chrome() driver.get('https://example.com') try: wait = WebDriverWait(driver, 10, poll_frequency=0.5, ignored_exceptions=[Exception]) button = wait.until(EC.element_to_be_clickable((By.ID, 'submit-btn'))) button.click() assert driver.current_url != 'https://example.com', 'URL did not change after click' finally: driver.quit()
| Step | Action | System State | Assertion | Result |
|---|---|---|---|---|
| 1 | Test starts and WebDriver Chrome instance is created | Browser window opens at 'https://example.com' | - | PASS |
| 2 | WebDriverWait with fluent wait settings is created (10s timeout, 0.5s polling, ignoring TimeoutException) | Waiting for element with ID 'submit-btn' to be clickable | - | PASS |
| 3 | Wait polls every 0.5 seconds until the button with ID 'submit-btn' is clickable | Button becomes clickable within timeout | Element is clickable | PASS |
| 4 | Button is clicked | Browser navigates or updates after click | Current URL is different from initial URL 'https://example.com' | PASS |
| 5 | WebDriver quits and browser closes | Browser window closed | - | PASS |