Skip to content

Commit b225f6f

Browse files
committed
added localOptions for command args
1 parent be7b484 commit b225f6f

File tree

3 files changed

+20
-4
lines changed

3 files changed

+20
-4
lines changed

config/browserstack.conf.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@
1111

1212
"profiles": {
1313
"localprofile": {
14-
"browserstack.local": "true"
14+
"browserstack.local": "true",
15+
"localOptions": {
16+
"localIdentifier": "kamal"
17+
}
1518
}
1619
},
1720

src/test/java/SuiteClassIntercepter.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,19 @@ public void onStart(ISuite iSuite) {
2020
JSONObject config = (JSONObject) parser.parse(new FileReader("config/browserstack.conf.json"));
2121
Map<String, Map<String, String>> profiles = (Map<String, Map<String, String>>) (config.get("profiles"));
2222
if (profile != null) {
23-
Map<String, String> profileMap = profiles.get(profile);
23+
Map<String, ?> profileMap = profiles.get(profile);
2424
if (profileMap.get("browserstack.local") != null
2525
&& Objects.equals(profileMap.get("browserstack.local"), "true")) {
2626
System.out.println("Starting BrowserStack Local...");
2727
local = new Local();
2828
Map<String, String> options = new HashMap<String, String>();
2929
options.put("key", config.get("key").toString());
30+
if (profileMap.get("localOptions") != null) {
31+
Map<String, ?> browserStackLocalOptionsMap = (Map<String, ?>) (profileMap.get("localOptions"));
32+
for (Map.Entry<String,?> entry : browserStackLocalOptionsMap.entrySet()) {
33+
options.put(entry.getKey(), String.valueOf(entry.getValue()));
34+
}
35+
}
3036
if (!local.isRunning()) {
3137
local.start(options);
3238
Runtime.getRuntime().addShutdownHook(new SuiteClassIntercepter.Closer(local));

src/test/java/com/browserstack/BrowserStackRemoteTest.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,19 @@ public void setUp(@Optional("") String profile, String platform) throws Exceptio
5050

5151
if (!profile.equals("")) {
5252
Map<String, Map<String, String>> profiles = (Map<String, Map<String, String>>) (config.get("profiles"));
53-
Map<String, String> profileMap = profiles.get(profile);
53+
Map<String, ?> profileMap = profiles.get(profile);
5454
it = profileMap.entrySet().iterator();
5555
while (it.hasNext()) {
5656
Map.Entry pair = (Map.Entry) it.next();
5757
if (capabilities.getCapability(pair.getKey().toString()) == null) {
58-
capabilities.setCapability(pair.getKey().toString(), pair.getValue().toString());
58+
if(pair.getKey().toString().equals("localOptions")) {
59+
Map<String, String> localOptionsMap = (Map<String, String>) profileMap.get(pair.getKey().toString());
60+
if (localOptionsMap.get("localIdentifier") != null) {
61+
capabilities.setCapability("browserstack.localIdentifier", localOptionsMap.get("localIdentifier"));
62+
}
63+
} else {
64+
capabilities.setCapability(pair.getKey().toString(), pair.getValue().toString());
65+
}
5966
}
6067
}
6168
}

0 commit comments

Comments
 (0)