commit 12674bc15aa105e4fdd83b0657c5cc76e57ecb3d
parent eaecf64c53d0afe7b9c208ea3ea583f07bc58115
Author: Maksim Sadym <69349599+sadym-chromium@users.noreply.github.com>
Date: Wed, 15 Oct 2025 08:24:58 +0000
Bug 1993671 [wpt PR 55350] - [wdspec] assert `network.getData` is persistent, a=testonly
Automatic update from web-platform-tests
[wdspec] assert `network.getData` is persistent (#55350)
--
wpt-commits: a79c38e4bda13c7d8d03b94f8425925590c1d790
wpt-pr: 55350
Diffstat:
1 file changed, 93 insertions(+), 0 deletions(-)
diff --git a/testing/web-platform/tests/webdriver/tests/bidi/network/get_data/persistence.py b/testing/web-platform/tests/webdriver/tests/bidi/network/get_data/persistence.py
@@ -0,0 +1,93 @@
+import pytest
+
+pytestmark = pytest.mark.asyncio
+
+
+@pytest.mark.parametrize("domain", ["", "alt"],
+ ids=["same_origin", "cross_origin"])
+@pytest.mark.asyncio
+async def test_data_persists_after_navigation(bidi_session, top_context,
+ setup_network_test, add_data_collector, url, test_page, domain):
+ network_events = await setup_network_test(
+ events=["network.responseCompleted"])
+ events = network_events["network.responseCompleted"]
+
+ # Setup data collector.
+ collector = await add_data_collector(
+ collector_type="blob",
+ data_types=["response"],
+ max_encoded_data_size=10_000,
+ )
+
+ # Init first navigation.
+ await bidi_session.browsing_context.navigate(
+ context=top_context["context"],
+ url=test_page,
+ wait="complete",
+ )
+
+ # Get request ID.
+ request = events[-1]['request']['request']
+
+ # Assert data is available.
+ data = await bidi_session.network.get_data(request=request,
+ collector=collector,
+ data_type="response")
+ assert data["type"] == "string"
+ assert "<div>foo</div>" in data["value"]
+
+ # Navigate away from the page.
+ await bidi_session.browsing_context.navigate(
+ context=top_context["context"],
+ url=url('/', domain=domain),
+ wait="complete",
+ )
+
+ # Assert data is still available.
+ data = await bidi_session.network.get_data(request=request,
+ collector=collector,
+ data_type="response")
+ assert data["type"] == "string"
+ assert "<div>foo</div>" in data["value"]
+
+
+@pytest.mark.asyncio
+async def test_data_persists_after_closing(bidi_session, top_context,
+ setup_network_test, add_data_collector, test_page):
+ network_events = await setup_network_test(
+ events=["network.responseCompleted"])
+ events = network_events["network.responseCompleted"]
+
+ # Setup data collector.
+ collector = await add_data_collector(
+ collector_type="blob",
+ data_types=["response"],
+ max_encoded_data_size=10_000,
+ )
+
+ # Init first navigation.
+ await bidi_session.browsing_context.navigate(
+ context=top_context["context"],
+ url=test_page,
+ wait="complete",
+ )
+
+ # Get request ID.
+ request = events[-1]['request']['request']
+
+ # Assert data is available.
+ data = await bidi_session.network.get_data(request=request,
+ collector=collector,
+ data_type="response")
+ assert data["type"] == "string"
+ assert "<div>foo</div>" in data["value"]
+
+ # Close the page.
+ await bidi_session.browsing_context.close(context=top_context["context"])
+
+ # Assert data is still available.
+ data = await bidi_session.network.get_data(request=request,
+ collector=collector,
+ data_type="response")
+ assert data["type"] == "string"
+ assert "<div>foo</div>" in data["value"]