From 17cd7112467f15c33ed9957a5f560178eb1c7385 Mon Sep 17 00:00:00 2001 From: Vadim Rutkovsky Date: Thu, 24 Apr 2014 12:23:52 +0200 Subject: tests: store the screenshot for failed tests --- tests/environment.py | 15 +++++++++++++++ tests/steps/steps.py | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) (limited to 'tests') 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) diff --git a/tests/steps/steps.py b/tests/steps/steps.py index dac984f5dc..6a600e149b 100644 --- a/tests/steps/steps.py +++ b/tests/steps/steps.py @@ -119,4 +119,4 @@ def task_editor_with_title_is_opened(context, title): @step(u'Event editor with title "{name}" is displayed') def event_editor_with_name_displayed(context, name): - context.app.event_editor = context.app.window(name) \ No newline at end of file + context.app.event_editor = context.app.window(name) -- cgit v1.2.3