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/10 11:26:30 UTC
[45/50] archiva git commit: Adding fixes for chrome WebDriver
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/citest
Commit: 2513029e2e6c3333073c265fa496bc50fb2e405d
Parents: f242578
Author: Martin Stockhammer <ma...@apache.org>
Authored: Fri Jun 9 23:19:58 2017 +0200
Committer: Martin Stockhammer <ma...@apache.org>
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 );
}
}