@@ -88,6 +88,10 @@ module.exports = function (config) {
88
88
const pad = '0000'
89
89
const reportDir = config . output ? path . resolve ( global . codecept_dir , config . output ) : defaultConfig . output
90
90
91
+ event . dispatcher . on ( event . suite . before , ( suite ) => {
92
+ stepNum = - 1
93
+ } )
94
+
91
95
event . dispatcher . on ( event . test . before , ( test ) => {
92
96
const sha256hash = crypto
93
97
. createHash ( 'sha256' )
@@ -106,7 +110,9 @@ module.exports = function (config) {
106
110
recorder . add ( 'screenshot of failed test' , async ( ) => persistStep ( step ) , true )
107
111
} )
108
112
109
- event . dispatcher . on ( event . step . after , persistStep )
113
+ event . dispatcher . on ( event . step . after , ( step ) => {
114
+ recorder . add ( 'screenshot of step of test' , async ( ) => persistStep ( step ) , true )
115
+ } )
110
116
111
117
event . dispatcher . on ( event . test . passed , ( test ) => {
112
118
if ( ! config . deleteSuccessful ) return persist ( test )
@@ -147,11 +153,13 @@ module.exports = function (config) {
147
153
} )
148
154
149
155
async function persistStep ( step ) {
156
+ if ( stepNum === - 1 ) return // Ignore steps from BeforeSuite function
150
157
if ( isStepIgnored ( step ) ) return
151
158
if ( savedStep === step ) return // already saved
152
159
// Ignore steps from BeforeSuite function
153
160
if ( scenarioFailed && config . disableScreenshotOnFail ) return
154
161
if ( step . metaStep && step . metaStep . name === 'BeforeSuite' ) return
162
+ if ( ! step . test ) return // Ignore steps from AfterSuite
155
163
156
164
const fileName = `${ pad . substring ( 0 , pad . length - stepNum . toString ( ) . length ) + stepNum . toString ( ) } .png`
157
165
if ( step . status === 'failed' ) {
0 commit comments