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

Reply via email to