X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fdemo%2FWebDriverExtension.java;h=ada01f51c6112adc6a78a01818e45eedb3b69a51;hb=d968707a4bb1b520df07f363b7e8077061cb1ccf;hp=25de95f8b8bc6d845d8c6918ea56fc28e9d81bfa;hpb=ded79957c6d4bc388560ac37677cbf5323d7b314;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 25de95f..ada01f5 100644 --- a/src/test/java/de/juplo/demo/WebDriverExtension.java +++ b/src/test/java/de/juplo/demo/WebDriverExtension.java @@ -3,8 +3,11 @@ package de.juplo.demo; import org.junit.jupiter.api.extension.BeforeEachCallback; 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; @@ -14,7 +17,7 @@ import org.testcontainers.containers.BrowserWebDriverContainer; * {@link https://www.testcontainers.org/modules/webdriver_containers/ Testcontainers}. * @author Kai Moritz */ -public class WebDriverExtension implements BeforeEachCallback +public class WebDriverExtension implements BeforeEachCallback, ParameterResolver { BrowserWebDriverContainer chrome; @@ -24,4 +27,20 @@ public class WebDriverExtension implements BeforeEachCallback { chrome = new BrowserWebDriverContainer().withCapabilities(DesiredCapabilities.chrome()); } + + @Override + public boolean supportsParameter( + ParameterContext parameterContext, + ExtensionContext extensionContext) + { + return parameterContext.getParameter().getType() == RemoteWebDriver.class; + } + + @Override + public Object resolveParameter( + ParameterContext parameterContext, + ExtensionContext extensionContext) + { + return chrome.getWebDriver(); + } }