Test Overview
This test opens a webpage, clicks a link that opens a new browser window, switches to the new window, verifies the new window's title, then switches back to the original window and verifies its title.
This test opens a webpage, clicks a link that opens a new browser window, switches to the new window, verifies the new window's title, then switches back to the original window and verifies its title.
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 import unittest class TestWindowSwitching(unittest.TestCase): def setUp(self): self.driver = webdriver.Chrome() self.driver.get('https://example.com') def test_switch_windows(self): driver = self.driver original_window = driver.current_window_handle # Click link that opens a new window link = WebDriverWait(driver, 10).until( EC.element_to_be_clickable((By.LINK_TEXT, 'More information...')) ) link.click() # Wait for new window WebDriverWait(driver, 10).until(EC.new_window_is_opened([original_window])) # Switch to new window for handle in driver.window_handles: if handle != original_window: driver.switch_to.window(handle) break # Verify new window title self.assertIn('IANA', driver.title) # Switch back to original window driver.switch_to.window(original_window) # Verify original window title self.assertEqual(driver.title, 'Example Domain') def tearDown(self): self.driver.quit() if __name__ == '__main__': unittest.main()
| Step | Action | System State | Assertion | Result |
|---|---|---|---|---|
| 1 | Test starts and opens browser to 'https://example.com' | Browser shows 'Example Domain' page | - | PASS |
| 2 | Waits until link with text 'More information...' is clickable | Link is visible and clickable on the page | - | PASS |
| 3 | Clicks the 'More information...' link | New browser window opens with IANA page | - | PASS |
| 4 | Waits until a new window is opened | Two browser windows are open | - | PASS |
| 5 | Switches control to the new window | Driver controls the new window showing IANA page | - | PASS |
| 6 | Checks that the new window's title contains 'IANA' | New window title is 'IANA — IANA-managed Reserved Domains' | Title contains 'IANA' | PASS |
| 7 | Switches back to the original window | Driver controls original window showing 'Example Domain' | - | PASS |
| 8 | Verifies the original window's title is exactly 'Example Domain' | Original window title is 'Example Domain' | Title equals 'Example Domain' | PASS |
| 9 | Test ends and browser closes | Browser closed | - | PASS |