Repository: archiva
Updated Branches:
  refs/heads/master f242578be -> 2513029e2


Adding fixes for chrome WebDriver


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

Branch: refs/heads/master
Commit: 2513029e2e6c3333073c265fa496bc50fb2e405d
Parents: f242578
Author: Martin Stockhammer <[email protected]>
Authored: Fri Jun 9 23:19:58 2017 +0200
Committer: Martin Stockhammer <[email protected]>
Committed: Fri Jun 9 23:19:58 2017 +0200

----------------------------------------------------------------------
 .../archiva/web/test/RepositoryAdminTest.java   |  8 +++---
 .../web/test/parent/AbstractSeleniumTest.java   | 26 ++++++++++++++++++++
 .../web/test/tools/WebdriverUtility.java        |  9 +++++--
 3 files changed, 38 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/archiva/blob/2513029e/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/RepositoryAdminTest.java
----------------------------------------------------------------------
diff --git 
a/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/RepositoryAdminTest.java
 
b/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/RepositoryAdminTest.java
index d9d0da1..6dbf5eb 100644
--- 
a/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/RepositoryAdminTest.java
+++ 
b/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/RepositoryAdminTest.java
@@ -66,9 +66,11 @@ public class RepositoryAdminTest
         
         el.click();
         
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("remote-repositories-view-a")));
-        el = wait.until(ExpectedConditions.elementToBeClickable( 
By.id("menu-proxy-connectors-list-a") ));
-        el.click();
-        
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("proxy-connectors-view-tabs-a-network-proxies-grid")));
+        tryClick(By.id("menu-proxy-connectors-list-a"),
+            
ExpectedConditions.visibilityOfElementLocated(By.id("proxy-connectors-view-tabs-a-network-proxies-grid")),
+            "Network proxies not available",
+            3,10
+            );
         
wait.until(ExpectedConditions.textToBePresentInElementLocated(By.id("main-content"),
 "Proxy Connectors"));
         // proxy connect
         
wait.until(ExpectedConditions.textToBePresentInElementLocated(By.id("proxy-connectors-view"),
 "central" ));

http://git-wip-us.apache.org/repos/asf/archiva/blob/2513029e/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 2cfe070..7922997 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
@@ -620,6 +620,32 @@ public abstract class AbstractSeleniumTest
         }
     }
 
+    public <V> V tryClick(By clickableLocator, Function<? super WebDriver, V> 
conditions, String message, int attempts, int maxWaitTimeInS) {
+
+        int count = attempts;
+        WebDriverWait wait = new WebDriverWait( getWebDriver(), maxWaitTimeInS 
);
+        V result = null;
+        Exception ex = null;
+        while(count>0)
+        {
+            try
+            {
+                WebElement el = 
wait.until(ExpectedConditions.elementToBeClickable( clickableLocator ));
+                el.click();
+                result = wait.until( conditions  );
+                count=0;
+                ex = null;
+            } catch (Exception e) {
+                ex = e;
+                count--;
+            }
+        }
+        if (ex!=null) {
+            Assert.fail( message);
+        }
+        return result;
+    }
+
     /**
      * Executes click() on the WebElement <code>el</code> and waits for the 
conditions.
      * If the condition is not fulfilled in <code>maxWaitTimeInS</code>, the 
click is executed again

http://git-wip-us.apache.org/repos/asf/archiva/blob/2513029e/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/tools/WebdriverUtility.java
----------------------------------------------------------------------
diff --git 
a/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/tools/WebdriverUtility.java
 
b/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/tools/WebdriverUtility.java
index 12546c3..a1fbca3 100644
--- 
a/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/tools/WebdriverUtility.java
+++ 
b/archiva-modules/archiva-web/archiva-webapp-test/src/test/java/org/apache/archiva/web/test/tools/WebdriverUtility.java
@@ -23,6 +23,7 @@ import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.openqa.selenium.*;
 import org.openqa.selenium.chrome.ChromeDriver;
+import org.openqa.selenium.chrome.ChromeOptions;
 import org.openqa.selenium.firefox.FirefoxDriver;
 import org.openqa.selenium.htmlunit.HtmlUnitDriver;
 import org.openqa.selenium.ie.InternetExplorerDriver;
@@ -69,13 +70,17 @@ public class WebdriverUtility
         try {
 
             if ( StringUtils.contains(seleniumBrowser, "chrome")) {
+                ChromeOptions options = new ChromeOptions();
+                options.addArguments("start-maximized");
                 if (seleniumRemote)
                 {
+                    DesiredCapabilities capabilities = 
DesiredCapabilities.chrome();
+                    capabilities.setCapability( ChromeOptions.CAPABILITY, 
options );
                     return new RemoteWebDriver( new URL( "http://"; + 
seleniumHost + ":" + seleniumPort + "/wd/hub" ),
-                        DesiredCapabilities.chrome()
+                        capabilities
                     );
                 } else {
-                    return new ChromeDriver(  );
+                    return new ChromeDriver( options );
                 }
             }
 

Reply via email to