From f0ee0bda2f9912e46cebb497900e144f3ca84621 Mon Sep 17 00:00:00 2001 From: Eugenio Romano Date: Mon, 9 Jul 2018 11:21:57 +0100 Subject: [PATCH] save screenshot files only if they are present --- e2e/util/util.js | 28 ++++++++++++++++++++++++++-- e2e/z-finish.e2e.ts | 41 +++++++++++++++++++++-------------------- 2 files changed, 47 insertions(+), 22 deletions(-) diff --git a/e2e/util/util.js b/e2e/util/util.js index 9cf0b550eb..7d5e39eb25 100644 --- a/e2e/util/util.js +++ b/e2e/util/util.js @@ -335,13 +335,37 @@ exports.waitUntilUrlIsShowed = function (urlToWait, timeout) { exports.waitUntilElementIsVisible = function (elementToCheck, timeout) { var waitTimeout = timeout || DEFAULT_TIMEOUT; - return browser.wait(until.visibilityOf(elementToCheck), waitTimeout, 'Element is not visible ' + elementToCheck.locator()); + this.waitUntilElementIsPresent(elementToCheck, timeout); + + var isDisplayed = false; + return browser.wait(() => { + elementToCheck.isDisplayed().then( + () => { + isDisplayed = true; + }, + (err) => { + isDisplayed = false; + } + ); + return isDisplayed; + }, waitTimeout, 'Element is not visible ' + elementToCheck.locator()); }; exports.waitUntilElementIsPresent = function (elementToCheck, timeout) { var waitTimeout = timeout || DEFAULT_TIMEOUT; - return browser.wait(until.presenceOf(elementToCheck), waitTimeout, 'Element is not present ' + elementToCheck.locator()); + var isPresent = false; + return browser.wait(() => { + elementToCheck.isPresent().then( + () => { + isPresent = true; + }, + (err) => { + isPresent = false; + } + ); + return isPresent; + }, waitTimeout, 'Element is not present ' + elementToCheck.locator()); }; /** diff --git a/e2e/z-finish.e2e.ts b/e2e/z-finish.e2e.ts index 4dc10189fb..1c799d700f 100644 --- a/e2e/z-finish.e2e.ts +++ b/e2e/z-finish.e2e.ts @@ -40,31 +40,32 @@ describe('Save screenshot at the end', () => { hostEcm: TestConfig.adf.url }); - alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword); - - let folder = await alfrescoJsApi.nodes.addNode('-my-', { - 'name': 'Screenshot-e2e-' + buildNumber, - 'nodeType': 'cm:folder' - }, {}, {}); - let files = fs.readdirSync(path.join(__dirname, '../e2e-output/screenshots')); - for (const fileName of files) { + if (files && files.length > 0) { + alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword); - let pathFile = path.join(__dirname, '../e2e-output/screenshots', fileName); - let file = fs.createReadStream(pathFile); + let folder = await alfrescoJsApi.nodes.addNode('-my-', { + 'name': 'Screenshot-e2e-' + buildNumber, + 'nodeType': 'cm:folder' + }, {}, {}); - await alfrescoJsApi.upload.uploadFile( - file, - '', - folder.entry.id, - null, - { - 'name': file.name, - 'nodeType': 'cm:content' - } - ); + for (const fileName of files) { + let pathFile = path.join(__dirname, '../e2e-output/screenshots', fileName); + let file = fs.createReadStream(pathFile); + + await alfrescoJsApi.upload.uploadFile( + file, + '', + folder.entry.id, + null, + { + 'name': file.name, + 'nodeType': 'cm:content' + } + ); + } } }