You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by bo...@apache.org on 2021/01/11 21:09:38 UTC
[myfaces-tobago] 06/11: use custom selenium/standalone-firefox
This is an automated email from the ASF dual-hosted git repository.
bommel pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces-tobago.git
commit fbfee4970722651fa23079618036e1dc6521e8a4
Author: Henning Noeth <hn...@apache.org>
AuthorDate: Tue Dec 22 16:42:57 2020 +0100
use custom selenium/standalone-firefox
* use custom firefox image to be able to run on amd64/arm64
* fix: checkstyle
---
.../tobago/example/demo/integration/BasicTest.java | 14 +++++-----
.../example/demo/integration/FrontendBase.java | 32 ++++++++++++++--------
.../example/demo/integration/FrontendTest.java | 6 ++--
3 files changed, 31 insertions(+), 21 deletions(-)
diff --git a/tobago-example/tobago-example-demo/src/test/java/org/apache/myfaces/tobago/example/demo/integration/BasicTest.java b/tobago-example/tobago-example-demo/src/test/java/org/apache/myfaces/tobago/example/demo/integration/BasicTest.java
index 7216c7b..60c72ad 100644
--- a/tobago-example/tobago-example-demo/src/test/java/org/apache/myfaces/tobago/example/demo/integration/BasicTest.java
+++ b/tobago-example/tobago-example-demo/src/test/java/org/apache/myfaces/tobago/example/demo/integration/BasicTest.java
@@ -53,7 +53,7 @@ class BasicTest extends FrontendBase {
private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
- static LocalTime startTime;
+ private static LocalTime startTime;
@BeforeAll
public static void setup() {
@@ -63,14 +63,14 @@ class BasicTest extends FrontendBase {
@Test
void verifyExceptionTest() throws MalformedURLException, UnknownHostException, UnsupportedEncodingException {
final String host = InetAddress.getLocalHost().getHostAddress();
- final int tomcatPort = tomcat.getFirstMappedPort();
+ final int tomcatPort = getTomcatPort();
final String path = "error/exception.xhtml";
final String base = path.substring(0, path.length() - 6);
final String url = "http://" + host + ":" + tomcatPort + "/test.xhtml?base="
+ URLEncoder.encode(base, "UTF-8") + "&basicTest=true";
- WebDriver webDriver = getWebDriver(host, seleniumChrome.getFirstMappedPort());
+ WebDriver webDriver = getWebDriver(host, getFirefoxPort());
webDriver.get(url);
List<WebElement> results = getJasmineResults(webDriver);
@@ -87,14 +87,14 @@ class BasicTest extends FrontendBase {
@Test
void verify404Test() throws MalformedURLException, UnknownHostException, UnsupportedEncodingException {
final String host = InetAddress.getLocalHost().getHostAddress();
- final int tomcatPort = tomcat.getFirstMappedPort();
+ final int tomcatPort = getTomcatPort();
final String path = "error/404.xhtml";
final String base = path.substring(0, path.length() - 6);
final String url = "http://" + host + ":" + tomcatPort + "/test.xhtml?base="
+ URLEncoder.encode(base, "UTF-8") + "&basicTest=true";
- WebDriver webDriver = getWebDriver(host, seleniumChrome.getFirstMappedPort());
+ WebDriver webDriver = getWebDriver(host, getFirefoxPort());
webDriver.get(url);
List<WebElement> results = getJasmineResults(webDriver);
@@ -118,7 +118,7 @@ class BasicTest extends FrontendBase {
final String timeLeft = getTimeLeft(startTime, testSize, testNumber);
final String host = InetAddress.getLocalHost().getHostAddress();
- final int tomcatPort = tomcat.getFirstMappedPort();
+ final int tomcatPort = getTomcatPort();
LOG.info("(" + testNumber + "/" + testSize + " | time left: " + timeLeft + ")"
+ " - url: http://" + host + ":" + tomcatPort + "/" + path);
@@ -127,7 +127,7 @@ class BasicTest extends FrontendBase {
final String url = "http://" + host + ":" + tomcatPort + "/test.xhtml?base="
+ URLEncoder.encode(base, "UTF-8") + "&basicTest=true";
- WebDriver webDriver = getWebDriver(host, seleniumChrome.getFirstMappedPort());
+ WebDriver webDriver = getWebDriver(host, getFirefoxPort());
webDriver.get(url);
List<WebElement> results = getJasmineResults(webDriver);
diff --git a/tobago-example/tobago-example-demo/src/test/java/org/apache/myfaces/tobago/example/demo/integration/FrontendBase.java b/tobago-example/tobago-example-demo/src/test/java/org/apache/myfaces/tobago/example/demo/integration/FrontendBase.java
index a613c8e..77dacd8 100644
--- a/tobago-example/tobago-example-demo/src/test/java/org/apache/myfaces/tobago/example/demo/integration/FrontendBase.java
+++ b/tobago-example/tobago-example-demo/src/test/java/org/apache/myfaces/tobago/example/demo/integration/FrontendBase.java
@@ -26,7 +26,7 @@ import org.openqa.selenium.By;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
-import org.openqa.selenium.chrome.ChromeOptions;
+import org.openqa.selenium.firefox.FirefoxOptions;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.support.ui.FluentWait;
import org.testcontainers.containers.GenericContainer;
@@ -48,20 +48,22 @@ abstract class FrontendBase {
@SuppressWarnings("rawtypes") // this is how to use testcontainers
@Container
- public static GenericContainer seleniumChrome =
- new GenericContainer<>(DockerImageName.parse("selenium/standalone-chrome")).withExposedPorts(4444);
+ private static final GenericContainer SELENIUM_FIREFOX =
+ new GenericContainer<>(DockerImageName.parse("henningn/selenium-standalone-firefox"))
+ .withExposedPorts(4444);
@SuppressWarnings("rawtypes") // this is how to use testcontainers
@Container
- public static GenericContainer tomcat =
- new GenericContainer(DockerImageName.parse("myfaces/tobago-example-demo")).withExposedPorts(8080);
+ private static final GenericContainer TOMCAT =
+ new GenericContainer(DockerImageName.parse("myfaces/tobago-example-demo"))
+ .withExposedPorts(8080);
- private static WebDriver chromeDriver;
+ private static WebDriver firefoxDriver;
@AfterAll
static void tearDown() {
- if (chromeDriver != null) {
- chromeDriver.quit();
+ if (firefoxDriver != null) {
+ firefoxDriver.quit();
}
}
@@ -77,10 +79,10 @@ abstract class FrontendBase {
}
WebDriver getWebDriver(final String host, final Integer port) throws MalformedURLException {
- if (chromeDriver == null || ((RemoteWebDriver) chromeDriver).getSessionId() == null) {
- chromeDriver = new RemoteWebDriver(new URL("http://" + host + ":" + port + "/wd/hub"), new ChromeOptions());
+ if (firefoxDriver == null || ((RemoteWebDriver) firefoxDriver).getSessionId() == null) {
+ firefoxDriver = new RemoteWebDriver(new URL("http://" + host + ":" + port + "/wd/hub"), new FirefoxOptions());
}
- return chromeDriver;
+ return firefoxDriver;
}
List<WebElement> getJasmineResults(WebDriver webDriver) {
@@ -116,4 +118,12 @@ abstract class FrontendBase {
return "---";
}
}
+
+ int getFirefoxPort() {
+ return SELENIUM_FIREFOX.getFirstMappedPort();
+ }
+
+ int getTomcatPort() {
+ return TOMCAT.getFirstMappedPort();
+ }
}
diff --git a/tobago-example/tobago-example-demo/src/test/java/org/apache/myfaces/tobago/example/demo/integration/FrontendTest.java b/tobago-example/tobago-example-demo/src/test/java/org/apache/myfaces/tobago/example/demo/integration/FrontendTest.java
index db7d116..96ae25c 100644
--- a/tobago-example/tobago-example-demo/src/test/java/org/apache/myfaces/tobago/example/demo/integration/FrontendTest.java
+++ b/tobago-example/tobago-example-demo/src/test/java/org/apache/myfaces/tobago/example/demo/integration/FrontendTest.java
@@ -46,7 +46,7 @@ class FrontendTest extends FrontendBase {
private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
- static LocalTime startTime;
+ private static LocalTime startTime;
@BeforeAll
public static void setup() {
@@ -63,7 +63,7 @@ class FrontendTest extends FrontendBase {
final String timeLeft = getTimeLeft(FrontendTest.startTime, testSize, testNumber);
final String host = InetAddress.getLocalHost().getHostAddress();
- final int tomcatPort = tomcat.getFirstMappedPort();
+ final int tomcatPort = getTomcatPort();
LOG.info("(" + testNumber + "/" + testSize + " | time left: " + timeLeft + ")"
+ " - url: http://" + host + ":" + tomcatPort + "/" + path);
@@ -71,7 +71,7 @@ class FrontendTest extends FrontendBase {
final String base = path.substring(0, path.length() - 6);
final String url = "http://" + host + ":" + tomcatPort + "/test.xhtml?base=" + URLEncoder.encode(base, "UTF-8");
- WebDriver webDriver = getWebDriver(host, seleniumChrome.getFirstMappedPort());
+ WebDriver webDriver = getWebDriver(host, getFirefoxPort());
webDriver.get(url);
List<WebElement> results = getJasmineResults(webDriver);