Skip to content

Commit 6ed454a

Browse files
wdspec: add test for interrupted navigation
1 parent 0949ad1 commit 6ed454a

File tree

1 file changed

+34
-1
lines changed
  • webdriver/tests/bidi/browsing_context/navigate

1 file changed

+34
-1
lines changed

webdriver/tests/bidi/browsing_context/navigate/navigate.py

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@
55
from webdriver.bidi.modules.script import ContextTarget
66

77
from . import navigate_and_assert
8+
from .. import assert_navigation_info
89
from ... import any_string
910

1011
pytestmark = pytest.mark.asyncio
1112

12-
USER_PROMPT_OPENED_EVENT = "browsingContext.userPromptOpened"
13+
CONTEXT_LOAD_EVENT = "browsingContext.load"
1314

1415

1516
async def test_payload(bidi_session, inline, new_tab):
@@ -108,3 +109,35 @@ async def test_same_document_navigation_in_before_unload(bidi_session, new_tab,
108109

109110
url_after = url_before.replace("empty.html", "other.html")
110111
await navigate_and_assert(bidi_session, new_tab, url_after, "complete")
112+
113+
114+
@pytest.mark.parametrize("wait", ["none", "interactive", "complete"])
115+
async def test_interrupted_navigation(
116+
bidi_session,
117+
subscribe_events,
118+
new_tab,
119+
url,
120+
inline,
121+
wait_for_event,
122+
wait_for_future_safe,
123+
wait
124+
):
125+
url_after = url("/webdriver/tests/bidi/browsing_context/support/empty.html")
126+
url_before = inline(f"<script>window.location='{url_after}'</script>")
127+
128+
await subscribe_events(events=[CONTEXT_LOAD_EVENT])
129+
on_entry = wait_for_event(CONTEXT_LOAD_EVENT)
130+
131+
result = await bidi_session.browsing_context.navigate(
132+
context=new_tab["context"], url=url_before, wait=wait
133+
)
134+
135+
if wait == "none":
136+
assert result["url"] == url_before
137+
else:
138+
assert result["url"] == url_after
139+
140+
any_string(result["navigation"])
141+
142+
event = await wait_for_future_safe(on_entry)
143+
assert_navigation_info(event, {"context": new_tab["context"], "url": url_after})

0 commit comments

Comments
 (0)