1 package com.atlassian.webdriver.browsers;
2
3 import com.atlassian.browsers.AbstractInstallConfigurator;
4 import com.atlassian.browsers.BrowserAutoInstaller;
5 import com.atlassian.browsers.BrowserConfig;
6 import com.atlassian.browsers.BrowserConfiguration;
7
8 import javax.annotation.Nonnull;
9 import java.util.concurrent.atomic.AtomicReference;
10
11
12
13
14 public class AutoInstallConfiguration
15 {
16
17
18
19 public static BrowserConfig setupBrowser()
20 {
21 return setupBrowser(new WebDriverBrowserConfiguration());
22 }
23
24
25
26
27 public static BrowserConfig setupBrowser(final BrowserConfiguration browserConfiguration)
28 {
29 final AtomicReference<BrowserConfig> ref = new AtomicReference<BrowserConfig>();
30 final BrowserAutoInstaller browserAutoInstaller = new BrowserAutoInstaller(browserConfiguration, new AbstractInstallConfigurator()
31 {
32 @Override
33 public void setupBrowser(@Nonnull BrowserConfig browserConfig)
34 {
35 ref.set(browserConfig);
36 switch (browserConfig.getBrowserType())
37 {
38 case FIREFOX:
39 System.setProperty("webdriver.firefox.bin", browserConfig.getBinaryPath());
40 break;
41 case CHROME:
42 System.setProperty("webdriver.chrome.bin", browserConfig.getBinaryPath());
43 break;
44 }
45 }
46 });
47 browserAutoInstaller.setupBrowser();
48 return ref.get();
49 }
50
51 }