@@ -25,174 +25,148 @@ class BiDi
2525 describe Network , exclusive : { bidi : true , reason : 'only executed when bidi is enabled' } ,
2626 only : { browser : %i[ chrome edge firefox ] } do
2727 it 'adds an intercept' do
28- reset_driver! ( web_socket_url : true ) do |driver |
29- network = described_class . new ( driver . bidi )
30- intercept = network . add_intercept ( phases : [ described_class ::PHASES [ :before_request ] ] )
31- expect ( intercept ) . not_to be_nil
32- end
28+ network = described_class . new ( driver . bidi )
29+ intercept = network . add_intercept ( phases : [ described_class ::PHASES [ :before_request ] ] )
30+ expect ( intercept ) . not_to be_nil
3331 end
3432
3533 it 'adds an intercept with a default pattern type' do
36- reset_driver! ( web_socket_url : true ) do |driver |
37- network = described_class . new ( driver . bidi )
38- pattern = 'http://localhost:4444/formPage.html'
39- intercept = network . add_intercept ( phases : [ described_class ::PHASES [ :before_request ] ] , url_patterns : pattern )
40- expect ( intercept ) . not_to be_nil
41- end
34+ network = described_class . new ( driver . bidi )
35+ pattern = 'http://localhost:4444/formPage.html'
36+ intercept = network . add_intercept ( phases : [ described_class ::PHASES [ :before_request ] ] , url_patterns : pattern )
37+ expect ( intercept ) . not_to be_nil
4238 end
4339
4440 it 'adds an intercept with a url pattern' do
45- reset_driver! ( web_socket_url : true ) do |driver |
46- network = described_class . new ( driver . bidi )
47- pattern = 'http://localhost:4444/formPage.html'
48- intercept = network . add_intercept ( phases : [ described_class ::PHASES [ :before_request ] ] ,
49- url_patterns : pattern ,
50- pattern_type : :url )
51- expect ( intercept ) . not_to be_nil
52- end
41+ network = described_class . new ( driver . bidi )
42+ pattern = 'http://localhost:4444/formPage.html'
43+ intercept = network . add_intercept ( phases : [ described_class ::PHASES [ :before_request ] ] ,
44+ url_patterns : pattern ,
45+ pattern_type : :url )
46+ expect ( intercept ) . not_to be_nil
5347 end
5448
5549 it 'removes an intercept' do
56- reset_driver! ( web_socket_url : true ) do |driver |
57- network = described_class . new ( driver . bidi )
58- intercept = network . add_intercept ( phases : [ described_class ::PHASES [ :before_request ] ] )
59- expect ( network . remove_intercept ( intercept [ 'intercept' ] ) ) . to be_empty
60- end
50+ network = described_class . new ( driver . bidi )
51+ intercept = network . add_intercept ( phases : [ described_class ::PHASES [ :before_request ] ] )
52+ expect ( network . remove_intercept ( intercept [ 'intercept' ] ) ) . to be_empty
6153 end
6254
6355 it 'continues with auth' do
6456 username = SpecSupport ::RackServer ::TestApp ::BASIC_AUTH_CREDENTIALS . first
6557 password = SpecSupport ::RackServer ::TestApp ::BASIC_AUTH_CREDENTIALS . last
66- reset_driver! ( web_socket_url : true ) do |driver |
67- network = described_class . new ( driver . bidi )
68- phases = [ Selenium ::WebDriver ::BiDi ::Network ::PHASES [ :auth_required ] ]
69- network . add_intercept ( phases : phases )
70- network . on ( :auth_required ) do |event |
71- request_id = event [ 'request' ] [ 'request' ]
72- network . continue_with_auth ( request_id , username , password )
73- end
74-
75- driver . navigate . to url_for ( 'basicAuth' )
76- expect ( driver . find_element ( tag_name : 'h1' ) . text ) . to eq ( 'authorized' )
58+ network = described_class . new ( driver . bidi )
59+ phases = [ Selenium ::WebDriver ::BiDi ::Network ::PHASES [ :auth_required ] ]
60+ network . add_intercept ( phases : phases )
61+ network . on ( :auth_required ) do |event |
62+ request_id = event [ 'request' ] [ 'request' ]
63+ network . continue_with_auth ( request_id , username , password )
7764 end
65+
66+ driver . navigate . to url_for ( 'basicAuth' )
67+ expect ( driver . find_element ( tag_name : 'h1' ) . text ) . to eq ( 'authorized' )
7868 end
7969
8070 it 'continues without auth' do
81- reset_driver! ( web_socket_url : true ) do |driver |
82- network = described_class . new ( driver . bidi )
83- network . add_intercept ( phases : [ described_class ::PHASES [ :auth_required ] ] )
84- network . on ( :auth_required ) do |event |
85- request_id = event [ 'request' ] [ 'request' ]
86- network . continue_without_auth ( request_id )
87- end
88-
89- expect { driver . navigate . to url_for ( 'basicAuth' ) } . to raise_error ( Error ::WebDriverError )
71+ network = described_class . new ( driver . bidi )
72+ network . add_intercept ( phases : [ described_class ::PHASES [ :auth_required ] ] )
73+ network . on ( :auth_required ) do |event |
74+ request_id = event [ 'request' ] [ 'request' ]
75+ network . continue_without_auth ( request_id )
9076 end
77+
78+ expect { driver . navigate . to url_for ( 'basicAuth' ) } . to raise_error ( Error ::WebDriverError )
9179 end
9280
9381 it 'cancels auth' do
94- reset_driver! ( web_socket_url : true ) do |driver |
95- network = described_class . new ( driver . bidi )
96- network . add_intercept ( phases : [ described_class ::PHASES [ :auth_required ] ] )
97- network . on ( :auth_required ) do |event |
98- request_id = event [ 'request' ] [ 'request' ]
99- network . cancel_auth ( request_id )
100- end
101-
102- driver . navigate . to url_for ( 'basicAuth' )
103- expect ( driver . find_element ( tag_name : 'pre' ) . text ) . to eq ( 'Login please' )
82+ network = described_class . new ( driver . bidi )
83+ network . add_intercept ( phases : [ described_class ::PHASES [ :auth_required ] ] )
84+ network . on ( :auth_required ) do |event |
85+ request_id = event [ 'request' ] [ 'request' ]
86+ network . cancel_auth ( request_id )
10487 end
88+
89+ driver . navigate . to url_for ( 'basicAuth' )
90+ expect ( driver . find_element ( tag_name : 'pre' ) . text ) . to eq ( 'Login please' )
10591 end
10692
10793 it 'continues request' do
108- reset_driver! ( web_socket_url : true ) do |driver |
109- network = described_class . new ( driver . bidi )
110- network . add_intercept ( phases : [ described_class ::PHASES [ :before_request ] ] )
111- network . on ( :before_request ) do |event |
112- request_id = event [ 'request' ] [ 'request' ]
113- network . continue_request ( id : request_id )
114- end
115-
116- driver . navigate . to url_for ( 'formPage.html' )
117- expect ( driver . find_element ( name : 'login' ) ) . to be_displayed
94+ network = described_class . new ( driver . bidi )
95+ network . add_intercept ( phases : [ described_class ::PHASES [ :before_request ] ] )
96+ network . on ( :before_request ) do |event |
97+ request_id = event [ 'request' ] [ 'request' ]
98+ network . continue_request ( id : request_id )
11899 end
100+
101+ driver . navigate . to url_for ( 'formPage.html' )
102+ expect ( driver . find_element ( name : 'login' ) ) . to be_displayed
119103 end
120104
121105 it 'fails request' do
122- reset_driver! ( web_socket_url : true ) do |driver |
123- network = described_class . new ( driver . bidi )
124- network . add_intercept ( phases : [ described_class ::PHASES [ :before_request ] ] )
125- network . on ( :before_request ) do |event |
126- request_id = event [ 'request' ] [ 'request' ]
127- network . fail_request ( request_id )
128- end
129-
130- expect { driver . navigate . to url_for ( 'formPage.html' ) } . to raise_error ( Error ::WebDriverError )
106+ network = described_class . new ( driver . bidi )
107+ network . add_intercept ( phases : [ described_class ::PHASES [ :before_request ] ] )
108+ network . on ( :before_request ) do |event |
109+ request_id = event [ 'request' ] [ 'request' ]
110+ network . fail_request ( request_id )
131111 end
112+
113+ expect { driver . navigate . to url_for ( 'formPage.html' ) } . to raise_error ( Error ::WebDriverError )
132114 end
133115
134116 it 'continues response' do
135- reset_driver! ( web_socket_url : true ) do |driver |
136- network = described_class . new ( driver . bidi )
137- network . add_intercept ( phases : [ described_class ::PHASES [ :response_started ] ] )
138- network . on ( :response_started ) do |event |
139- request_id = event [ 'request' ] [ 'request' ]
140- network . continue_response ( id : request_id )
141- end
142-
143- driver . navigate . to url_for ( 'formPage.html' )
144- expect ( driver . find_element ( name : 'login' ) ) . to be_displayed
117+ network = described_class . new ( driver . bidi )
118+ network . add_intercept ( phases : [ described_class ::PHASES [ :response_started ] ] )
119+ network . on ( :response_started ) do |event |
120+ request_id = event [ 'request' ] [ 'request' ]
121+ network . continue_response ( id : request_id )
145122 end
123+
124+ driver . navigate . to url_for ( 'formPage.html' )
125+ expect ( driver . find_element ( name : 'login' ) ) . to be_displayed
146126 end
147127
148128 it 'provides response' , except : { browser : :firefox ,
149129 reason : 'https://github.com/w3c/webdriver-bidi/issues/747' } do
150- reset_driver! ( web_socket_url : true ) do |driver |
151- network = described_class . new ( driver . bidi )
152- network . add_intercept ( phases : [ described_class ::PHASES [ :response_started ] ] )
153- network . on ( :response_started ) do |event |
154- request_id = event [ 'request' ] [ 'request' ]
155- network . provide_response (
156- id : request_id ,
157- status : 200 ,
158- headers : [
159- {
160- name : 'foo' ,
161- value : {
162- type : 'string' ,
163- value : 'bar'
164- }
130+ network = described_class . new ( driver . bidi )
131+ network . add_intercept ( phases : [ described_class ::PHASES [ :response_started ] ] )
132+ network . on ( :response_started ) do |event |
133+ request_id = event [ 'request' ] [ 'request' ]
134+ network . provide_response (
135+ id : request_id ,
136+ status : 200 ,
137+ headers : [
138+ {
139+ name : 'foo' ,
140+ value : {
141+ type : 'string' ,
142+ value : 'bar'
165143 }
166- ] ,
167- body : {
168- type : 'string' ,
169- value : '<html><head><title>Hello World!</title></head><body/></html>'
170144 }
171- )
172- end
173-
174- driver . navigate . to url_for ( 'formPage.html' )
175- source = driver . page_source
176- expect ( source ) . not_to include ( 'There should be a form here:' )
177- expect ( source ) . to include ( 'Hello World!' )
145+ ] ,
146+ body : {
147+ type : 'string' ,
148+ value : '<html><head><title>Hello World!</title></head><body/></html>'
149+ }
150+ )
178151 end
152+
153+ driver . navigate . to url_for ( 'formPage.html' )
154+ source = driver . page_source
155+ expect ( source ) . not_to include ( 'There should be a form here:' )
156+ expect ( source ) . to include ( 'Hello World!' )
179157 end
180158
181159 it 'sets the cache to bypass' do
182- reset_driver! ( web_socket_url : true ) do |driver |
183- browsing_context = BrowsingContext . new ( driver ) . create
184- network = described_class . new ( driver . bidi )
185- network . set_cache_behavior ( 'bypass' , browsing_context )
186- expect ( network . set_cache_behavior ( 'bypass' , browsing_context ) ) . to be_a ( Hash )
187- end
160+ browsing_context = BrowsingContext . new ( driver ) . create
161+ network = described_class . new ( driver . bidi )
162+ network . set_cache_behavior ( 'bypass' , browsing_context )
163+ expect ( network . set_cache_behavior ( 'bypass' , browsing_context ) ) . to be_a ( Hash )
188164 end
189165
190166 it 'sets the cache to default' do
191- reset_driver! ( web_socket_url : true ) do |driver |
192- browsing_context = BrowsingContext . new ( driver ) . create
193- network = described_class . new ( driver . bidi )
194- expect ( network . set_cache_behavior ( 'default' , browsing_context ) ) . to be_a ( Hash )
195- end
167+ browsing_context = BrowsingContext . new ( driver ) . create
168+ network = described_class . new ( driver . bidi )
169+ expect ( network . set_cache_behavior ( 'default' , browsing_context ) ) . to be_a ( Hash )
196170 end
197171 end
198172 end
0 commit comments