Test Overview
This test opens a webpage, moves the mouse pointer over a menu item to reveal a submenu, and verifies that the submenu becomes visible.
This test opens a webpage, moves the mouse pointer over a menu item to reveal a submenu, and verifies that the submenu becomes visible.
from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains 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 TestMouseHover(unittest.TestCase): def setUp(self): self.driver = webdriver.Chrome() self.driver.get('https://example.com/menu') self.wait = WebDriverWait(self.driver, 10) def test_hover_reveals_submenu(self): driver = self.driver wait = self.wait menu = wait.until(EC.presence_of_element_located((By.ID, 'menu-item'))) submenu_locator = (By.ID, 'submenu-item') actions = ActionChains(driver) actions.move_to_element(menu).perform() submenu = wait.until(EC.visibility_of_element_located(submenu_locator)) self.assertTrue(submenu.is_displayed(), 'Submenu should be visible after hover') def tearDown(self): self.driver.quit() if __name__ == '__main__': unittest.main()
| Step | Action | System State | Assertion | Result |
|---|---|---|---|---|
| 1 | Test starts and Chrome browser opens | Browser window is open and ready | - | PASS |
| 2 | Navigates to 'https://example.com/menu' | Page with menu loaded | - | PASS |
| 3 | Waits until element with ID 'menu-item' is present | Menu item element is found in DOM | Element 'menu-item' is present | PASS |
| 4 | Moves mouse pointer over the 'menu-item' element using ActionChains.move_to_element().perform() | Mouse pointer hovers over menu item, triggering submenu display | - | PASS |
| 5 | Waits until submenu element with ID 'submenu-item' becomes visible | Submenu is visible on the page | Submenu element is visible | PASS |
| 6 | Asserts that submenu.is_displayed() returns True | Submenu is confirmed visible | assertTrue(submenu.is_displayed()) | PASS |
| 7 | Test ends and browser closes | Browser window closed | - | PASS |