27
27
import org .openqa .selenium .firefox .FirefoxDriver ;
28
28
import org .openqa .selenium .firefox .FirefoxProfile ;
29
29
import org .openqa .selenium .firefox .internal .ProfilesIni ;
30
- import org .openqa .selenium .htmlunit .HtmlUnitDriver ;
31
30
import org .openqa .selenium .remote .CapabilityType ;
32
31
import org .openqa .selenium .remote .DesiredCapabilities ;
33
32
@@ -106,23 +105,11 @@ private WebDriver createDriver(String type) {
106
105
else if (type .equalsIgnoreCase (HTMLUNIT )) return createHtmlUnitDriver (null );
107
106
throw new RuntimeException ("Unsupported WebDriver browser: " +type );
108
107
}
109
-
110
- private WebDriver createHtmlUnitDriver (DesiredCapabilities capabilities ) {
111
- if (capabilities != null ) {
112
- capabilities .setBrowserName ("htmlunit" );
113
- return new HtmlUnitDriver (capabilities );
114
- }
115
- capabilities = new DesiredCapabilities ();
116
- capabilities .setBrowserName ("htmlunit" );
117
- capabilities .setCapability (CapabilityType .ACCEPT_SSL_CERTS , true );
118
- return new HtmlUnitDriver (capabilities );
119
- }
120
-
121
108
private WebDriver createProxyDriver (String type ) {
122
- if (type .equalsIgnoreCase (CHROME )) return createChromeDriver (createProxyCapabilities ());
123
- else if (type .equalsIgnoreCase (FIREFOX )) return createFirefoxDriver (createProxyCapabilities ());
124
- else if (type .equalsIgnoreCase (HTMLUNIT )) return createHtmlUnitDriver (createProxyCapabilities ());
125
- throw new RuntimeException ("Unsupported WebDriver browser: " +type );
109
+ if (type .equalsIgnoreCase (CHROME )) return createChromeDriver (createProxyCapabilities (type ));
110
+ else if (type .equalsIgnoreCase (FIREFOX )) return createFirefoxDriver (createProxyCapabilities (type ));
111
+ else if (type .equalsIgnoreCase (HTMLUNIT )) return createHtmlUnitDriver (createProxyCapabilities (type ));
112
+ throw new RuntimeException ("Unsupported WebDriver browser: " +type );
126
113
}
127
114
128
115
public WebDriver createChromeDriver (DesiredCapabilities capabilities ) {
@@ -137,10 +124,18 @@ public WebDriver createChromeDriver(DesiredCapabilities capabilities) {
137
124
138
125
}
139
126
140
- public WebDriver createFirefoxDriver (DesiredCapabilities capabilities ) {
141
- if (capabilities != null ) {
142
- return new FirefoxDriver (capabilities );
127
+ private WebDriver createHtmlUnitDriver (DesiredCapabilities capabilities ) {
128
+ if (capabilities != null ) {
129
+ capabilities .setBrowserName ("htmlunit" );
130
+ return new HtmlUnitDriver (capabilities );
143
131
}
132
+ capabilities = new DesiredCapabilities ();
133
+ capabilities .setBrowserName ("htmlunit" );
134
+ capabilities .setCapability (CapabilityType .ACCEPT_SSL_CERTS , true );
135
+ return new HtmlUnitDriver (capabilities );
136
+ }
137
+
138
+ public WebDriver createFirefoxDriver (DesiredCapabilities capabilities ) {
144
139
145
140
ProfilesIni allProfiles = new ProfilesIni ();
146
141
FirefoxProfile myProfile = allProfiles .getProfile ("WebDriver" );
@@ -154,15 +149,31 @@ public WebDriver createFirefoxDriver(DesiredCapabilities capabilities) {
154
149
myProfile .setAcceptUntrustedCertificates (true );
155
150
myProfile .setAssumeUntrustedCertificateIssuer (true );
156
151
myProfile .setPreference ("webdriver.load.strategy" , "unstable" );
152
+ String noProxyHosts = Config .getInstance ().getNoProxyHosts ();
153
+ if (! noProxyHosts .isEmpty ()) {
154
+ myProfile .setPreference ("network.proxy.no_proxies_on" , noProxyHosts );
155
+ }
157
156
if (capabilities == null ) {
158
157
capabilities = new DesiredCapabilities ();
159
158
}
160
159
capabilities .setCapability (FirefoxDriver .PROFILE , myProfile );
161
160
return new FirefoxDriver (capabilities );
162
161
}
163
162
164
- public DesiredCapabilities createProxyCapabilities () {
165
- DesiredCapabilities capabilities = DesiredCapabilities .chrome ();
163
+ public DesiredCapabilities createProxyCapabilities (String type ) {
164
+ DesiredCapabilities capabilities = null ;
165
+ switch (type ) {
166
+ case CHROME :
167
+ capabilities = DesiredCapabilities .chrome ();
168
+ break ;
169
+ case FIREFOX :
170
+ capabilities = DesiredCapabilities .firefox ();
171
+ break ;
172
+ case HTMLUNIT :
173
+ capabilities = DesiredCapabilities .htmlunit ();
174
+ default :
175
+ break ;
176
+ }
166
177
Proxy proxy = new Proxy ();
167
178
proxy .setHttpProxy (Config .getInstance ().getProxyHost () + ":" + Config .getInstance ().getProxyPort ());
168
179
proxy .setSslProxy (Config .getInstance ().getProxyHost () + ":" + Config .getInstance ().getProxyPort ());
0 commit comments