lib/perus/pinger/chrome_command.rb in perus-0.1.22 vs lib/perus/pinger/chrome_command.rb in perus-0.1.23

- old
+ new

@@ -14,12 +14,21 @@ @ws.send(command) end def execute(commands, &message_callback) # discover the first page shown in chrome - pages = JSON.parse(RestClient.get("http://#{options.host}:#{options.port}/json")) - pages.reject! {|page| page['url'].include?('chrome-extension')} - @page = pages.first + tries = 0 + @page = nil + begin + pages = JSON.parse(RestClient.get("http://#{options.host}:#{options.port}/json")) + pages.reject! {|page| page['url'].include?('chrome-extension')} + @page = pages.first + rescue Errno::ECONNREFUSED, Errno::ECONNRESET => e + tries += 1 + sleep 3 + retry if tries < 4 + return + end EM.run do @ws = Faye::WebSocket::Client.new(@page['webSocketDebuggerUrl']) @ws.on :error do |event|