@@ -31,6 +31,7 @@ def initialize
3131 WebDriver . logger . ignore ( :logger_info )
3232 SeleniumManager . bin_path = root . join ( 'bazel-bin/rb/bin' ) . to_s if File . exist? ( root . join ( 'bazel-bin/rb/bin' ) )
3333
34+ ENV [ 'WEBDRIVER_BIDI' ] = 'true'
3435 @driver = ENV . fetch ( 'WD_SPEC_DRIVER' , 'chrome' ) . tr ( '-' , '_' ) . to_sym
3536 @driver_instance = nil
3637 @remote_server = nil
@@ -168,14 +169,17 @@ def root
168169 @root ||= Pathname . new ( '../../../../../../../' ) . realpath ( __FILE__ )
169170 end
170171
171- def create_driver! ( listener : nil , **, &block )
172+ def create_driver! ( listener : nil , **opts , &block )
172173 check_for_previous_error
173174
175+ socket_timeout = opts . delete ( :socket_timeout )
176+ http_client = WebDriver ::Remote ::Http ::Default . new ( socket_timeout : socket_timeout ) if socket_timeout
177+
174178 method = :"#{ driver } _driver"
175179 instance = if private_methods . include? ( method )
176- send ( method , listener : listener , options : build_options ( **) )
180+ send ( method , listener : listener , http_client : http_client , options : build_options ( **opts ) )
177181 else
178- WebDriver ::Driver . for ( driver , listener : listener , options : build_options ( **) )
182+ WebDriver ::Driver . for ( driver , listener : listener , options : build_options ( **opts ) )
179183 end
180184 @create_driver_error_count -= 1 unless @create_driver_error_count . zero?
181185 if block
0 commit comments