1212import info .novatec .testit .webtester .browser .WebDriverBrowser ;
1313import info .novatec .testit .webtester .browser .proxy .NoProxyConfiguration ;
1414import info .novatec .testit .webtester .browser .proxy .ProxyConfiguration ;
15+ import info .novatec .testit .webtester .config .Configuration ;
16+ import info .novatec .testit .webtester .config .builders .DefaultConfigurationBuilder ;
1517
1618
1719/**
2830 * @param <T> the type of the extending factory implementation - used for fluent API for certain methods
2931 * @since 2.1
3032 */
31- public class BaseBrowserFactory <T extends BrowserFactory > implements BrowserFactory {
33+ public class BaseBrowserFactory <T extends BrowserFactory > implements BrowserFactory {
3234
3335 private final Function <DesiredCapabilities , WebDriver > webDriverProducer ;
3436 private ProxyConfiguration proxyConfiguration ;
@@ -53,12 +55,16 @@ protected DesiredCapabilities getDefaultCapabilities() {
5355
5456 @ Override
5557 public Browser createBrowser (DesiredCapabilities capabilities ) {
56- return createBrowser (webDriverProducer .apply (capabilities ));
58+ Configuration configuration = new DefaultConfigurationBuilder ().build ();
59+ postProcessConfiguration (configuration );
60+ return WebDriverBrowser .forWebDriver (webDriverProducer .apply (capabilities )).withConfiguration (configuration ).build ();
5761 }
5862
5963 @ Override
6064 public Browser createBrowser (WebDriver webDriver ) {
61- return WebDriverBrowser .buildForWebDriver (webDriver );
65+ Configuration configuration = new DefaultConfigurationBuilder ().build ();
66+ postProcessConfiguration (configuration );
67+ return WebDriverBrowser .forWebDriver (webDriver ).withConfiguration (configuration ).build ();
6268 }
6369
6470 protected void setOptionalProxyConfiguration (DesiredCapabilities capabilities ) {
@@ -69,11 +75,15 @@ protected void setOptionalProxyConfiguration(DesiredCapabilities capabilities) {
6975 }
7076 }
7177
78+ protected void postProcessConfiguration (Configuration configuration ) {
79+ // optional hook
80+ }
81+
7282 @ Override
7383 @ SuppressWarnings ("unchecked" )
7484 public T withProxyConfiguration (ProxyConfiguration configuration ) {
7585 proxyConfiguration = configuration ;
76- return (T ) this ;
86+ return ( T ) this ;
7787 }
7888
7989}
0 commit comments