0
0
Selenium Pythontesting~10 mins

Action chains in Selenium Python - Test Execution Trace

Choose your learning style9 modes available
Test Overview

This test uses Selenium's ActionChains to hover over a menu item and then click a submenu item. It verifies that the submenu item is clickable and the click action works.

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 TestActionChains(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_and_click_submenu(self):
        driver = self.driver
        wait = self.wait

        menu = wait.until(EC.presence_of_element_located((By.ID, 'menu-item')))
        submenu = wait.until(EC.element_to_be_clickable((By.ID, 'submenu-item')))

        actions = ActionChains(driver)
        actions.move_to_element(menu).click(submenu).perform()

        # Verify submenu item was clicked by checking URL or page element
        wait.until(EC.url_contains('submenu-page'))
        self.assertIn('submenu-page', driver.current_url)

    def tearDown(self):
        self.driver.quit()

if __name__ == '__main__':
    unittest.main()
Execution Trace - 6 Steps
StepActionSystem StateAssertionResult
1Test starts and Chrome browser opensBrowser opened at 'https://example.com/menu' showing main menu page-PASS
2Wait until menu item with ID 'menu-item' is presentMenu item is visible on the pageElement with ID 'menu-item' is presentPASS
3Wait until submenu item with ID 'submenu-item' is presentSubmenu item is present but not visible until hoverElement with ID 'submenu-item' is presentPASS
4Create ActionChains and move mouse to menu item, then click submenu itemMouse hovered over menu item, submenu item becomes visible and is clicked-PASS
5Wait until URL contains 'submenu-page' after clicking submenuBrowser navigated to submenu page URLCurrent URL contains 'submenu-page'PASS
6Test ends and browser closesBrowser closed-PASS
Failure Scenario
Failing Condition: Submenu item is not found or not clickable after hover
Execution Trace Quiz - 3 Questions
Test your understanding
What does the ActionChains move_to_element(menu).click(submenu).perform() do?
AMoves mouse to menu item, then clicks submenu item
BClicks menu item and submenu item simultaneously
CScrolls page to submenu item and clicks it
DTypes text into submenu item
Key Result
Use ActionChains to simulate complex user interactions like hover and click. Always wait for elements to be present and clickable before interacting.