summaryrefslogtreecommitdiffstats
path: root/testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/browsermobproxy/webdriver_event_listener.py
diff options
context:
space:
mode:
Diffstat (limited to 'testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/browsermobproxy/webdriver_event_listener.py')
-rw-r--r--testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/browsermobproxy/webdriver_event_listener.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/browsermobproxy/webdriver_event_listener.py b/testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/browsermobproxy/webdriver_event_listener.py
new file mode 100644
index 000000000..533542b09
--- /dev/null
+++ b/testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/browsermobproxy/webdriver_event_listener.py
@@ -0,0 +1,34 @@
+from selenium.webdriver.support.abstract_event_listener import AbstractEventListener
+
+class WebDriverEventListener(AbstractEventListener):
+
+ def __init__(self, client, refs={}):
+ self.client = client
+ self.hars = []
+ self.refs = refs
+
+ def before_navigate_to(self, url, driver):
+ if len(self.hars) != 0:
+ self.hars.append(self.client.har)
+ self.client.new_har("navigate-to-{}".format(url), self.refs)
+
+ def before_navigate_back(self, driver=None):
+ if driver:
+ name = "-from-{}".format(driver.current_url)
+ else:
+ name = "navigate-back"
+ self.client.new_page(name)
+
+ def before_navigate_forward(self, driver=None):
+ if driver:
+ name = "-from-{}".format(driver.current_url)
+ else:
+ name = "navigate-forward"
+ self.client.new_page(name)
+
+ def before_click(self, element, driver):
+ name = "click-element-{}".format(element.id)
+ self.client.new_page(name)
+
+ def before_quit(self, driver):
+ self.hars.append(self.client.har)