cypress_test/integration_tests/common/helper.js | 31 +++++++++++++----------- 1 file changed, 17 insertions(+), 14 deletions(-)
New commits: commit 3cefcd26654ccf7a24b5d5983ee842faa9b79b26 Author: Tamás Zolnai <tamas.zol...@collabora.com> AuthorDate: Tue Jul 14 15:25:19 2020 +0200 Commit: Tamás Zolnai <tamas.zol...@collabora.com> CommitDate: Wed Jul 15 15:48:26 2020 +0200 cypress: improve waitUntilIdle() method. Use smaller time intervals to check how long the item is idle. Use a smaller (e.g. 1000) time for making a decision about the item's idle state to make tests faster. We can increase this time for those use cases where this time is not enough. Change-Id: Ibf03197c7bccc3cd718b67b73d52d9b9b54e875e Reviewed-on: https://gerrit.libreoffice.org/c/online/+/98733 Tested-by: Jenkins Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Tamás Zolnai <tamas.zol...@collabora.com> diff --git a/cypress_test/integration_tests/common/helper.js b/cypress_test/integration_tests/common/helper.js index 1578b70d6..c31ebd64a 100644 --- a/cypress_test/integration_tests/common/helper.js +++ b/cypress_test/integration_tests/common/helper.js @@ -298,11 +298,12 @@ function imageShouldBeFullWhiteOrNot(selector, fullWhite = true) { }); } -function waitUntilIdle(selector, content) { +function waitUntilIdle(selector, content, waitingTime = 1000) { cy.log('Waiting item to be idle - start.'); var item; - var waitingTime = 2000; + var waitOnce = 250; + var idleSince = 0; if (content) { cy.contains(selector, content, { log: false }) .then(function(itemToIdle) { @@ -310,17 +311,18 @@ function waitUntilIdle(selector, content) { }); cy.waitUntil(function() { - cy.wait(waitingTime); + cy.wait(waitOnce, { log: false }); return cy.contains(selector, content, { log: false }) .then(function(itemToIdle) { if (Cypress.dom.isDetached(item[0])) { - cy.log('Item is detached.'); + cy.log('Item is detached after ' + (idleSince + waitOnce).toString() + ' ms.'); item = itemToIdle; - return false; + idleSince = 0; } else { - return true; + idleSince += waitOnce; } + return idleSince > waitingTime; }); }); } else { @@ -330,17 +332,18 @@ function waitUntilIdle(selector, content) { }); cy.waitUntil(function() { - cy.wait(waitingTime); + cy.wait(waitOnce, { log: false }); return cy.get(selector, { log: false }) .then(function(itemToIdle) { if (Cypress.dom.isDetached(item[0])) { - cy.log('Item is detached.'); + cy.log('Item is detached after ' + (idleSince + waitOnce).toString() + ' ms.'); item = itemToIdle; - return false; + idleSince = 0; } else { - return true; + idleSince += waitOnce; } + return idleSince > waitingTime; }); }); } @@ -357,10 +360,10 @@ function waitUntilIdle(selector, content) { // IMPORTANT: don't use this if there is no // flickering. Use simple click() instead. This method // is much slower. -function clickOnIdle(selector, content) { +function clickOnIdle(selector, content, waitingTime = 1000) { cy.log('Clicking on item when idle - start.'); - waitUntilIdle(selector, content); + waitUntilIdle(selector, content, waitingTime); if (content) { cy.contains(selector, content) .click(); @@ -373,10 +376,10 @@ function clickOnIdle(selector, content) { } // See comments at clickOnIdle() method. -function inputOnIdle(selector, input) { +function inputOnIdle(selector, input, waitingTime = 1000) { cy.log('Type into an input item when idle - start.'); - waitUntilIdle(selector); + waitUntilIdle(selector, undefined, waitingTime); cy.get(selector) .clear() _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits