From 4de830add6687d0dfd48ba3c3782a036cfd73e10 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C5=BDeljko=20Filipin?= Date: Thu, 6 Jul 2017 10:54:21 +0200 Subject: [PATCH] Take screenshot if a Selenium test fails Bug: T164721 Change-Id: I932fccb3fe523b526146df66950ee764bd33bac7 --- tests/selenium/wdio.conf.js | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/tests/selenium/wdio.conf.js b/tests/selenium/wdio.conf.js index adbd8c352f..c8fb8a7435 100644 --- a/tests/selenium/wdio.conf.js +++ b/tests/selenium/wdio.conf.js @@ -217,8 +217,21 @@ exports.config = { // }, // // Function to be executed after a test (in Mocha/Jasmine) or a step (in Cucumber) starts. - // afterTest: function (test) { - // }, + // from https://github.com/webdriverio/webdriverio/issues/269#issuecomment-306342170 + afterTest: function ( test ) { + var filename, filePath; + // if test passed, ignore, else take and save screenshot + if ( test.passed ) { + return; + } + // get current test title and clean it, to use it as file name + filename = encodeURIComponent( test.title.replace( /\s+/g, '-' ) ); + // build file path + filePath = this.screenshotPath + filename + '.png'; + // save screenshot + browser.saveScreenshot( filePath ); + console.log( '\n\tScreenshot location:', filePath, '\n' ); + }, // // Hook that gets executed after the suite has ended // afterSuite: function (suite) { -- 2.20.1