[Python] How to implement WebDriver Event Listeners in Robot Framework

Discussão em 'Python' iniciado por Stack, Março 12, 2025.

  1. Stack

    Stack Membro Participativo

    I'm new to Robot Framework. I'm trying to implement WebDriver Event Listeners by importing Selenium Library.

    In my Test case, I have this import

    Library SeleniumLibrary event_firing_webdriver=${CURDIR}/RobotFrameworkListener.py


    In RobotFrameworkListener.py file,

    from robot.api import logger
    from selenium.webdriver.support.events import AbstractEventListener
    from robot.libraries.BuiltIn import BuiltIn
    from selenium.webdriver.support.events import EventFiringWebDriver

    selib = BuiltIn().get_library_instance("SeleniumLibrary")
    driver = selib.driver

    class RobotFrameworkListener(AbstractEventListener):
    def before_navigate_to(self, url, driver):
    logger.info("URL before navigation: '%s'." % url)
    def after_navigate_to(self, url, driver):
    logger.info("URL after navigation: '%s'." % driver.current_url)
    def before_change_value_of(self, element, driver):
    dict= element.get_property('attributes')
    element_value = dict[2]['value']
    logger.info("Before clearing/entering the text field '%s'." % element_value)
    def after_change_value_of(self, element, driver):
    dict= element.get_property('attributes')
    element_value = dict[2]['value']
    logger.info("After clearing/entering the text field '%s'." % element_value)


    So could some one help me on how to trigger listeners for my main Test case so that I can do an action on web driver events like after click, before click, after entering the text etc? Let me know if there is any other way to do it :) Thanks in advance!

    Continue reading...

Compartilhe esta Página