Skip to content
This repository was archived by the owner on Feb 2, 2025. It is now read-only.

Commit 25a615f

Browse files
committed
AspectJ fails
1 parent f37e637 commit 25a615f

File tree

1 file changed

+59
-57
lines changed

1 file changed

+59
-57
lines changed

src/main/java/com/github/markusbernhardt/seleniumlibrary/keywords/BrowserManagement.java

Lines changed: 59 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,13 @@
2020
import org.apache.http.auth.AuthScope;
2121
import org.apache.http.auth.NTCredentials;
2222
import org.apache.http.auth.UsernamePasswordCredentials;
23-
import org.apache.http.client.config.RequestConfig;
23+
import org.apache.http.conn.params.ConnRoutePNames;
24+
import org.apache.http.impl.client.DefaultHttpClient;
25+
import org.apache.http.impl.conn.DefaultHttpRoutePlanner;
2426
import org.json.simple.JSONArray;
2527
import org.json.simple.JSONObject;
2628
import org.json.simple.JSONValue;
2729
import org.openqa.selenium.Dimension;
28-
import org.openqa.selenium.MutableCapabilities;
2930
import org.openqa.selenium.Platform;
3031
import org.openqa.selenium.WebDriver;
3132
import org.openqa.selenium.WebElement;
@@ -36,6 +37,7 @@
3637
import org.openqa.selenium.ie.InternetExplorerDriver;
3738
import org.openqa.selenium.phantomjs.PhantomJSDriver;
3839
import org.openqa.selenium.remote.Augmenter;
40+
import org.openqa.selenium.remote.DesiredCapabilities;
3941
import org.openqa.selenium.remote.HttpCommandExecutor;
4042
import org.openqa.selenium.remote.RemoteWebDriver;
4143
import org.openqa.selenium.safari.SafariDriver;
@@ -210,8 +212,8 @@ public String openBrowser(String url, String browserName, String alias, String r
210212
}
211213

212214
public String openBrowser(String url, String browserName, String alias, String remoteUrl,
213-
String mutableCapabilities) throws Throwable {
214-
return openBrowser(url, browserName, alias, remoteUrl, mutableCapabilities, null);
215+
String desiredCapabilities) throws Throwable {
216+
return openBrowser(url, browserName, alias, remoteUrl, desiredCapabilities, null);
215217
}
216218

