[java-idp-integration-tests] 01/07: IDP-1632 - Replace HtmlUnit with headless Firefox

Tom Zeller tzeller at dragonacea.biz
Wed May 5 20:46:39 UTC 2021


This is an automated email from the git hooks/post-receive script.

tzeller pushed a commit to branch main
in repository java-idp-integration-tests.

View the commit online:
http://git.shibboleth.net/view/?p=java-idp-integration-tests.git;a=commit;h=235236327862c627f57ab1834898b93a5114b7b0

commit 235236327862c627f57ab1834898b93a5114b7b0
Author: Tom Zeller <tzeller at dragonacea.biz>
AuthorDate: Wed May 5 14:45:18 2021 -0500

    IDP-1632 - Replace HtmlUnit with headless Firefox
    
    To not run headless, set system property no-headless to true :
    
     -Dno-headless=true
    
    https://issues.shibboleth.net/jira/browse/IDP-1632
---
 pom.xml                                            |  7 -----
 .../shibboleth/idp/test/BaseIntegrationTest.java   | 35 +++++++---------------
 2 files changed, 11 insertions(+), 31 deletions(-)

diff --git a/pom.xml b/pom.xml
index 1de1ecb..547a9e2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -43,7 +43,6 @@
         <opensaml.version>4.1.1-SNAPSHOT</opensaml.version>
 
         <selenium.version>3.141.59</selenium.version>
-        <selenium.htmlunit-driver.version>2.35.1</selenium.htmlunit-driver.version>
         <sauce.version>2.1.20</sauce.version>
 
         <test-distributions.directory>${project.basedir}/test-distributions</test-distributions.directory>
@@ -184,12 +183,6 @@
             <version>${selenium.version}</version>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>org.seleniumhq.selenium</groupId>
-            <artifactId>htmlunit-driver</artifactId>
-            <version>${selenium.htmlunit-driver.version}</version>
-            <!-- Note : xalan and xerces are transitive dependencies -->
-        </dependency>
         <dependency>
             <groupId>com.saucelabs</groupId>
             <artifactId>sauce_java_common</artifactId>
diff --git a/src/test/java/net/shibboleth/idp/test/BaseIntegrationTest.java b/src/test/java/net/shibboleth/idp/test/BaseIntegrationTest.java
index 70716f5..f6b57b8 100644
--- a/src/test/java/net/shibboleth/idp/test/BaseIntegrationTest.java
+++ b/src/test/java/net/shibboleth/idp/test/BaseIntegrationTest.java
@@ -64,7 +64,7 @@ import org.openqa.selenium.Point;
 import org.openqa.selenium.WebDriver;
 import org.openqa.selenium.WebElement;
 import org.openqa.selenium.firefox.FirefoxDriver;
-import org.openqa.selenium.htmlunit.HtmlUnitDriver;
+import org.openqa.selenium.firefox.FirefoxOptions;
 import org.openqa.selenium.remote.BrowserType;
 import org.openqa.selenium.remote.CapabilityType;
 import org.openqa.selenium.remote.DesiredCapabilities;
@@ -885,11 +885,7 @@ public abstract class BaseIntegrationTest
             setUpSauceDriver();
         } else {
             log.debug("Setting up local web driver with desired capabilities '{}'", desiredCapabilities);
-            if (Boolean.getBoolean("firefox")) {
-                setUpFirefoxDriver();
-            } else {
-                setUpHtmlUnitDriver();
-            }
+            setUpFirefoxDriver();
         }
         log.debug("Started web driver '{}' with desired capabilities '{}'", driver, desiredCapabilities);
     }
@@ -1297,17 +1293,6 @@ public abstract class BaseIntegrationTest
         testName = method.getDeclaringClass().getName() + "." + method.getName();
     }
 
-    /**
-     * Set up HtmlUnitDriver web driver.
-     * 
-     * @throws IOException ...
-     */
-    @BeforeMethod(enabled = false)
-    public void setUpHtmlUnitDriver() throws IOException {
-        driver = new HtmlUnitDriver();
-        ((HtmlUnitDriver) driver).setJavascriptEnabled(true);
-    }
-
     /**
      * Set up Firefox web driver.
      * 
@@ -1315,7 +1300,13 @@ public abstract class BaseIntegrationTest
      */
     @BeforeMethod(enabled = false)
     public void setUpFirefoxDriver() throws IOException {
-        driver = new FirefoxDriver();
+        final FirefoxOptions options = new FirefoxOptions();
+        options.setAcceptInsecureCerts(true);
+        options.setHeadless(true);
+        if (Boolean.getBoolean("no-headless")) {
+            options.setHeadless(false);
+        }
+        driver = new FirefoxDriver(options);
         driver.manage().window().setPosition(new Point(0, 0));
         driver.manage().window().setSize(new Dimension(1024, 768));
     }
@@ -1542,16 +1533,12 @@ public abstract class BaseIntegrationTest
     public String getPageSource() {
         String pageSource = null;
 
-        if (driver instanceof HtmlUnitDriver) {
-            pageSource = driver.getPageSource();
-        } else {
-            pageSource = driver.findElement(By.tagName("body")).getText();
-        }
+        pageSource = driver.findElement(By.tagName("body")).getText();
 
         if (isInternetExplorer()) {
             pageSource = cleanupPageSourceIE(pageSource);
         }
-
+        log.trace("get page source\n{}", pageSource);
         return pageSource;
     }
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list