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 ); } }
