aboutsummaryrefslogtreecommitdiffstats
path: root/tests/environment.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/environment.py')
-rw-r--r--tests/environment.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/environment.py b/tests/environment.py
index 2d6a09f479..76fe686380 100644
--- a/tests/environment.py
+++ b/tests/environment.py
@@ -7,6 +7,7 @@ if not isA11yEnabled():
from common_steps import App, dummy, cleanup
from dogtail.config import config
+import os
def before_all(context):
@@ -31,6 +32,20 @@ def before_all(context):
print("Error in before_all: %s" % e.message)
+def after_step(context, step):
+ try:
+ if step.status == 'failed' and hasattr(context, "embed"):
+ # Embed screenshot if HTML report is used
+ os.system("dbus-send --print-reply --session --type=method_call " +
+ "--dest='org.gnome.Shell.Screenshot' " +
+ "'/org/gnome/Shell/Screenshot' " +
+ "org.gnome.Shell.Screenshot.Screenshot " +
+ "boolean:true boolean:false string:/tmp/screenshot.png")
+ context.embed('image/png', open("/tmp/screenshot.png", 'r').read())
+ except Exception as e:
+ print("Error in after_step: %s" % str(e))
+
+
def after_scenario(context, scenario):
"""Teardown for each scenario
Kill evolution (in order to make this reliable we send sigkill)