File tree Expand file tree Collapse file tree 2 files changed +12
-3
lines changed
rb/lib/selenium/webdriver Expand file tree Collapse file tree 2 files changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -70,6 +70,7 @@ def for(browser, opts = {})
70
70
71
71
def initialize ( bridge : nil , listener : nil , **opts )
72
72
@service = nil
73
+ @devtools = nil
73
74
bridge ||= create_bridge ( **opts )
74
75
add_extensions ( bridge . browser )
75
76
@bridge = listener ? Support ::EventFiringBridge . new ( bridge , listener ) : bridge
@@ -180,6 +181,7 @@ def quit
180
181
bridge . quit
181
182
ensure
182
183
@service &.stop
184
+ @devtools &.close
183
185
end
184
186
185
187
#
Original file line number Diff line number Diff line change 20
20
module Selenium
21
21
module WebDriver
22
22
class DevTools
23
+ RESPONSE_WAIT_TIMEOUT = 30
24
+ RESPONSE_WAIT_INTERVAL = 0.1
25
+
23
26
autoload :ConsoleEvent , 'selenium/webdriver/devtools/console_event'
24
27
autoload :ExceptionEvent , 'selenium/webdriver/devtools/exception_event'
25
28
autoload :MutationEvent , 'selenium/webdriver/devtools/mutation_event'
@@ -37,6 +40,10 @@ def initialize(url:)
37
40
start_session
38
41
end
39
42
43
+ def close
44
+ socket . close
45
+ end
46
+
40
47
def callbacks
41
48
@callbacks ||= Hash . new { |callbacks , event | callbacks [ event ] = [ ] }
42
49
end
@@ -100,8 +107,8 @@ def attach_socket_listener
100
107
next unless message [ 'method' ]
101
108
102
109
callbacks [ message [ 'method' ] ] . each do |callback |
103
- params = message [ 'params' ] # take in current thread!
104
- Thread . new { callback . call ( params ) }
110
+ callback_thread = Thread . new ( message [ 'params' ] , & callback )
111
+ callback_thread . abort_on_exception = true
105
112
end
106
113
end
107
114
end
@@ -121,7 +128,7 @@ def incoming_frame
121
128
end
122
129
123
130
def wait
124
- @wait ||= Wait . new ( timeout : 10 , interval : 0.1 )
131
+ @wait ||= Wait . new ( timeout : RESPONSE_WAIT_TIMEOUT , interval : RESPONSE_WAIT_INTERVAL )
125
132
end
126
133
127
134
def socket
You can’t perform that action at this time.
0 commit comments