X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fdemo%2FWebDriverExtension.java;h=9de61bbc2e80c32a43e0dd26783f4c68b51c4a7b;hb=804d85a8ec9c52c570320f1e3a135b5bc8019d1d;hp=a2c5d0ccf7aecee55641d84b81f552c6044fff3c;hpb=3dcb574d91d50c6bd1dceb8d6a403cb01d833908;p=demos%2Fspring-boot diff --git a/src/test/java/de/juplo/demo/WebDriverExtension.java b/src/test/java/de/juplo/demo/WebDriverExtension.java index a2c5d0c..9de61bb 100644 --- a/src/test/java/de/juplo/demo/WebDriverExtension.java +++ b/src/test/java/de/juplo/demo/WebDriverExtension.java @@ -1,12 +1,15 @@ package de.juplo.demo; -import org.junit.jupiter.api.extension.BeforeEachCallback; +import java.io.File; +import lombok.extern.slf4j.Slf4j; +import org.junit.jupiter.api.extension.BeforeAllCallback; import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.api.extension.ParameterContext; import org.junit.jupiter.api.extension.ParameterResolver; import org.openqa.selenium.WebDriver; import org.openqa.selenium.remote.DesiredCapabilities; +import org.openqa.selenium.remote.RemoteWebDriver; import org.testcontainers.containers.BrowserWebDriverContainer; @@ -16,15 +19,23 @@ import org.testcontainers.containers.BrowserWebDriverContainer; * {@link https://www.testcontainers.org/modules/webdriver_containers/ Testcontainers}. * @author Kai Moritz */ -public class WebDriverExtension implements BeforeEachCallback, ParameterResolver +@Slf4j +public class WebDriverExtension implements BeforeAllCallback, ParameterResolver { BrowserWebDriverContainer chrome; @Override - public void beforeEach(ExtensionContext context) throws Exception + public void beforeAll(ExtensionContext context) throws Exception { - chrome = new BrowserWebDriverContainer().withCapabilities(DesiredCapabilities.chrome()); + chrome = + new BrowserWebDriverContainer() + .withCapabilities(DesiredCapabilities.chrome()) + .withRecordingMode(BrowserWebDriverContainer.VncRecordingMode.RECORD_ALL, new File("./target/")); + log.info("Starting {}", chrome.getDockerImageName()); + chrome.start(); + log.info("Selenium-Address: {}", chrome.getSeleniumAddress()); + log.info("VNC-Address: {}", chrome.getVncAddress()); } @Override @@ -32,7 +43,7 @@ public class WebDriverExtension implements BeforeEachCallback, ParameterResolver ParameterContext parameterContext, ExtensionContext extensionContext) { - return parameterContext.getParameter().getType() == BrowserWebDriverContainer.class; + return parameterContext.getParameter().getType() == RemoteWebDriver.class; } @Override @@ -40,6 +51,6 @@ public class WebDriverExtension implements BeforeEachCallback, ParameterResolver ParameterContext parameterContext, ExtensionContext extensionContext) { - return chrome; + return chrome.getWebDriver(); } }