@@ -671,6 +671,51 @@ async def setup_beforeunload_page(context):
671
671
return setup_beforeunload_page
672
672
673
673
674
+ @pytest_asyncio .fixture
675
+ async def setup_collected_response (
676
+ bidi_session ,
677
+ subscribe_events ,
678
+ wait_for_event ,
679
+ wait_for_future_safe ,
680
+ top_context ,
681
+ url ,
682
+ fetch ,
683
+ setup_network_test ,
684
+ add_data_collector ,
685
+ ):
686
+ """Adds a global data collector and triggers a request which should match
687
+ the collector and waits for the network.responseCompleted event.
688
+ Collector can be configured (size, types) when calling the fixture.
689
+ Returns the request id of the triggered request.
690
+ """
691
+
692
+ async def _setup_collected_response (
693
+ collector_type = "blob" ,
694
+ data_types = ["response" ],
695
+ max_encoded_data_size = 10000 ,
696
+ fetch_url = url ("/webdriver/tests/bidi/network/support/empty.txt" ),
697
+ context = top_context ,
698
+ ):
699
+ collector = await add_data_collector (
700
+ collector_type = collector_type ,
701
+ data_types = data_types ,
702
+ max_encoded_data_size = max_encoded_data_size ,
703
+ )
704
+ await setup_network_test (
705
+ events = [
706
+ "network.responseCompleted" ,
707
+ ]
708
+ )
709
+ on_response_completed = wait_for_event ("network.responseCompleted" )
710
+
711
+ await fetch (fetch_url , context = context )
712
+ response_completed_event = await on_response_completed
713
+ request = response_completed_event ["request" ]["request" ]
714
+ return [request , collector ]
715
+
716
+ return _setup_collected_response
717
+
718
+
674
719
@pytest_asyncio .fixture
675
720
async def setup_network_test (
676
721
bidi_session ,
0 commit comments