Skip to content

Commit a67f880

Browse files
committed
Fixing ability to construct SafariOptions from capabilities object
1 parent a977b8e commit a67f880

File tree

2 files changed

+31
-4
lines changed

2 files changed

+31
-4
lines changed

java/client/src/org/openqa/selenium/safari/SafariOptions.java

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,6 @@ SafariOptions setPort(int port) {
147147
*/
148148
public SafariOptions useCleanSession(boolean useCleanSession) {
149149
options.put(Option.CLEAN_SESSION, useCleanSession);
150-
setCapability(Option.CLEAN_SESSION, useCleanSession);
151150
return this;
152151
}
153152

@@ -165,15 +164,34 @@ public SafariOptions setUseCleanSession(boolean useCleanSession) {
165164
*
166165
* @param useTechnologyPreview If true, the SafariDriver will use the Safari Technology Preview,
167166
* otherwise will use the release version of Safari.
168-
* @deprecated Create a {@link SafariDriverService} to specify what Safari flavour should be used
169-
* and pass the service instance to a {@link SafariDriver} constructor.
170167
*/
171-
@Deprecated
172168
public SafariOptions setUseTechnologyPreview(boolean useTechnologyPreview) {
173169
options.put(Option.TECHNOLOGY_PREVIEW, useTechnologyPreview);
174170
return this;
175171
}
176172

173+
@Override
174+
public void setCapability(String key, Object value) {
175+
if (Option.TECHNOLOGY_PREVIEW.equals(key)) {
176+
setUseTechnologyPreview(Boolean.valueOf(value.toString()));
177+
} else if (Option.CLEAN_SESSION.equals(key)) {
178+
useCleanSession(Boolean.valueOf(value.toString()));
179+
} else {
180+
super.setCapability(key, value);
181+
}
182+
}
183+
184+
@Override
185+
public void setCapability(String key, boolean value) {
186+
if (Option.TECHNOLOGY_PREVIEW.equals(key)) {
187+
setUseTechnologyPreview(value);
188+
} else if (Option.CLEAN_SESSION.equals(key)) {
189+
useCleanSession(value);
190+
} else {
191+
super.setCapability(key, value);
192+
}
193+
}
194+
177195
public SafariOptions setProxy(Proxy proxy) {
178196
setCapability(CapabilityType.PROXY, proxy);
179197
return this;

java/client/test/org/openqa/selenium/safari/SafariOptionsTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,13 @@ public void roundTrippingToCapabilitiesAndBackWorks() {
5151
assertEquals(expected, seen);
5252
}
5353

54+
@Test
55+
public void canConstructFromCapabilities() {
56+
SafariOptions options = new SafariOptions(
57+
new ImmutableCapabilities("cleanSession", true, "technologyPreview", true));
58+
59+
assertTrue(options.getUseCleanSession());
60+
assertTrue(options.getUseTechnologyPreview());
61+
}
62+
5463
}

0 commit comments

Comments
 (0)