From 4febf758df5152a8dd5907cf043fe179ac5608bc Mon Sep 17 00:00:00 2001 From: kobenguyent Date: Wed, 26 Jun 2024 15:42:14 +0200 Subject: [PATCH 1/4] fix: stepByStep report doesnt sync properly --- lib/plugin/stepByStepReport.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/plugin/stepByStepReport.js b/lib/plugin/stepByStepReport.js index 1cd99d1a2..54b0add8c 100644 --- a/lib/plugin/stepByStepReport.js +++ b/lib/plugin/stepByStepReport.js @@ -106,7 +106,9 @@ module.exports = function (config) { recorder.add('screenshot of failed test', async () => persistStep(step), true) }) - event.dispatcher.on(event.step.after, persistStep) + event.dispatcher.on(event.step.failed, (step) => { + recorder.add('screenshot of failed test', async () => persistStep(step), true) + }) event.dispatcher.on(event.test.passed, (test) => { if (!config.deleteSuccessful) return persist(test) From 0f8bb837c39784c9f58291698d7e039dc3b177f5 Mon Sep 17 00:00:00 2001 From: kobenguyent Date: Thu, 27 Jun 2024 07:56:03 +0200 Subject: [PATCH 2/4] fix: wrong event is called --- lib/plugin/stepByStepReport.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/plugin/stepByStepReport.js b/lib/plugin/stepByStepReport.js index 54b0add8c..7eefd3728 100644 --- a/lib/plugin/stepByStepReport.js +++ b/lib/plugin/stepByStepReport.js @@ -106,8 +106,8 @@ module.exports = function (config) { recorder.add('screenshot of failed test', async () => persistStep(step), true) }) - event.dispatcher.on(event.step.failed, (step) => { - recorder.add('screenshot of failed test', async () => persistStep(step), true) + event.dispatcher.on(event.step.after, (step) => { + recorder.add('screenshot of step of test', async () => persistStep(step), true) }) event.dispatcher.on(event.test.passed, (test) => { From bda5a668fcfce88a4201484f58bdcea9a2e44dc2 Mon Sep 17 00:00:00 2001 From: kobenguyent Date: Thu, 27 Jun 2024 11:16:12 +0200 Subject: [PATCH 3/4] fix: failed when there is Beforesuite --- lib/plugin/stepByStepReport.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/plugin/stepByStepReport.js b/lib/plugin/stepByStepReport.js index 7eefd3728..71520adf4 100644 --- a/lib/plugin/stepByStepReport.js +++ b/lib/plugin/stepByStepReport.js @@ -88,6 +88,10 @@ module.exports = function (config) { const pad = '0000' const reportDir = config.output ? path.resolve(global.codecept_dir, config.output) : defaultConfig.output + event.dispatcher.on(event.suite.before, (suite) => { + stepNum = -1 + }) + event.dispatcher.on(event.test.before, (test) => { const sha256hash = crypto .createHash('sha256') @@ -149,6 +153,7 @@ module.exports = function (config) { }) async function persistStep(step) { + if (stepNum === -1) return // Ignore steps from BeforeSuite function if (isStepIgnored(step)) return if (savedStep === step) return // already saved // Ignore steps from BeforeSuite function From fad8f1c87d7bbe5b87220271d5bc06784c19c071 Mon Sep 17 00:00:00 2001 From: kobenguyent Date: Thu, 27 Jun 2024 23:02:09 +0200 Subject: [PATCH 4/4] fix: error with aftersuite --- lib/plugin/stepByStepReport.js | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/plugin/stepByStepReport.js b/lib/plugin/stepByStepReport.js index 71520adf4..21b96410a 100644 --- a/lib/plugin/stepByStepReport.js +++ b/lib/plugin/stepByStepReport.js @@ -159,6 +159,7 @@ module.exports = function (config) { // Ignore steps from BeforeSuite function if (scenarioFailed && config.disableScreenshotOnFail) return if (step.metaStep && step.metaStep.name === 'BeforeSuite') return + if (!step.test) return // Ignore steps from AfterSuite const fileName = `${pad.substring(0, pad.length - stepNum.toString().length) + stepNum.toString()}.png` if (step.status === 'failed') {