217219
/**
@@ -285,19 +287,19 @@ public String openBrowser(String url, String browserName, String alias, String r
285287
* later to switch back to it. Index starts from 1 and is reset back to it
286288
* when the `Close All Browsers` keyword is used.<br>
287289
* <br>
288-
* <b>mutableCapabilities</b><br>
289-
* The mutableCapabilities can be specified in a simple key:value format or
290+
* <b>DesiredCapabilities</b><br>
291+
* The DesiredCapabilities can be specified in a simple key:value format or
290292
* as a JSON object. With the JSON format more complex parameters, like the
291293
* proxy, can be configured.<br>
292294
* <br>
293-
* Example of mutableCapabilities as simple string:<br>
295+
* Example of desiredCapabilities as simple string:<br>
294296
* <table border="1" cellspacing="0" summary="">
295297
* <tr>
296298
* <td>platform:Windows 8,browserName:firefox,version:25</td>
297299
* </tr>
298300
* </table>
299301
* <br>
300-
* Example of mutableCapabilities as JSON object:<br>
302+
* Example of desiredCapabilities as JSON object:<br>
301303
* <table border="1" cellspacing="0" summary="">
302304
* <tr>
303305
* <td>{<br>
@@ -359,15 +361,15 @@ public String openBrowser(String url, String browserName, String alias, String r
359361
* Default=False. Optional remote grid URL. When specified no
360362
* local WebDriver instance is created, but a network connection
361363
* to a Selenium 2 WebDriver Grid Hub at the given URL is opened.
362-
* @param mutableCapabilities
364+
* @param desiredCapabilities
363365
* Default=NONE. Optional desired capabilities of the newly
364366
* created remote browser instances can be specified in a simple
365367
* key1:val1,key2:val2 format or as a JSON object (see examples
366368
* above). Used to communicate to the remote grid, which kind of
367369
* browser, etc. should be used. For more information see:
368370
* <a href=
369-
* "http://code.google.com/p/selenium/wiki/mutableCapabilities" >
370-
* mutableCapabilities</a>
371+
* "http://code.google.com/p/selenium/wiki/DesiredCapabilities" >
372+
* DesiredCapabilities</a>
371373
* @param browserOptions
372374
* Default=NONE. Extended browser options as JSON structure.
373375
* @return The index of the newly created browser instance.
@@ -379,10 +381,10 @@ public String openBrowser(String url, String browserName, String alias, String r
379381
* @see BrowserManagement#switchBrowser
380382
*/
381383
@RobotKeyword
382-
@ArgumentNames({ "url", "browserName=firefox", "alias=NONE", "remoteUrl=False", "mutableCapabilities=NONE",
384+
@ArgumentNames({ "url", "browserName=firefox", "alias=NONE", "remoteUrl=False", "desiredCapabilities=NONE",
383385
"browserOptions=NONE" })
384386
public String openBrowser(String url, String browserName, String alias, String remoteUrl,
385-
String mutableCapabilities, String browserOptions) throws Throwable {
387+
String desiredCapabilities, String browserOptions) throws Throwable {
386388
try {
387389
logging.info("browserName: " + browserName);
388390
if (remoteUrl != null) {
@@ -392,7 +394,7 @@ public String openBrowser(String url, String browserName, String alias, String r
392394
logging.info(String.format("Opening browser '%s' to base url '%s'", browserName, url));
393395
}
394396

395-
WebDriver webDriver = createWebDriver(browserName, mutableCapabilities, remoteUrl, browserOptions);
397+
WebDriver webDriver = createWebDriver(browserName, desiredCapabilities, remoteUrl, browserOptions);
396398
webDriver.get(url);
397399
String sessionId = webDriverCache.register(webDriver, alias);
398400
logging.debug(String.format("Opened browser with session id %s", sessionId));
@@ -802,8 +804,8 @@ public String getTitle() {
802804
* is requested in the desired capabilities, no error is thrown;</b> a
803805
* read-only capabilities object is returned that indicates the capabilities
804806
* the session actually supports. For more information see:
805-
* <a href= "http://code.google.com/p/selenium/wiki/mutableCapabilities" >
806-
* mutableCapabilities</a><br>
807+
* <a href= "http://code.google.com/p/selenium/wiki/DesiredCapabilities" >
808+
* DesiredCapabilities</a><br>
807809
*
808810
* @return The capabilities of the remote node.
809811
*
@@ -1357,17 +1359,17 @@ protected String getPasswordFromURL(URL url) {
13571359
return auth.substring(index + 1);
13581360
}
13591361

1360-
protected WebDriver createWebDriver(String browserName, String mutableCapabilitiesString, String remoteUrlString,
1362+
protected WebDriver createWebDriver(String browserName, String desiredCapabilitiesString, String remoteUrlString,
13611363
String browserOptions) throws MalformedURLException {
13621364
browserName = browserName.toLowerCase().replace(" ", "");
1363-
MutableCapabilities mutableCapabilities = createmutableCapabilities(browserName, mutableCapabilitiesString,
1365+
DesiredCapabilities desiredCapabilities = createDesiredCapabilities(browserName, desiredCapabilitiesString,
13641366
browserOptions);
13651367

13661368
WebDriver webDriver;
13671369
if (remoteUrlString != null && !"False".equals(remoteUrlString)) {
1368-
webDriver = createRemoteWebDriver(mutableCapabilities, new URL(remoteUrlString));
1370+
webDriver = createRemoteWebDriver(desiredCapabilities, new URL(remoteUrlString));
13691371
} else {
1370-
webDriver = createLocalWebDriver(browserName, mutableCapabilities);
1372+
webDriver = createLocalWebDriver(browserName, desiredCapabilities);
13711373
}
13721374

13731375
webDriver.manage().timeouts().setScriptTimeout((int) (timeout * 1000.0), TimeUnit.MILLISECONDS);
@@ -1376,35 +1378,35 @@ protected WebDriver createWebDriver(String browserName, String mutableCapabiliti
13761378
return webDriver;
13771379
}
13781380

1379-
protected WebDriver createLocalWebDriver(String browserName, MutableCapabilities mutableCapabilities) {
1381+
protected WebDriver createLocalWebDriver(String browserName, DesiredCapabilities desiredCapabilities) {
13801382
System.out.println(browserName);
13811383
if ("ff".equals(browserName) || "firefox".equals(browserName)) {
1382-
return new FirefoxDriver(mutableCapabilities);
1384+
return new FirefoxDriver(desiredCapabilities);
13831385
} else if ("ie".equals(browserName) || "internetexplorer".equals(browserName)) {
1384-
return new InternetExplorerDriver(mutableCapabilities);
1386+
return new InternetExplorerDriver(desiredCapabilities);
13851387
} else if ("gc".equals(browserName) || "chrome".equals(browserName) || "googlechrome".equals(browserName)) {
1386-
return new ChromeDriver(mutableCapabilities);
1388+
return new ChromeDriver(desiredCapabilities);
13871389
} else if ("opera".equals(browserName)) {
1388-
return new OperaDriver(mutableCapabilities);
1390+
return new OperaDriver(desiredCapabilities);
13891391
} else if ("phantomjs".equals(browserName)) {
1390-
return new PhantomJSDriver(mutableCapabilities);
1392+
return new PhantomJSDriver(desiredCapabilities);
13911393
} else if ("safari".equals(browserName)) {
1392-
return new SafariDriver(mutableCapabilities);
1394+
return new SafariDriver(desiredCapabilities);
13931395
} else if ("htmlunit".equals(browserName)) {
1394-
return new HtmlUnitDriver(mutableCapabilities);
1396+
return new HtmlUnitDriver(desiredCapabilities);
13951397
} else if ("htmlunitwithjs".equals(browserName)) {
1396-
HtmlUnitDriver driver = new HtmlUnitDriver(mutableCapabilities);
1398+
HtmlUnitDriver driver = new HtmlUnitDriver(desiredCapabilities);
13971399
driver.setJavascriptEnabled(true);
13981400
return driver;
13991401
} else if ("iphone".equals(browserName) || "ipad".equals(browserName)) {
14001402
try {
1401-
return new IOSDriver<WebElement>(new URL(""), mutableCapabilities);
1403+
return new IOSDriver<WebElement>(new URL(""), desiredCapabilities);
14021404
} catch (Exception e) {
14031405
throw new SeleniumLibraryFatalException("Creating " + browserName + " instance failed.", e);
14041406
}
14051407
} else if ("android".equals(browserName)) {
14061408
try {
1407-
return new SelendroidDriver(mutableCapabilities);
1409+
return new SelendroidDriver(desiredCapabilities);
14081410
} catch (Exception e) {
14091411
throw new SeleniumLibraryFatalException(e);
14101412
}
@@ -1415,67 +1417,67 @@ protected WebDriver createLocalWebDriver(String browserName, MutableCapabilities
14151417
throw new SeleniumLibraryFatalException(browserName + " is not a supported browser.");
14161418
}
14171419

1418-
protected WebDriver createRemoteWebDriver(MutableCapabilities mutableCapabilities, URL remoteUrl) {
1420+
protected WebDriver createRemoteWebDriver(DesiredCapabilities desiredCapabilities, URL remoteUrl) {
14191421
HttpCommandExecutor httpCommandExecutor = new HttpCommandExecutor(remoteUrl);
14201422
setRemoteWebDriverProxy(httpCommandExecutor);
1421-
return new Augmenter().augment(new RemoteWebDriver(httpCommandExecutor, mutableCapabilities));
1423+
return new Augmenter().augment(new RemoteWebDriver(httpCommandExecutor, desiredCapabilities));
14221424
}
14231425

1424-
protected MutableCapabilities createmutableCapabilities(String browserName, String mutableCapabilitiesString,
1426+
protected DesiredCapabilities createDesiredCapabilities(String browserName, String desiredCapabilitiesString,
14251427
String browserOptions) {
1426-
mutableCapabilities mutableCapabilities;
1428+
DesiredCapabilities desiredCapabilities;
14271429
if ("ff".equals(browserName) || "firefox".equals(browserName)) {
1428-
mutableCapabilities = mutableCapabilities.firefox();
1429-
parseBrowserOptionsFirefox(browserOptions, mutableCapabilities);
1430+
desiredCapabilities = DesiredCapabilities.firefox();
1431+
parseBrowserOptionsFirefox(browserOptions, desiredCapabilities);
14301432
} else if ("ie".equals(browserName) || "internetexplorer".equals(browserName)) {
1431-
mutableCapabilities = mutableCapabilities.internetExplorer();
1433+
desiredCapabilities = DesiredCapabilities.internetExplorer();
14321434
} else if ("gc".equals(browserName) || "chrome".equals(browserName) || "googlechrome".equals(browserName)) {
1433-
mutableCapabilities = mutableCapabilities.chrome();
1435+
desiredCapabilities = DesiredCapabilities.chrome();
14341436
} else if ("opera".equals(browserName)) {
1435-
mutableCapabilities = mutableCapabilities.opera();
1437+
desiredCapabilities = DesiredCapabilities.opera();
14361438
} else if ("phantomjs".equals(browserName)) {
1437-
mutableCapabilities = mutableCapabilities.phantomjs();
1439+
desiredCapabilities = DesiredCapabilities.phantomjs();
14381440
} else if ("safari".equals(browserName)) {
1439-
mutableCapabilities = mutableCapabilities.safari();
1441+
desiredCapabilities = DesiredCapabilities.safari();
14401442
} else if ("ipad".equals(browserName)) {
1441-
mutableCapabilities = mutableCapabilities.ipad();
1443+
desiredCapabilities = DesiredCapabilities.ipad();
14421444
} else if ("iphone".equals(browserName)) {
1443-
mutableCapabilities = mutableCapabilities.iphone();
1445+
desiredCapabilities = DesiredCapabilities.iphone();
14441446
} else if ("android".equals(browserName)) {
1445-
mutableCapabilities = mutableCapabilities.android();
1447+
desiredCapabilities = DesiredCapabilities.android();
14461448
} else if ("htmlunit".equals(browserName) || "htmlunitwithjs".equals(browserName)) {
1447-
mutableCapabilities = mutableCapabilities.htmlUnit();
1449+
desiredCapabilities = DesiredCapabilities.htmlUnit();
14481450
} else if ("jbrowser".equals(browserName)) {
1449-
mutableCapabilities = new mutableCapabilities("jbrowser", "1", Platform.ANY);
1451+
desiredCapabilities = new DesiredCapabilities("jbrowser", "1", Platform.ANY);
14501452
} else {
14511453
throw new SeleniumLibraryFatalException(browserName + " is not a supported browser.");
14521454
}
14531455

1454-
if (mutableCapabilitiesString != null && !"None".equals(mutableCapabilitiesString)) {
1455-
JSONObject jsonObject = (JSONObject) JSONValue.parse(mutableCapabilitiesString);
1456+
if (desiredCapabilitiesString != null && !"None".equals(desiredCapabilitiesString)) {
1457+
JSONObject jsonObject = (JSONObject) JSONValue.parse(desiredCapabilitiesString);
14561458
if (jsonObject != null) {
14571459
// Valid JSON
14581460
Iterator<?> iterator = jsonObject.entrySet().iterator();
14591461
while (iterator.hasNext()) {
14601462
Entry<?, ?> entry = (Entry<?, ?>) iterator.next();
1461-
mutableCapabilities.setCapability(entry.getKey().toString(), entry.getValue());
1463+
desiredCapabilities.setCapability(entry.getKey().toString(), entry.getValue());
14621464
}
14631465
} else {
14641466
// Invalid JSON. Old style key-value pairs
1465-
for (String capability : mutableCapabilitiesString.split(",")) {
1467+
for (String capability : desiredCapabilitiesString.split(",")) {
14661468
String[] keyValue = capability.split(":");
14671469
if (keyValue.length == 2) {
1468-
mutableCapabilities.setCapability(keyValue[0], keyValue[1]);
1470+
desiredCapabilities.setCapability(keyValue[0], keyValue[1]);
14691471
} else {
1470-
logging.warn("Invalid mutableCapabilities: " + mutableCapabilitiesString);
1472+
logging.warn("Invalid desiredCapabilities: " + desiredCapabilitiesString);
14711473
}
14721474
}
14731475
}
14741476
}
1475-
return mutableCapabilities;
1477+
return desiredCapabilities;
14761478
}
14771479

1478-
protected void parseBrowserOptionsFirefox(String browserOptions, MutableCapabilities mutableCapabilities) {
1480+
protected void parseBrowserOptionsFirefox(String browserOptions, DesiredCapabilities desiredCapabilities) {
14791481
if (browserOptions != null && !"NONE".equals(browserOptions)) {
14801482
JSONObject jsonObject = (JSONObject) JSONValue.parse(browserOptions);
14811483
if (jsonObject != null) {
@@ -1514,7 +1516,7 @@ protected void parseBrowserOptionsFirefox(String browserOptions, MutableCapabili
15141516
logging.warn("Unknown browserOption: " + key + ":" + entry.getValue());
15151517
}
15161518
}
1517-
mutableCapabilities.setCapability(FirefoxDriver.PROFILE, firefoxProfile);
1519+
desiredCapabilities.setCapability(FirefoxDriver.PROFILE, firefoxProfile);
15181520
} else {
15191521
logging.warn("Invalid browserOptions: " + browserOptions);
15201522
}
@@ -1552,7 +1554,7 @@ protected void setRemoteWebDriverProxy(HttpCommandExecutor httpCommandExecutor)
15521554
// proxies correctly.
15531555
client.setRoutePlanner(new DefaultHttpRoutePlanner(client.getConnectionManager().getSchemeRegistry()));
15541556
HttpHost proxy = new HttpHost(remoteWebDriverProxyHost, Integer.parseInt(remoteWebDriverProxyPort));
1555-
client.getParams().setParameter(RequestConfig.DEFAULT_PROXY, proxy);
1557+
client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
15561558
} catch (SecurityException e) {
15571559
throw new SeleniumLibraryFatalException(
15581560
String.format("The SecurityManager does not allow us to lookup to the %s field.", fieldName));

0 commit comments

Comments
 (0)