mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[ADF-3665]Fix the HTML report (#3934)
* Fix the report. * Fix the HTML report
This commit is contained in:
committed by
Eugenio Romano
parent
daf7c50a19
commit
c10f2dc276
@@ -92,12 +92,10 @@ exports.config = {
|
||||
|
||||
plugins: [{
|
||||
package: 'jasmine2-protractor-utils',
|
||||
disableHTMLReport: false,
|
||||
disableScreenshot: false,
|
||||
screenshotOnExpectFailure: true,
|
||||
screenshotOnSpecFailure: false,
|
||||
clearFoldersBeforeTest: true,
|
||||
htmlReportDir: `${projectRoot}/e2e-output/html-report/`,
|
||||
screenshotPath: `${projectRoot}/e2e-output/screenshots/`
|
||||
}],
|
||||
|
||||
@@ -115,15 +113,13 @@ exports.config = {
|
||||
browser.manage().window().setSize(width, height);
|
||||
|
||||
jasmine.getEnv().addReporter(new SpecReporter({spec: {displayStacktrace: true}}));
|
||||
|
||||
jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter({
|
||||
var generatedSuiteName = Math.random().toString(36).substr(2, 5);
|
||||
var junitReporter = new jasmineReporters.JUnitXmlReporter({
|
||||
consolidateAll: true,
|
||||
savePath: `${projectRoot}/e2e-output/junit-report`,
|
||||
filePrefix: 'results.xml',
|
||||
useDotNotation: false,
|
||||
useFullTestName: false,
|
||||
reportFailedUrl: true
|
||||
}));
|
||||
filePrefix: 'results.xml-' + generatedSuiteName,
|
||||
});
|
||||
jasmine.getEnv().addReporter(junitReporter);
|
||||
|
||||
return browser.driver.executeScript(disableCSSAnimation);
|
||||
|
||||
@@ -144,6 +140,22 @@ exports.config = {
|
||||
|
||||
},
|
||||
|
||||
beforeLaunch: function () {
|
||||
var reportsFolder = `${projectRoot}/e2e-output/junit-report/`;
|
||||
|
||||
fs.exists(reportsFolder, function(exists, error) {
|
||||
if (exists) {
|
||||
rimraf(reportsFolder, function(err) {
|
||||
console.log('[ERROR] rimraf: ', err);
|
||||
});
|
||||
}
|
||||
|
||||
if(error) {
|
||||
console.log('[ERROR] fs', error);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
afterLaunch: async function () {
|
||||
|
||||
let saveScreenshot = process.env.SAVE_SCREENSHOT;
|
||||
@@ -158,6 +170,37 @@ exports.config = {
|
||||
|
||||
console.log(filenameReport);
|
||||
|
||||
let output = '';
|
||||
let savePath = `${projectRoot}/e2e-output/junit-report/`;
|
||||
let temporaryHtmlPath = savePath + 'html/temporaryHtml/';
|
||||
let lastFileName = '';
|
||||
|
||||
let files = fs.readdirSync(savePath);
|
||||
|
||||
if (files && files.length > 0) {
|
||||
for (const fileName of files) {
|
||||
testConfigReport = {
|
||||
reportTitle: 'Protractor Test Execution Report',
|
||||
outputPath: temporaryHtmlPath,
|
||||
outputFilename: Math.random().toString(36).substr(2, 5) + filenameReport,
|
||||
};
|
||||
|
||||
let filePath = `${projectRoot}/e2e-output/junit-report/` + fileName;
|
||||
|
||||
new htmlReporter().from(filePath, testConfigReport);
|
||||
lastFileName = testConfigReport.outputFilename;
|
||||
}
|
||||
};
|
||||
|
||||
var lastHtmlFile = temporaryHtmlPath + lastFileName + '.html';
|
||||
|
||||
if(!(fs.lstatSync(lastHtmlFile).isDirectory())) {
|
||||
output = output + fs.readFileSync(lastHtmlFile);
|
||||
};
|
||||
|
||||
var fileName = savePath + 'html/' + filenameReport + '.html';
|
||||
|
||||
fs.writeFileSync(fileName, output, 'utf8');
|
||||
|
||||
let alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'ECM',
|
||||
@@ -173,23 +216,23 @@ exports.config = {
|
||||
|
||||
try {
|
||||
folder = await
|
||||
alfrescoJsApi.nodes.addNode('-my-', {
|
||||
'name': `retry-${retryCount}`,
|
||||
'relativePath': `Builds/${buildNumber()}/screenshot`,
|
||||
'nodeType': 'cm:folder'
|
||||
}, {}, {
|
||||
'overwrite': true
|
||||
});
|
||||
alfrescoJsApi.nodes.addNode('-my-', {
|
||||
'name': `retry-${retryCount}`,
|
||||
'relativePath': `Builds/${buildNumber()}/screenshot`,
|
||||
'nodeType': 'cm:folder'
|
||||
}, {}, {
|
||||
'overwrite': true
|
||||
});
|
||||
} catch (error) {
|
||||
console.log('Folder screenshot already present');
|
||||
|
||||
folder = await
|
||||
alfrescoJsApi.nodes.getNode('-my-', {
|
||||
'relativePath': `Builds/${buildNumber()}/screenshot/retry-${retryCount}`,
|
||||
'nodeType': 'cm:folder'
|
||||
}, {}, {
|
||||
'overwrite': true
|
||||
});
|
||||
alfrescoJsApi.nodes.getNode('-my-', {
|
||||
'relativePath': `Builds/${buildNumber()}/screenshot/retry-${retryCount}`,
|
||||
'nodeType': 'cm:folder'
|
||||
}, {}, {
|
||||
'overwrite': true
|
||||
});
|
||||
}
|
||||
|
||||
for (const fileName of files) {
|
||||
@@ -198,71 +241,59 @@ exports.config = {
|
||||
let file = fs.createReadStream(pathFile);
|
||||
|
||||
await
|
||||
alfrescoJsApi.upload.uploadFile(
|
||||
file,
|
||||
'',
|
||||
folder.entry.id,
|
||||
null,
|
||||
{
|
||||
'name': file.name,
|
||||
'nodeType': 'cm:content',
|
||||
'autoRename': true
|
||||
}
|
||||
);
|
||||
alfrescoJsApi.upload.uploadFile(
|
||||
file,
|
||||
'',
|
||||
folder.entry.id,
|
||||
null,
|
||||
{
|
||||
'name': file.name,
|
||||
'nodeType': 'cm:content',
|
||||
'autoRename': true
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
testConfigReport = {
|
||||
reportTitle: 'Protractor Test Execution Report',
|
||||
outputPath: `${projectRoot}/e2e-output/junit-report`,
|
||||
outputFilename: filenameReport,
|
||||
screenshotPath: `${projectRoot}/e2e-output/screenshots/`,
|
||||
screenshotsOnlyOnFailure: true,
|
||||
};
|
||||
|
||||
new htmlReporter().from(`${projectRoot}/e2e-output/junit-report/results.xml`, testConfigReport);
|
||||
|
||||
let pathFile = path.join(__dirname, './e2e-output/junit-report', filenameReport + '.html');
|
||||
let pathFile = path.join(__dirname, './e2e-output/junit-report/html', filenameReport + '.html');
|
||||
let reportFile = fs.createReadStream(pathFile);
|
||||
|
||||
let reportFolder;
|
||||
|
||||
try {
|
||||
reportFolder = await
|
||||
alfrescoJsApi.nodes.addNode('-my-', {
|
||||
'name': 'report',
|
||||
'relativePath': `Builds/${buildNumber()}`,
|
||||
'nodeType': 'cm:folder'
|
||||
}, {}, {
|
||||
'overwrite': true
|
||||
});
|
||||
alfrescoJsApi.nodes.addNode('-my-', {
|
||||
'name': 'report',
|
||||
'relativePath': `Builds/${buildNumber()}`,
|
||||
'nodeType': 'cm:folder'
|
||||
}, {}, {
|
||||
'overwrite': true
|
||||
});
|
||||
} catch (error) {
|
||||
// console.log('Folder report already present' + error);
|
||||
|
||||
reportFolder = await
|
||||
alfrescoJsApi.nodes.getNode('-my-', {
|
||||
'relativePath': `Builds/${buildNumber()}/report`,
|
||||
'nodeType': 'cm:folder'
|
||||
}, {}, {
|
||||
'overwrite': true
|
||||
});
|
||||
alfrescoJsApi.nodes.getNode('-my-', {
|
||||
'relativePath': `Builds/${buildNumber()}/report`,
|
||||
'nodeType': 'cm:folder'
|
||||
}, {}, {
|
||||
'overwrite': true
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
try {
|
||||
await
|
||||
alfrescoJsApi.upload.uploadFile(
|
||||
reportFile,
|
||||
'',
|
||||
reportFolder.entry.id,
|
||||
null,
|
||||
{
|
||||
'name': reportFile.name,
|
||||
'nodeType': 'cm:content',
|
||||
'autoRename': true
|
||||
}
|
||||
);
|
||||
alfrescoJsApi.upload.uploadFile(
|
||||
reportFile,
|
||||
'',
|
||||
reportFolder.entry.id,
|
||||
null,
|
||||
{
|
||||
'name': reportFile.name,
|
||||
'nodeType': 'cm:content',
|
||||
'autoRename': true
|
||||
}
|
||||
);
|
||||
|
||||
} catch (error) {
|
||||
console.log('error' + error);
|
||||
|
Reference in New Issue
Block a user