File tree Expand file tree Collapse file tree 5 files changed +13
-9
lines changed
sig/lib/selenium/webdriver Expand file tree Collapse file tree 5 files changed +13
-9
lines changed Original file line number Diff line number Diff line change @@ -70,7 +70,6 @@ def for(browser, opts = {})
70
70
71
71
def initialize ( bridge : nil , listener : nil , **opts )
72
72
@devtools = nil
73
- @bidi = nil
74
73
bridge ||= create_bridge ( **opts )
75
74
add_extensions ( bridge . browser )
76
75
@bridge = listener ? Support ::EventFiringBridge . new ( bridge , listener ) : bridge
@@ -174,18 +173,14 @@ def quit
174
173
ensure
175
174
@service_manager &.stop
176
175
@devtools &.close
177
- @bidi &.close
178
176
end
179
177
180
178
#
181
179
# Close the current window, or the browser if no windows are left.
182
180
#
183
181
184
182
def close
185
- # If no top-level browsing contexts are open after calling close,
186
- # it indicates that the WebDriver session is closed.
187
- # If the WebDriver session is closed, the BiDi session also needs to be closed.
188
- bridge . close . tap { |handles | @bidi &.close if handles &.empty? }
183
+ bridge . close
189
184
end
190
185
191
186
#
Original file line number Diff line number Diff line change @@ -28,7 +28,7 @@ module HasBiDi
28
28
#
29
29
30
30
def bidi
31
- @bidi ||= Selenium :: WebDriver :: BiDi . new ( url : capabilities [ :web_socket_url ] )
31
+ @bridge . bidi
32
32
end
33
33
end # HasBiDi
34
34
end # DriverExtensions
Original file line number Diff line number Diff line change @@ -213,10 +213,12 @@ def quit
213
213
http . close
214
214
rescue *QUIT_ERRORS
215
215
nil
216
+ ensure
217
+ @bidi . close
216
218
end
217
219
218
220
def close
219
- execute :close_window
221
+ execute ( :close_window ) . tap { | handles | @bidi . close if handles . empty? }
220
222
end
221
223
222
224
def refresh
@@ -602,6 +604,13 @@ def user_verified(verified, authenticator_id)
602
604
execute :set_user_verified , { authenticatorId : authenticator_id } , { isUserVerified : verified }
603
605
end
604
606
607
+ def bidi
608
+ msg = 'this operation requires enabling BiDi by setting #web_socket_url to true in options class'
609
+ raise ( WebDriver ::Error ::WebDriverError , msg ) unless capabilities . web_socket_url
610
+
611
+ @bidi ||= Selenium ::WebDriver ::BiDi . new ( url : capabilities [ :web_socket_url ] )
612
+ end
613
+
605
614
def command_list
606
615
COMMANDS
607
616
end
Original file line number Diff line number Diff line change @@ -5,7 +5,6 @@ module Selenium
5
5
6
6
include TakesScreenshot
7
7
8
- @bidi: untyped
9
8
@devtools: untyped
10
9
@navigate: untyped
11
10
Original file line number Diff line number Diff line change @@ -5,6 +5,7 @@ module Selenium
5
5
include _CommandList
6
6
include _Features
7
7
8
+ @bidi: WebDriver::BiDi
8
9
@http: untyped
9
10
10
11
@file_detector: untyped
You can’t perform that action at this time.
0 commit comments