From ab70b151ce74aeefa51196163b972bb397638827 Mon Sep 17 00:00:00 2001 From: Navin Chandra Date: Fri, 22 Aug 2025 12:12:12 +0530 Subject: [PATCH 1/2] enable `test_add_event_handler_history_updated` test --- .../common/bidi_browsing_context_tests.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/py/test/selenium/webdriver/common/bidi_browsing_context_tests.py b/py/test/selenium/webdriver/common/bidi_browsing_context_tests.py index 768640d7f71a8..096df362628bc 100644 --- a/py/test/selenium/webdriver/common/bidi_browsing_context_tests.py +++ b/py/test/selenium/webdriver/common/bidi_browsing_context_tests.py @@ -756,9 +756,6 @@ def on_user_prompt_closed(info): driver.browsing_context.remove_event_handler("user_prompt_closed", callback_id) -@pytest.mark.xfail_chrome -@pytest.mark.xfail_firefox -@pytest.mark.xfail_edge def test_add_event_handler_history_updated(driver, pages): """Test adding event handler for history_updated event.""" events_received = [] @@ -769,16 +766,17 @@ def on_history_updated(info): callback_id = driver.browsing_context.add_event_handler("history_updated", on_history_updated) assert callback_id is not None - # Navigate to a page and use history API to trigger the event context_id = driver.current_window_handle - url = pages.url("simpleTest.html") - driver.browsing_context.navigate(context=context_id, url=url, wait=ReadinessState.COMPLETE) + url1 = pages.url("simpleTest.html") + driver.browsing_context.navigate(context=context_id, url=url1, wait=ReadinessState.COMPLETE) # Use history.pushState to trigger history updated event - driver.execute_script("history.pushState({}, '', '/new-path');") + driver.script.execute("() => { history.pushState({}, '', '/new-path'); }") + WebDriverWait(driver, 5).until(lambda d: len(events_received) > 0) - assert len(events_received) == 1 - assert any("/new-path" in event.url for event in events_received) + assert len(events_received) >= 1 + assert "/new-path" in events_received[0].url + assert events_received[0].context == context_id driver.browsing_context.remove_event_handler("history_updated", callback_id) From 1ed0b662f4e2c8b59f662262a5a27b95a42a36c7 Mon Sep 17 00:00:00 2001 From: Navin Chandra Date: Fri, 22 Aug 2025 12:16:31 +0530 Subject: [PATCH 2/2] change to url --- .../selenium/webdriver/common/bidi_browsing_context_tests.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/py/test/selenium/webdriver/common/bidi_browsing_context_tests.py b/py/test/selenium/webdriver/common/bidi_browsing_context_tests.py index 096df362628bc..254d2aace3c08 100644 --- a/py/test/selenium/webdriver/common/bidi_browsing_context_tests.py +++ b/py/test/selenium/webdriver/common/bidi_browsing_context_tests.py @@ -767,8 +767,8 @@ def on_history_updated(info): assert callback_id is not None context_id = driver.current_window_handle - url1 = pages.url("simpleTest.html") - driver.browsing_context.navigate(context=context_id, url=url1, wait=ReadinessState.COMPLETE) + url = pages.url("simpleTest.html") + driver.browsing_context.navigate(context=context_id, url=url, wait=ReadinessState.COMPLETE) # Use history.pushState to trigger history updated event driver.script.execute("() => { history.pushState({}, '', '/new-path'); }")