@@ -29,65 +29,76 @@ class BiDi
2929
3030 it 'can listen to event before request is sent' do
3131 reset_driver! ( web_socket_url : true ) do |driver |
32- before_request_event = nil
32+ before_request_event = [ ]
3333 inspector = described_class . new ( driver )
34- inspector . before_request_sent { |event | before_request_event = event }
34+ inspector . before_request_sent do |event |
35+ before_request_event . push ( event ) if event . dig ( 'request' , 'url' ) . include? 'emptyPage.html'
36+ end
3537
3638 driver . navigate . to url_for ( empty_page )
37- wait . until { !before_request_event . nil ? }
39+ wait . until { !before_request_event . empty ? }
3840
39- expect ( before_request_event . dig ( 'request' , 'method' ) ) . to eq 'GET'
40- expect ( before_request_event . dig ( 'request' , 'url' ) ) . to eq driver . current_url
41+ expect ( before_request_event [ 0 ] . dig ( 'request' , 'method' ) ) . to eq 'GET'
42+ expect ( before_request_event [ 0 ] . dig ( 'request' , 'url' ) ) . to eq driver . current_url
4143 end
4244 end
4345
4446 it 'can request cookies' do
4547 reset_driver! ( web_socket_url : true ) do |driver |
46- before_request_event = nil
48+ before_request_event = [ ]
4749 inspector = described_class . new ( driver )
48- inspector . before_request_sent { |event | before_request_event = event }
50+ inspector . before_request_sent do |event |
51+ before_request_event . push ( event ) if event . dig ( 'request' , 'url' ) . include? 'emptyText.txt'
52+ end
4953
5054 driver . navigate . to url_for ( empty_text )
5155 driver . manage . add_cookie name : 'north' ,
5256 value : 'biryani'
5357 driver . navigate . refresh
54- wait . until { !before_request_event . nil ? }
58+ wait . until { !before_request_event . empty ? }
5559
56- expect ( before_request_event . dig ( 'request' , 'method' ) ) . to eq 'GET'
57- expect ( before_request_event . dig ( 'request' , 'url' ) ) . to eq driver . current_url
58- expect ( before_request_event . dig ( 'request' , 'cookies' , 0 , 'name' ) ) . to eq 'north'
59- expect ( before_request_event . dig ( 'request' , 'cookies' , 0 , 'value' ) ) . to eq 'biryani'
60+ expect ( before_request_event [ 1 ] . dig ( 'request' , 'method' ) ) . to eq 'GET'
61+ expect ( before_request_event [ 1 ] . dig ( 'request' , 'url' ) ) . to eq driver . current_url
62+ expect ( before_request_event [ 1 ] . dig ( 'request' , 'cookies' , 0 , 'name' ) ) . to eq 'north'
63+ expect ( before_request_event [ 1 ] . dig ( 'request' , 'cookies' , 0 , 'value' ) ) . to eq 'biryani'
6064
6165 driver . manage . add_cookie name : 'south' ,
6266 value : 'dosa'
6367 driver . navigate . refresh
64- wait . until { ! before_request_event . nil? }
65- expect ( before_request_event . dig ( 'request' , 'cookies' , 1 , 'name' ) ) . to eq 'south'
66- expect ( before_request_event . dig ( 'request' , 'cookies' , 1 , 'value' ) ) . to eq 'dosa'
68+
69+ expect ( before_request_event [ 2 ] . dig ( 'request' , 'cookies' , 1 , 'name' ) ) . to eq 'south'
70+ expect ( before_request_event [ 2 ] . dig ( 'request' , 'cookies' , 1 , 'value' ) ) . to eq 'dosa'
6771 end
6872 end
6973
7074 it 'can redirect http equiv' do
7175 reset_driver! ( web_socket_url : true ) do |driver |
7276 before_request_event = [ ]
7377 inspector = described_class . new ( driver )
74- inspector . before_request_sent { |event | before_request_event . push ( event ) }
78+ inspector . before_request_sent do |event |
79+ if ( event . dig ( 'request' , 'url' ) . include? 'redirected_http_equiv.html' ) ||
80+ ( event . dig ( 'request' , 'url' ) . include? 'redirected.html' )
81+ before_request_event . push ( event )
82+ end
83+ end
7584
7685 driver . navigate . to url_for ( redirected_http_equiv )
7786 wait . until { driver . current_url . include? 'redirected.html' }
7887
7988 expect ( before_request_event [ 0 ] . dig ( 'request' , 'method' ) ) . to eq 'GET'
8089 expect ( before_request_event [ 0 ] . dig ( 'request' , 'url' ) ) . to include 'redirected_http_equiv.html'
81- expect ( before_request_event [ 2 ] . dig ( 'request' , 'method' ) ) . to eq 'GET'
82- expect ( before_request_event [ 2 ] . dig ( 'request' , 'url' ) ) . to include 'redirected.html'
90+ expect ( before_request_event [ 1 ] . dig ( 'request' , 'method' ) ) . to eq 'GET'
91+ expect ( before_request_event [ 1 ] . dig ( 'request' , 'url' ) ) . to include 'redirected.html'
8392 end
8493 end
8594
8695 it 'can subscribe to response started' do
8796 reset_driver! ( web_socket_url : true ) do |driver |
8897 on_response_started = [ ]
8998 inspector = described_class . new ( driver )
90- inspector . response_started { |event | on_response_started . push ( event ) }
99+ inspector . response_started do |event |
100+ on_response_started . push ( event ) if event . dig ( 'request' , 'url' ) . include? 'emptyText.txt'
101+ end
91102
92103 driver . navigate . to url_for ( empty_text )
93104 wait . until { !on_response_started . empty? }
@@ -106,7 +117,12 @@ class BiDi
106117 reset_driver! ( web_socket_url : true ) do |driver |
107118 on_response_started = [ ]
108119 inspector = described_class . new ( driver )
109- inspector . response_started { |event | on_response_started . push ( event ) }
120+ inspector . response_started do |event |
121+ if ( event . dig ( 'request' , 'url' ) . include? 'emptyPage.html' ) ||
122+ ( event . dig ( 'request' , 'url' ) . include? 'emptyText.txt' )
123+ on_response_started . push ( event )
124+ end
125+ end
110126
111127 # Checking mime type for 'html' text
112128 driver . navigate . to url_for ( empty_page )
@@ -118,21 +134,23 @@ class BiDi
118134 expect ( on_response_started [ 0 ] . dig ( 'response' , 'mimeType' ) ) . to include 'text/html'
119135
120136 # Checking mime type for 'plain' text
121- on_response_started = [ ]
122137 driver . navigate . to url_for ( empty_text )
123138 wait . until { !on_response_started . empty? }
124- expect ( on_response_started [ 0 ] . dig ( 'request' , 'method' ) ) . to eq 'GET'
125- expect ( on_response_started [ 0 ] . dig ( 'request' , 'url' ) ) . to eq driver . current_url
126- expect ( on_response_started [ 0 ] . dig ( 'response' , 'url' ) ) . to eq driver . current_url
127- expect ( on_response_started [ 0 ] . dig ( 'response' , 'mimeType' ) ) . to include 'text/plain'
139+
140+ expect ( on_response_started [ 1 ] . dig ( 'request' , 'method' ) ) . to eq 'GET'
141+ expect ( on_response_started [ 1 ] . dig ( 'request' , 'url' ) ) . to eq driver . current_url
142+ expect ( on_response_started [ 1 ] . dig ( 'response' , 'url' ) ) . to eq driver . current_url
143+ expect ( on_response_started [ 1 ] . dig ( 'response' , 'mimeType' ) ) . to include 'text/plain'
128144 end
129145 end
130146
131147 it 'can subscribe to response completed' do
132148 reset_driver! ( web_socket_url : true ) do |driver |
133149 on_response_completed = [ ]
134150 inspector = described_class . new ( driver )
135- inspector . response_completed { |event | on_response_completed . push ( event ) }
151+ inspector . response_completed do |event |
152+ on_response_completed . push ( event ) if event . dig ( 'request' , 'url' ) . include? 'emptyPage.html'
153+ end
136154
137155 driver . navigate . to url_for ( empty_page )
138156 wait . until { !on_response_completed . empty? }
@@ -152,7 +170,12 @@ class BiDi
152170 reset_driver! ( web_socket_url : true ) do |driver |
153171 on_response_completed = [ ]
154172 inspector = described_class . new ( driver )
155- inspector . response_completed { |event | on_response_completed . push ( event ) }
173+ inspector . response_completed do |event |
174+ if ( event . dig ( 'request' , 'url' ) . include? 'emptyPage.html' ) ||
175+ ( event . dig ( 'request' , 'url' ) . include? 'emptyText.txt' )
176+ on_response_completed . push ( event )
177+ end
178+ end
156179
157180 # Checking mime type for 'html' text
158181 driver . navigate . to url_for ( empty_page )
@@ -164,13 +187,13 @@ class BiDi
164187 expect ( on_response_completed [ 0 ] . dig ( 'response' , 'mimeType' ) ) . to include 'text/html'
165188
166189 # Checking mime type for 'plain' text
167- on_response_completed = [ ]
168190 driver . navigate . to url_for ( empty_text )
169191 wait . until { !on_response_completed . empty? }
170- expect ( on_response_completed [ 0 ] . dig ( 'request' , 'method' ) ) . to eq 'GET'
171- expect ( on_response_completed [ 0 ] . dig ( 'request' , 'url' ) ) . to eq driver . current_url
172- expect ( on_response_completed [ 0 ] . dig ( 'response' , 'url' ) ) . to eq driver . current_url
173- expect ( on_response_completed [ 0 ] . dig ( 'response' , 'mimeType' ) ) . to include 'text/plain'
192+
193+ expect ( on_response_completed [ 1 ] . dig ( 'request' , 'method' ) ) . to eq 'GET'
194+ expect ( on_response_completed [ 1 ] . dig ( 'request' , 'url' ) ) . to eq driver . current_url
195+ expect ( on_response_completed [ 1 ] . dig ( 'response' , 'url' ) ) . to eq driver . current_url
196+ expect ( on_response_completed [ 1 ] . dig ( 'response' , 'mimeType' ) ) . to include 'text/plain'
174197 end
175198 end
176199 end
0 commit comments