@@ -70,6 +70,48 @@ void canListenToBeforeRequestSentEvent()
7070 }
7171 }
7272
73+ @ Test
74+ void canListenToResponseStartedEvent ()
75+ throws ExecutionException , InterruptedException , TimeoutException {
76+ try (Network network = new Network (driver )) {
77+ CompletableFuture <ResponseDetails > future = new CompletableFuture <>();
78+ network .onResponseStarted (future ::complete );
79+ page = server .whereIs ("/bidi/logEntryAdded.html" );
80+ driver .get (page );
81+
82+ ResponseDetails response = future .get (5 , TimeUnit .SECONDS );
83+ String windowHandle = driver .getWindowHandle ();
84+ assertThat (response .getBrowsingContextId ()).isEqualTo (windowHandle );
85+ assertThat (response .getRequest ().getRequestId ()).isNotNull ();
86+ assertThat (response .getRequest ().getMethod ()).isEqualToIgnoringCase ("get" );
87+ assertThat (response .getRequest ().getUrl ()).isNotNull ();
88+ assertThat (response .getResponseData ().getHeaders ().size ()).isGreaterThanOrEqualTo (1 );
89+ assertThat (response .getResponseData ().getUrl ()).contains ("/bidi/logEntryAdded.html" );
90+ assertThat (response .getResponseData ().getStatus ()).isEqualTo (200L );
91+ }
92+ }
93+
94+ @ Test
95+ void canListenToResponseCompletedEvent ()
96+ throws ExecutionException , InterruptedException , TimeoutException {
97+ try (Network network = new Network (driver )) {
98+ CompletableFuture <ResponseDetails > future = new CompletableFuture <>();
99+ network .onResponseCompleted (future ::complete );
100+ page = server .whereIs ("/bidi/logEntryAdded.html" );
101+ driver .get (page );
102+
103+ ResponseDetails response = future .get (5 , TimeUnit .SECONDS );
104+ String windowHandle = driver .getWindowHandle ();
105+ assertThat (response .getBrowsingContextId ()).isEqualTo (windowHandle );
106+ assertThat (response .getRequest ().getRequestId ()).isNotNull ();
107+ assertThat (response .getRequest ().getMethod ()).isEqualToIgnoringCase ("get" );
108+ assertThat (response .getRequest ().getUrl ()).isNotNull ();
109+ assertThat (response .getResponseData ().getHeaders ().size ()).isGreaterThanOrEqualTo (1 );
110+ assertThat (response .getResponseData ().getUrl ()).contains ("/bidi/logEntryAdded.html" );
111+ assertThat (response .getResponseData ().getStatus ()).isEqualTo (200L );
112+ }
113+ }
114+
73115 @ AfterEach
74116 public void quitDriver () {
75117 if (driver != null ) {
0 commit comments