You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ma...@apache.org on 2017/06/13 14:40:04 UTC

archiva git commit: Fixing another timing issue with JS tests

Repository: archiva
Updated Branches:
  refs/heads/master 5608f7bba -> 577fa611b


Fixing another timing issue with JS tests


Project: http://git-wip-us.apache.org/repos/asf/archiva/repo
Commit: http://git-wip-us.apache.org/repos/asf/archiva/commit/577fa611
Tree: http://git-wip-us.apache.org/repos/asf/archiva/tree/577fa611
Diff: http://git-wip-us.apache.org/repos/asf/archiva/diff/577fa611

Branch: refs/heads/master
Commit: 577fa611b1bde885f3f3b6da650d695137557e8a
Parents: 5608f7b
Author: Martin Stockhammer <ma...@apache.org>
Authored: Tue Jun 13 16:39:33 2017 +0200
Committer: Martin Stockhammer <ma...@apache.org>
Committed: Tue Jun 13 16:39:33 2017 +0200

----------------------------------------------------------------------
 .../archiva/web/test/ArchivaAdminTest.java      | 27 ++++++++++++--------
 .../web/test/parent/AbstractArchivaTest.java    |  2 +-
 .../web/test/parent/AbstractSeleniumTest.java   | 17 ++++++++++--
 3 files changed, 32 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/archiva/blob/577fa611/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/ArchivaAdminTest.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/ArchivaAdminTest.java b/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/ArchivaAdminTest.java
index 3780558..5e7cb0f 100644
--- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/ArchivaAdminTest.java
+++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/ArchivaAdminTest.java
@@ -22,10 +22,15 @@ package org.apache.archiva.web.test;
 import org.apache.archiva.web.test.parent.AbstractArchivaTest;
 import org.junit.Test;
 import org.openqa.selenium.By;
+import org.openqa.selenium.JavascriptExecutor;
+import org.openqa.selenium.WebDriver;
 import org.openqa.selenium.WebElement;
 import org.openqa.selenium.support.ui.ExpectedConditions;
 import org.openqa.selenium.support.ui.WebDriverWait;
 
+import java.util.function.Function;
+import java.util.function.Predicate;
+
 public class ArchivaAdminTest
     extends AbstractArchivaTest
 {
@@ -33,23 +38,23 @@ public class ArchivaAdminTest
     @Test
     public void testHome()
     {
-        getWebDriver().get( baseUrl );
-        WebDriverWait wait = new WebDriverWait(getWebDriver(), 30);
-        wait.until(ExpectedConditions.titleContains("Apache Archiva"));
+        loadPage( baseUrl, 30 );
+        WebDriverWait wait = new WebDriverWait( getWebDriver(), 30 );
+        wait.until( ExpectedConditions.titleContains( "Apache Archiva" ) );
     }
 
     @Test
     public void testInitialRepositories()
     {
-        WebDriverWait wait = new WebDriverWait(getWebDriver(), 20);
+        WebDriverWait wait = new WebDriverWait( getWebDriver(), 20 );
         WebElement el;
-        el = wait.until(ExpectedConditions.elementToBeClickable( By.id("menu-repositories-list-a")));
-        tryClick( el,  ExpectedConditions.presenceOfElementLocated( By.xpath("//table[@id='managed-repositories-table']//td[contains(text(),'internal')]") ),
-            "Managed Repositories not activated");
-        wait.until(ExpectedConditions.visibilityOfElementLocated( By.xpath("//table[@id='managed-repositories-table']//td[contains(text(),'snapshots')]") ));
-        el = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//a[@href='#remote-repositories-content']")));
-        tryClick(el,ExpectedConditions.visibilityOfElementLocated(By.xpath("//table[@id='remote-repositories-table']//td[contains(text(),'central')]")),
-            "Remote Repositories View not available");
+        el = wait.until( ExpectedConditions.elementToBeClickable( By.id( "menu-repositories-list-a" ) ) );
+        tryClick( el, ExpectedConditions.presenceOfElementLocated( By.xpath( "//table[@id='managed-repositories-table']//td[contains(text(),'internal')]" ) ),
+            "Managed Repositories not activated" );
+        wait.until( ExpectedConditions.visibilityOfElementLocated( By.xpath( "//table[@id='managed-repositories-table']//td[contains(text(),'snapshots')]" ) ) );
+        el = wait.until( ExpectedConditions.elementToBeClickable( By.xpath( "//a[@href='#remote-repositories-content']" ) ) );
+        tryClick( el, ExpectedConditions.visibilityOfElementLocated( By.xpath( "//table[@id='remote-repositories-table']//td[contains(text(),'central')]" ) ),
+            "Remote Repositories View not available" );
 
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/archiva/blob/577fa611/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/parent/AbstractArchivaTest.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/parent/AbstractArchivaTest.java b/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/parent/AbstractArchivaTest.java
index 66696bc..c2731fc 100644
--- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/parent/AbstractArchivaTest.java
+++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/parent/AbstractArchivaTest.java
@@ -180,7 +180,7 @@ public abstract class AbstractArchivaTest
 
     public void goToHomePage()
     {
-        getWebDriver().get( baseUrl );
+        loadPage( baseUrl, 30 );
     }
 
     protected void logout()

http://git-wip-us.apache.org/repos/asf/archiva/blob/577fa611/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/parent/AbstractSeleniumTest.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/parent/AbstractSeleniumTest.java b/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/parent/AbstractSeleniumTest.java
index 4d51fa2..7ee5a6a 100644
--- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/parent/AbstractSeleniumTest.java
+++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/parent/AbstractSeleniumTest.java
@@ -129,6 +129,19 @@ public abstract class AbstractSeleniumTest
         initializeArchiva( baseUrl, browser, maxWaitTimeInMs, seleniumHost, seleniumPort, remoteSelenium );
     }
 
+    public void loadPage(String url, int timeout) {
+        getWebDriver().get( url );
+        WebDriverWait wait = new WebDriverWait( getWebDriver(), timeout );
+        wait.until( new Function<WebDriver, Boolean>()
+                    {
+                        public Boolean apply( WebDriver driver )
+                        {
+                            return ( (JavascriptExecutor) driver ).executeScript( "return document.readyState" ).equals( "complete" );
+                        }
+                    }
+        );
+    }
+
     public void initializeArchiva( String baseUrl, String browser, int maxWaitTimeInMs, String seleniumHost,
                                    int seleniumPort, boolean remoteSelenium)
         throws Exception
@@ -136,7 +149,7 @@ public abstract class AbstractSeleniumTest
 
         open( baseUrl, browser, seleniumHost, seleniumPort, maxWaitTimeInMs, remoteSelenium);
 
-        getWebDriver().get(baseUrl);
+        loadPage(baseUrl, 30);
         WebDriverWait wait = new WebDriverWait(getWebDriver(),30);
         wait.until(ExpectedConditions.presenceOfElementLocated(By.id("topbar-menu")));
 
@@ -232,7 +245,7 @@ public abstract class AbstractSeleniumTest
     public void goToLoginPage()
     {
         logger.info("Goto login page");
-        getWebDriver().get( baseUrl );
+        loadPage(baseUrl, 30);
         WebDriverWait wait = new WebDriverWait(getWebDriver(),30);
         wait.until(ExpectedConditions.presenceOfElementLocated(By.id("topbar-menu")));
         wait.until(ExpectedConditions.or(ExpectedConditions.visibilityOfElementLocated(By.id("logout-link")),