Skip to content

Commit

Permalink
Improved WebDriver configuration API
Browse files Browse the repository at this point in the history
  • Loading branch information
Mike Reiche committed Sep 3, 2021
1 parent 862d708 commit b8908bd
Show file tree
Hide file tree
Showing 5 changed files with 8 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ public SessionContext(WebDriverRequest webDriverRequest) {
// }
}

public void setWebDriverRequest(WebDriverRequest webDriverRequest) {
private void setWebDriverRequest(WebDriverRequest webDriverRequest) {
this.webDriverRequest = webDriverRequest;
this.setSessionKey(webDriverRequest.getSessionKey());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ public Dimension getWindowSize() {

String windowSizeProperty = Testerra.Properties.WINDOW_SIZE.asString();

if (windowSizeProperty != null) {
if (windowSizeProperty.trim().length() > 0) {
Pattern pattern = Pattern.compile("(\\d+)x(\\d+)");
Matcher matcher = pattern.matcher(windowSizeProperty);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ default void registerWebDriverAfterStartupHandler(Consumer<WebDriver> afterStart
WebDriverSessionsManager.registerWebDriverAfterStartupHandler(afterStart);
}

default void registerWebDriverRequestConfigurator(BiConsumer<WebDriverRequest, SessionContext> handler) {
default void registerWebDriverRequestConfigurator(Consumer<WebDriverRequest> handler) {
WebDriverSessionsManager.webDriverRequestConfigurators.add(handler);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,7 @@
*/
package eu.tsystems.mms.tic.testframework.webdrivermanager;

import eu.tsystems.mms.tic.testframework.report.model.context.SessionContext;
import eu.tsystems.mms.tic.testframework.utils.StringUtils;
import java.util.function.BiConsumer;
import org.openqa.selenium.Proxy;
import java.util.function.Consumer;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.slf4j.Logger;
Expand All @@ -34,7 +31,7 @@
import java.util.Map;

@Deprecated
public class WebDriverCapabilities implements BiConsumer<WebDriverRequest, SessionContext> {
public class WebDriverCapabilities implements Consumer<WebDriverRequest> {

/**
* Extra capabilities.
Expand Down Expand Up @@ -100,7 +97,7 @@ static Map<String, Object> getGlobalExtraCapabilities() {
}

@Override
public void accept(WebDriverRequest webDriverRequest, SessionContext sessionContext) {
public void accept(WebDriverRequest webDriverRequest) {
if (webDriverRequest instanceof AbstractWebDriverRequest) {
DesiredCapabilities desiredCapabilities = ((AbstractWebDriverRequest) webDriverRequest).getDesiredCapabilities();
desiredCapabilities.merge(new DesiredCapabilities(GLOBALCAPABILITIES));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ public final class WebDriverSessionsManager {

private static final String FULL_SESSION_KEY_SPLIT_MARKER = "___";
private static final Set<WebDriverFactory> webDriverFactories = Testerra.getInjector().getInstance(Key.get(new TypeLiteral<Set<WebDriverFactory>>(){}));
static final Queue<BiConsumer<WebDriverRequest, SessionContext>> webDriverRequestConfigurators = new ConcurrentLinkedQueue<>();
static final Queue<Consumer<WebDriverRequest>> webDriverRequestConfigurators = new ConcurrentLinkedQueue<>();
private static final IExecutionContextController executionContextController = Testerra.getInjector().getInstance(IExecutionContextController.class);

private WebDriverSessionsManager() {
Expand Down Expand Up @@ -386,12 +386,9 @@ public static EventFiringWebDriver getWebDriver(final WebDriverRequest webDriver
create session context and link to method context
*/
final WebDriverRequest finalWebDriverRequest = webDriverFactory.prepareWebDriverRequest(webDriverRequest);
webDriverRequestConfigurators.forEach(handler -> handler.accept(finalWebDriverRequest));

SessionContext sessionContext = new SessionContext(finalWebDriverRequest);
webDriverRequestConfigurators.forEach(handler -> {
handler.accept(finalWebDriverRequest, sessionContext);
});

executionContextController.getCurrentMethodContext().ifPresent(methodContext -> {
methodContext.addSessionContext(sessionContext);
});
Expand Down

0 comments on commit b8908bd

Please sign in to comment.