Skip to content

Commit eb5cf19

Browse files
authored
fix: several issues of stepByStep report (#4331)
* fix: screenshots to default output even the custom folder is set * fix: records.html is still created with no screenshots * fix: error when test failed at beforeSuite
1 parent 1e78e21 commit eb5cf19

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

Diff for: lib/plugin/stepByStepReport.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -112,11 +112,13 @@ module.exports = function (config) {
112112
});
113113

114114
event.dispatcher.on(event.test.failed, (test, err) => {
115+
// BeforeSuite/AfterSuite don't have any access to the browser, hence it could not take screenshot.
116+
if (test.ctx._runnable.title.includes('hook: BeforeSuite')) return;
115117
persist(test, err);
116118
});
117119

118120
event.dispatcher.on(event.all.result, () => {
119-
if (!Object.keys(slides).length) return;
121+
if (Object.keys(recordedTests).length === 0 || !Object.keys(slides).length) return;
120122

121123
let links = '';
122124

@@ -148,7 +150,7 @@ module.exports = function (config) {
148150
stepNum++;
149151
slides[fileName] = step;
150152
try {
151-
await helper.saveScreenshot(path.relative(reportDir, path.join(dir, fileName)), config.fullPageScreenshots);
153+
await helper.saveScreenshot(path.join(dir, fileName), config.fullPageScreenshots);
152154
} catch (err) {
153155
output.plugin(`Can't save step screenshot: ${err}`);
154156
error = err;

Diff for: lib/utils.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ module.exports.screenshotOutputFolder = function (fileName) {
291291
const fileSep = path.sep;
292292

293293
if (!fileName.includes(fileSep) || fileName.includes('record_')) {
294-
return path.join(global.output_dir, fileName);
294+
return path.resolve(global.output_dir, fileName);
295295
}
296296
return path.resolve(global.codecept_dir, fileName);
297297
};

0 commit comments

Comments
 (0)