mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-31 17:38:48 +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: [{
|
plugins: [{
|
||||||
package: 'jasmine2-protractor-utils',
|
package: 'jasmine2-protractor-utils',
|
||||||
disableHTMLReport: false,
|
|
||||||
disableScreenshot: false,
|
disableScreenshot: false,
|
||||||
screenshotOnExpectFailure: true,
|
screenshotOnExpectFailure: true,
|
||||||
screenshotOnSpecFailure: false,
|
screenshotOnSpecFailure: false,
|
||||||
clearFoldersBeforeTest: true,
|
clearFoldersBeforeTest: true,
|
||||||
htmlReportDir: `${projectRoot}/e2e-output/html-report/`,
|
|
||||||
screenshotPath: `${projectRoot}/e2e-output/screenshots/`
|
screenshotPath: `${projectRoot}/e2e-output/screenshots/`
|
||||||
}],
|
}],
|
||||||
|
|
||||||
@@ -115,15 +113,13 @@ exports.config = {
|
|||||||
browser.manage().window().setSize(width, height);
|
browser.manage().window().setSize(width, height);
|
||||||
|
|
||||||
jasmine.getEnv().addReporter(new SpecReporter({spec: {displayStacktrace: true}}));
|
jasmine.getEnv().addReporter(new SpecReporter({spec: {displayStacktrace: true}}));
|
||||||
|
var generatedSuiteName = Math.random().toString(36).substr(2, 5);
|
||||||
jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter({
|
var junitReporter = new jasmineReporters.JUnitXmlReporter({
|
||||||
consolidateAll: true,
|
consolidateAll: true,
|
||||||
savePath: `${projectRoot}/e2e-output/junit-report`,
|
savePath: `${projectRoot}/e2e-output/junit-report`,
|
||||||
filePrefix: 'results.xml',
|
filePrefix: 'results.xml-' + generatedSuiteName,
|
||||||
useDotNotation: false,
|
});
|
||||||
useFullTestName: false,
|
jasmine.getEnv().addReporter(junitReporter);
|
||||||
reportFailedUrl: true
|
|
||||||
}));
|
|
||||||
|
|
||||||
return browser.driver.executeScript(disableCSSAnimation);
|
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 () {
|
afterLaunch: async function () {
|
||||||
|
|
||||||
let saveScreenshot = process.env.SAVE_SCREENSHOT;
|
let saveScreenshot = process.env.SAVE_SCREENSHOT;
|
||||||
@@ -158,6 +170,37 @@ exports.config = {
|
|||||||
|
|
||||||
console.log(filenameReport);
|
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({
|
let alfrescoJsApi = new AlfrescoApi({
|
||||||
provider: 'ECM',
|
provider: 'ECM',
|
||||||
@@ -173,23 +216,23 @@ exports.config = {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
folder = await
|
folder = await
|
||||||
alfrescoJsApi.nodes.addNode('-my-', {
|
alfrescoJsApi.nodes.addNode('-my-', {
|
||||||
'name': `retry-${retryCount}`,
|
'name': `retry-${retryCount}`,
|
||||||
'relativePath': `Builds/${buildNumber()}/screenshot`,
|
'relativePath': `Builds/${buildNumber()}/screenshot`,
|
||||||
'nodeType': 'cm:folder'
|
'nodeType': 'cm:folder'
|
||||||
}, {}, {
|
}, {}, {
|
||||||
'overwrite': true
|
'overwrite': true
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log('Folder screenshot already present');
|
console.log('Folder screenshot already present');
|
||||||
|
|
||||||
folder = await
|
folder = await
|
||||||
alfrescoJsApi.nodes.getNode('-my-', {
|
alfrescoJsApi.nodes.getNode('-my-', {
|
||||||
'relativePath': `Builds/${buildNumber()}/screenshot/retry-${retryCount}`,
|
'relativePath': `Builds/${buildNumber()}/screenshot/retry-${retryCount}`,
|
||||||
'nodeType': 'cm:folder'
|
'nodeType': 'cm:folder'
|
||||||
}, {}, {
|
}, {}, {
|
||||||
'overwrite': true
|
'overwrite': true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const fileName of files) {
|
for (const fileName of files) {
|
||||||
@@ -198,71 +241,59 @@ exports.config = {
|
|||||||
let file = fs.createReadStream(pathFile);
|
let file = fs.createReadStream(pathFile);
|
||||||
|
|
||||||
await
|
await
|
||||||
alfrescoJsApi.upload.uploadFile(
|
alfrescoJsApi.upload.uploadFile(
|
||||||
file,
|
file,
|
||||||
'',
|
'',
|
||||||
folder.entry.id,
|
folder.entry.id,
|
||||||
null,
|
null,
|
||||||
{
|
{
|
||||||
'name': file.name,
|
'name': file.name,
|
||||||
'nodeType': 'cm:content',
|
'nodeType': 'cm:content',
|
||||||
'autoRename': true
|
'autoRename': true
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
testConfigReport = {
|
let pathFile = path.join(__dirname, './e2e-output/junit-report/html', filenameReport + '.html');
|
||||||
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 reportFile = fs.createReadStream(pathFile);
|
let reportFile = fs.createReadStream(pathFile);
|
||||||
|
|
||||||
let reportFolder;
|
let reportFolder;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
reportFolder = await
|
reportFolder = await
|
||||||
alfrescoJsApi.nodes.addNode('-my-', {
|
alfrescoJsApi.nodes.addNode('-my-', {
|
||||||
'name': 'report',
|
'name': 'report',
|
||||||
'relativePath': `Builds/${buildNumber()}`,
|
'relativePath': `Builds/${buildNumber()}`,
|
||||||
'nodeType': 'cm:folder'
|
'nodeType': 'cm:folder'
|
||||||
}, {}, {
|
}, {}, {
|
||||||
'overwrite': true
|
'overwrite': true
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// console.log('Folder report already present' + error);
|
|
||||||
|
|
||||||
reportFolder = await
|
reportFolder = await
|
||||||
alfrescoJsApi.nodes.getNode('-my-', {
|
alfrescoJsApi.nodes.getNode('-my-', {
|
||||||
'relativePath': `Builds/${buildNumber()}/report`,
|
'relativePath': `Builds/${buildNumber()}/report`,
|
||||||
'nodeType': 'cm:folder'
|
'nodeType': 'cm:folder'
|
||||||
}, {}, {
|
}, {}, {
|
||||||
'overwrite': true
|
'overwrite': true
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await
|
await
|
||||||
alfrescoJsApi.upload.uploadFile(
|
alfrescoJsApi.upload.uploadFile(
|
||||||
reportFile,
|
reportFile,
|
||||||
'',
|
'',
|
||||||
reportFolder.entry.id,
|
reportFolder.entry.id,
|
||||||
null,
|
null,
|
||||||
{
|
{
|
||||||
'name': reportFile.name,
|
'name': reportFile.name,
|
||||||
'nodeType': 'cm:content',
|
'nodeType': 'cm:content',
|
||||||
'autoRename': true
|
'autoRename': true
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log('error' + error);
|
console.log('error' + error);
|
||||||
|
Reference in New Issue
Block a user