diff --git a/lib/maze/api/appium/file_manager.rb b/lib/maze/api/appium/file_manager.rb index 5c0e69c5..d973088d 100644 --- a/lib/maze/api/appium/file_manager.rb +++ b/lib/maze/api/appium/file_manager.rb @@ -31,6 +31,10 @@ def write_app_file(contents, filename) rescue Selenium::WebDriver::Error::UnknownError => e $logger.error "Error writing file to device: #{e.message}" false + rescue Selenium::WebDriver::Error::ServerError => e + # Assume the remote appium session has stopped, so crash out of the session + fail_driver + raise e end # Attempts to retrieve a given file from the device (using Appium). The default location for the file will be @@ -62,6 +66,10 @@ def read_app_file(filename, directory = nil) rescue Selenium::WebDriver::Error::UnknownError => e $logger.error "Error reading file from device: #{e.message}" false + rescue Selenium::WebDriver::Error::ServerError => e + # Assume the remote appium session has stopped, so crash out of the session + fail_driver + raise e end end end diff --git a/lib/maze/api/appium/manager.rb b/lib/maze/api/appium/manager.rb index d4f139ad..c52ea8d0 100644 --- a/lib/maze/api/appium/manager.rb +++ b/lib/maze/api/appium/manager.rb @@ -10,6 +10,10 @@ def initialize def failed_driver? @driver.failed? end + + def fail_driver + @driver.fail_driver + end end end end