You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-scm@portals.apache.org by as...@apache.org on 2018/08/23 13:46:00 UTC

portals-pluto git commit: PLUTO-730 Selenium WebDriverException thrown by TCKSimpleTestDriver (specify -Dtest.scroll=true on the command line to enable)

Repository: portals-pluto
Updated Branches:
  refs/heads/master e5e7f2709 -> 8845b9fe3


PLUTO-730 Selenium WebDriverException thrown by TCKSimpleTestDriver (specify -Dtest.scroll=true on the command line to enable)


Project: http://git-wip-us.apache.org/repos/asf/portals-pluto/repo
Commit: http://git-wip-us.apache.org/repos/asf/portals-pluto/commit/8845b9fe
Tree: http://git-wip-us.apache.org/repos/asf/portals-pluto/tree/8845b9fe
Diff: http://git-wip-us.apache.org/repos/asf/portals-pluto/diff/8845b9fe

Branch: refs/heads/master
Commit: 8845b9fe30c9a5494a883c34c7e4c2d4af7148c0
Parents: e5e7f27
Author: Neil Griffin <ne...@gmail.com>
Authored: Thu Aug 23 09:40:44 2018 -0400
Committer: Neil Griffin <ne...@gmail.com>
Committed: Thu Aug 23 09:40:44 2018 -0400

----------------------------------------------------------------------
 portlet-tck_3.0/README.txt                      |  6 ++++++
 .../portlet/tck/driver/TCKSimpleTestDriver.java | 22 +++++++++++++-------
 2 files changed, 21 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/8845b9fe/portlet-tck_3.0/README.txt
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/README.txt b/portlet-tck_3.0/README.txt
index dfe6302..2e81250 100644
--- a/portlet-tck_3.0/README.txt
+++ b/portlet-tck_3.0/README.txt
@@ -213,6 +213,12 @@ the ignore list, set the command line flag 'test.ignore' to false:
 
 mvn test -Prun-tck -Dtest.ignore=false
 
+Under certain circumstances such as a very fast CPU or a large display size,
+Selenium throws a WebDriverException claiming that a button or link  is not
+clickable. If this happens, the window scrolling workarond can be enabled:
+
+mvn test -Prun-tck -Dtest.scroll=true
+
 Passing the TCK:
 ================
 

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/8845b9fe/portlet-tck_3.0/driver/src/main/java/javax/portlet/tck/driver/TCKSimpleTestDriver.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/driver/src/main/java/javax/portlet/tck/driver/TCKSimpleTestDriver.java b/portlet-tck_3.0/driver/src/main/java/javax/portlet/tck/driver/TCKSimpleTestDriver.java
index dd03c74..6a75d83 100644
--- a/portlet-tck_3.0/driver/src/main/java/javax/portlet/tck/driver/TCKSimpleTestDriver.java
+++ b/portlet-tck_3.0/driver/src/main/java/javax/portlet/tck/driver/TCKSimpleTestDriver.java
@@ -67,7 +67,7 @@ public class TCKSimpleTestDriver {
    protected static String loginUrl, host, port, testFile, browser,
    username, usernameId, password, passwordId, testContextBase, module;
    protected static int timeout = 3; // for waiting on page load
-   protected static boolean useGeneratedUrl = true, debug = false, dryrun = false;
+   protected static boolean useGeneratedUrl = true, debug = false, dryrun = false, scroll;
 
    protected static WebDriver driver;
    protected String page, tcName;
@@ -87,6 +87,8 @@ public class TCKSimpleTestDriver {
       System.out.println("   TestFile=" + testFile);
       module = System.getProperty("test.module");
       System.out.println("   Module       =" + module);
+      scroll = Boolean.valueOf(System.getProperty("test.scroll"));
+      System.out.println("   Scroll       =" + scroll);
       
       String ignoreFile = System.getProperty("test.ignore.list.file");
       System.out.println("   Ignore file  =" + ignoreFile);
@@ -394,8 +396,10 @@ public class TCKSimpleTestDriver {
       } 
       
       WebElement wel = wels.get(0);
-      JavascriptExecutor javascriptExecutor = (JavascriptExecutor) driver;
-      javascriptExecutor.executeScript("window.scrollTo(0, (arguments[0].getBoundingClientRect().top + window.pageYOffset) - (window.innerHeight / 2));", wel);
+      if (scroll) {
+         JavascriptExecutor javascriptExecutor = (JavascriptExecutor) driver;
+         javascriptExecutor.executeScript("window.scrollTo(0, (arguments[0].getBoundingClientRect().top + window.pageYOffset) - (window.innerHeight / 2));", wel);
+      }
       wel.click();
       WebDriverWait wdw = new WebDriverWait(driver, timeout);
       wdw.until(ExpectedConditions.visibilityOfElementLocated(By.name(tcName)));
@@ -495,8 +499,10 @@ public class TCKSimpleTestDriver {
       // Click setup link if found
       if ((tcels != null) && !tcels.isEmpty()) {
          WebElement wel = tcels.get(0);
-         JavascriptExecutor javascriptExecutor = (JavascriptExecutor) driver;
-         javascriptExecutor.executeScript("window.scrollTo(0, (arguments[0].getBoundingClientRect().top + window.pageYOffset) - (window.innerHeight / 2));", wel);
+         if (scroll) {
+            JavascriptExecutor javascriptExecutor = (JavascriptExecutor) driver;
+            javascriptExecutor.executeScript("window.scrollTo(0, (arguments[0].getBoundingClientRect().top + window.pageYOffset) - (window.innerHeight / 2));", wel);
+         }
          wel.click();
          debugLines.add("   Clicked setup link.");
 
@@ -524,8 +530,10 @@ public class TCKSimpleTestDriver {
       
       if (tcels != null && !tcels.isEmpty()) {
          WebElement wel = tcels.get(0);
-         JavascriptExecutor javascriptExecutor = (JavascriptExecutor) driver;
-         javascriptExecutor.executeScript("window.scrollTo(0, (arguments[0].getBoundingClientRect().top + window.pageYOffset) - (window.innerHeight / 2));", wel);
+         if (scroll) {
+            JavascriptExecutor javascriptExecutor = (JavascriptExecutor) driver;
+            javascriptExecutor.executeScript("window.scrollTo(0, (arguments[0].getBoundingClientRect().top + window.pageYOffset) - (window.innerHeight / 2));", wel);
+         }
          wel.click();
          WebDriverWait wdw = new WebDriverWait(driver, timeout);
          wdw.until(ExpectedConditions.visibilityOfElementLocated(By.id(resultId)));