diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a0382cc..e17df1fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,14 @@ -## [Unreleased](https://github.com/rubycdp/ferrum/compare/v0.12...main) ## +## [Unreleased](https://github.com/rubycdp/ferrum/compare/v0.13...main) ## + +### Added + +### Changed + +### Fixed + +### Removed + +## [0.13](https://github.com/rubycdp/ferrum/compare/v0.12...v0.13) - (Nov 12, 2022) ## ### Added diff --git a/lib/ferrum/browser/client.rb b/lib/ferrum/browser/client.rb index b5284e00..d2d8509a 100644 --- a/lib/ferrum/browser/client.rb +++ b/lib/ferrum/browser/client.rb @@ -42,12 +42,31 @@ def command(method, params = {}) data = pending.value!(@connectable.timeout) @pendings.delete(message[:id]) + log_command(method, message, data, @pendings) if ENV["LOG_ALL_FERRUM_COMMANDS"] raise DeadBrowserError if data.nil? && @ws.messages.closed? raise TimeoutError unless data error, response = data.values_at("error", "result") raise_browser_error(error) if error response + rescue DeadBrowserError, TimeoutError => error + log_command(method, message, data, @pendings, error) + raise error + end + + def log_command(method, message, data, pendings, error = nil) + puts "-----" + if error + puts "#{self.class.name} - ERROR #{error}" + else + puts "#{self.class.name} - SUCCESS" + end + + puts "method: #{method}" + puts "message: #{message}" + puts "data: #{data}" + puts "pendings: #{pendings}" + puts "-----" end def on(event, &block)