From 269ec4ba920f5a613c887d0f6484c132983ddd0e Mon Sep 17 00:00:00 2001 From: Tatu Aalto Date: Sat, 17 Aug 2019 02:58:40 +0300 Subject: [PATCH 1/2] Register driver before EventFiringWebDriver is called --- atest/acceptance/2-event_firing_webdriver/MyListener.py | 4 ++++ .../2-event_firing_webdriver/event_firing_webdriver.robot | 6 ++++-- src/SeleniumLibrary/keywords/browsermanagement.py | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/atest/acceptance/2-event_firing_webdriver/MyListener.py b/atest/acceptance/2-event_firing_webdriver/MyListener.py index cb550e276..f9da8039d 100644 --- a/atest/acceptance/2-event_firing_webdriver/MyListener.py +++ b/atest/acceptance/2-event_firing_webdriver/MyListener.py @@ -1,4 +1,5 @@ from robot.api import logger +from robot.libraries.BuiltIn import BuiltIn from selenium.webdriver.support.events import AbstractEventListener @@ -6,6 +7,9 @@ class MyListener(AbstractEventListener): def before_navigate_to(self, url, driver): logger.info("Before navigate to %s" % url) + sl = BuiltIn().get_library_instance('SeleniumLibrary') + if sl.driver: + logger.info('Got driver also from SeleniumLibrary.') def after_navigate_to(self, url, driver): logger.info("After navigate to %s" % url) diff --git a/atest/acceptance/2-event_firing_webdriver/event_firing_webdriver.robot b/atest/acceptance/2-event_firing_webdriver/event_firing_webdriver.robot index 6877e002b..8a1c53403 100644 --- a/atest/acceptance/2-event_firing_webdriver/event_firing_webdriver.robot +++ b/atest/acceptance/2-event_firing_webdriver/event_firing_webdriver.robot @@ -17,13 +17,15 @@ Open Browser To Start Page [Tags] NoGrid [Documentation] ... LOG 1:12 DEBUG Wrapping driver to event_firing_webdriver. + ... LOG 1:14 INFO Got driver also from SeleniumLibrary. Open Browser ${FRONT PAGE} ${BROWSER} remote_url=${REMOTE_URL} ... desired_capabilities=${DESIRED_CAPABILITIES} Event Firing Webdriver Go To (WebDriver) [Documentation] - ... STARTS 1:2 Before navigate to - ... STARTS 1:6 After navigate to + ... LOG 1:2 INFO STARTS: Before navigate to + ... LOG 1:3 INFO Got driver also from SeleniumLibrary. + ... LOG 1:7 INFO STARTS: After navigate to Go To ${ROOT}/forms/named_submit_buttons.html Event Firing Webdriver Input Text (WebElement) diff --git a/src/SeleniumLibrary/keywords/browsermanagement.py b/src/SeleniumLibrary/keywords/browsermanagement.py index 8a197b50a..d88fc5670 100644 --- a/src/SeleniumLibrary/keywords/browsermanagement.py +++ b/src/SeleniumLibrary/keywords/browsermanagement.py @@ -249,15 +249,15 @@ def _make_new_browser(self, url, browser='firefox', alias=None, ff_profile_dir, remote_url, options, service_log_path) driver = self._wrap_event_firing_webdriver(driver) + index = self.ctx.register_driver(driver, alias) try: driver.get(url) except Exception: - self.ctx.register_driver(driver, alias) self.debug("Opened browser with session id %s but failed " "to open url '%s'." % (driver.session_id, url)) raise self.debug('Opened browser with session id %s.' % driver.session_id) - return self.ctx.register_driver(driver, alias) + return index @keyword def create_webdriver(self, driver_name, alias=None, kwargs={}, From 79b4e1970e0ba76baa13a3cc17dc4a04a7fa6c53 Mon Sep 17 00:00:00 2001 From: Tatu Aalto <2665023+aaltat@users.noreply.github.com> Date: Sat, 17 Aug 2019 11:44:55 +0300 Subject: [PATCH 2/2] Added [Tags] NoGrid --- .../2-event_firing_webdriver/event_firing_webdriver.robot | 1 + 1 file changed, 1 insertion(+) diff --git a/atest/acceptance/2-event_firing_webdriver/event_firing_webdriver.robot b/atest/acceptance/2-event_firing_webdriver/event_firing_webdriver.robot index 8a1c53403..49dfe22fa 100644 --- a/atest/acceptance/2-event_firing_webdriver/event_firing_webdriver.robot +++ b/atest/acceptance/2-event_firing_webdriver/event_firing_webdriver.robot @@ -22,6 +22,7 @@ Open Browser To Start Page ... desired_capabilities=${DESIRED_CAPABILITIES} Event Firing Webdriver Go To (WebDriver) + [Tags] NoGrid [Documentation] ... LOG 1:2 INFO STARTS: Before navigate to ... LOG 1:3 INFO Got driver also from SeleniumLibrary.