0
0
Selenium Pythontesting~10 mins

Mouse hover (move_to_element) in Selenium Python - Test Execution Trace

Choose your learning style9 modes available
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.

Test Code - Selenium
Selenium Python
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()
Execution Trace - 7 Steps
StepActionSystem StateAssertionResult
1Test starts and Chrome browser opensBrowser window is open and ready-PASS
2Navigates to 'https://example.com/menu'Page with menu loaded-PASS
3Waits until element with ID 'menu-item' is presentMenu item element is found in DOMElement 'menu-item' is presentPASS
4Moves mouse pointer over the 'menu-item' element using ActionChains.move_to_element().perform()Mouse pointer hovers over menu item, triggering submenu display-PASS
5Waits until submenu element with ID 'submenu-item' becomes visibleSubmenu is visible on the pageSubmenu element is visiblePASS
6Asserts that submenu.is_displayed() returns TrueSubmenu is confirmed visibleassertTrue(submenu.is_displayed())PASS
7Test ends and browser closesBrowser window closed-PASS
Failure Scenario
Failing Condition: Submenu does not appear after mouse hover on menu item
Execution Trace Quiz - 3 Questions
Test your understanding
What Selenium method is used to move the mouse pointer over the menu item?
Adriver.find_element().click()
Bdriver.execute_script()
CActionChains.move_to_element().perform()
DWebDriverWait.until()
Key Result
Always wait explicitly for elements to be visible after mouse hover actions to ensure the UI reacts as expected before asserting.