Fix E2E run (#5624)

* Fix E2E run
remove not used report
Fix USERNAME AND PAS upload PS cloud e2e screenshot

* save report

* multiple 4 cs

* change test fix screenshot and others

* exclude other test
This commit is contained in:
Eugenio Romano
2020-04-20 17:54:03 +01:00
committed by GitHub
parent bc2d7f16fd
commit f36cbd57ef
14 changed files with 69 additions and 247 deletions

View File

@@ -1,10 +1,9 @@
const htmlReporter = require('protractor-html-reporter-2');
const fs = require('fs');
const rimraf = require('rimraf');
const path = require('path');
const projectRoot = path.resolve(__dirname, '../../');
let FOLDER = process.env.FOLDER || '';
const TestConfig = require('../test.config');
const AlfrescoApi = require('@alfresco/js-api').AlfrescoApiCompatibility;
function buildNumber() {
let buildNumber = process.env.TRAVIS_BUILD_NUMBER;
@@ -20,6 +19,13 @@ async function uploadScreenshot(alfrescoJsApi, retryCount) {
if (files && files.length > 0) {
let alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: TestConfig.screenshot.url
});
await alfrescoJsApi.login(TestConfig.screenshot.username, TestConfig.screenshot.password);
let folder;
try {
@@ -64,96 +70,6 @@ async function uploadScreenshot(alfrescoJsApi, retryCount) {
}
}
async function uploadReport(alfrescoJsApi, filenameReport) {
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
});
} catch (error) {
reportFolder = await 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
}
);
} catch (error) {
console.log('error' + error);
}
}
async function saveReport(alfrescoJsApi, retryCount) {
let filenameReport = `ProtractorTestReport-${FOLDER}-${retryCount}`;
let output = '';
let savePath = `${projectRoot}/e2e-output/junit-report/`;
let temporaryHtmlPath = savePath + 'html/temporaryHtml/';
let lastFileName = '';
try {
let files = fs.readdirSync(savePath);
if (files && files.length > 0) {
for (const fileName of files) {
const 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;
}
}
let lastHtmlFile = temporaryHtmlPath + lastFileName + '.html';
if (!(fs.lstatSync(lastHtmlFile).isDirectory())) {
output = output + fs.readFileSync(lastHtmlFile);
}
let fileName = savePath + 'html/' + filenameReport + '.html';
fs.writeFileSync(fileName, output, 'utf8');
await uploadReport(alfrescoJsApi, filenameReport);
} catch (e) {
console.log('Not possible upload junit report');
}
rimraf(`${projectRoot}/e2e-output/screenshots/`, function () {
console.log('done delete screenshot');
});
}
async function cleanReportFolder() {
let reportsFolder = `${projectRoot}/e2e-output/junit-report/`;
@@ -171,7 +87,5 @@ async function cleanReportFolder() {
module.exports = {
uploadScreenshot: uploadScreenshot,
uploadReport: uploadReport,
cleanReportFolder: cleanReportFolder,
saveReport: saveReport
cleanReportFolder: cleanReportFolder
};