Bug 1321775 - Better handling for client property in Marionette class.
MozReview-Commit-ID: KNe3DIrnBlh
--- a/testing/marionette/client/marionette_driver/marionette.py
+++ b/testing/marionette/client/marionette_driver/marionette.py
@@ -565,16 +565,17 @@ class Marionette(object):
:param app: Type of ``instance_class`` to use for managing app
instance. See ``marionette_driver.geckoinstance``.
:param instance_args: Arguments to pass to ``instance_class``.
"""
self.host = host
self.port = self.local_port = int(port)
self.bin = bin
+ self.client = None
self.instance = None
self.session = None
self.session_id = None
self.process_id = None
self.profile = None
self.window = None
self.chrome_window = None
self.baseurl = baseurl
@@ -1303,17 +1304,19 @@ class Marionette(object):
self._send_message("deleteSession")
finally:
if reset_session_id:
self.session_id = None
self.session = None
self.process_id = None
self.profile = None
self.window = None
- self.client.close()
+
+ if self.client is not None:
+ self.client.close()
@property
def session_capabilities(self):
"""A JSON dictionary representing the capabilities of the
current session.
"""
return self.session