Skip to content

Commit 6ed8d51

Browse files
committed
SafariDriver always runs a clean session
1 parent 4832457 commit 6ed8d51

File tree

3 files changed

+19
-60
lines changed

3 files changed

+19
-60
lines changed

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

Lines changed: 2 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,6 @@ private interface Option {
6161

6262
public SafariOptions() {
6363
setUseTechnologyPreview(false);
64-
useCleanSession(false);
65-
6664
setCapability(CapabilityType.BROWSER_NAME, "safari");
6765
}
6866

@@ -121,20 +119,14 @@ public static SafariOptions fromCapabilities(Capabilities capabilities)
121119
* session data.
122120
*
123121
* @param useCleanSession If true, the SafariDriver will erase all existing session data.
122+
* @deprecated SafariDriver always runs a clean session
124123
*/
124+
@Deprecated
125125
public SafariOptions useCleanSession(boolean useCleanSession) {
126126
options.put(Option.CLEAN_SESSION, useCleanSession);
127127
return this;
128128
}
129129

130-
/**
131-
* @deprecated Use {@link #useCleanSession(boolean)} instead
132-
*/
133-
@Deprecated
134-
public SafariOptions setUseCleanSession(boolean useCleanSession) {
135-
return useCleanSession(useCleanSession);
136-
}
137-
138130
/**
139131
* Instruct the SafariDriver to use the Safari Technology Preview if true, otherwise use the
140132
* release version of Safari. Defaults to using the release version of Safari.
@@ -151,8 +143,6 @@ public SafariOptions setUseTechnologyPreview(boolean useTechnologyPreview) {
151143
public void setCapability(String key, Object value) {
152144
if (Option.TECHNOLOGY_PREVIEW.equals(key)) {
153145
setUseTechnologyPreview(Boolean.valueOf(value.toString()));
154-
} else if (Option.CLEAN_SESSION.equals(key)) {
155-
useCleanSession(Boolean.valueOf(value.toString()));
156146
} else {
157147
super.setCapability(key, value);
158148
}
@@ -162,8 +152,6 @@ public void setCapability(String key, Object value) {
162152
public void setCapability(String key, boolean value) {
163153
if (Option.TECHNOLOGY_PREVIEW.equals(key)) {
164154
setUseTechnologyPreview(value);
165-
} else if (Option.CLEAN_SESSION.equals(key)) {
166-
useCleanSession(value);
167155
} else {
168156
super.setCapability(key, value);
169157
}
@@ -176,20 +164,6 @@ public SafariOptions setProxy(Proxy proxy) {
176164

177165
// Getters
178166

179-
/**
180-
* @return Whether the SafariDriver should erase all session data before launching Safari.
181-
* @see #setUseCleanSession(boolean)
182-
* @deprecated Getters are not needed in browser Options classes.
183-
*/
184-
@Deprecated
185-
public boolean getUseCleanSession() {
186-
return (boolean) options.getOrDefault(Option.CLEAN_SESSION, false);
187-
}
188-
189-
/**
190-
* @deprecated Getters are not needed in browser Options classes.
191-
*/
192-
@Deprecated
193167
public boolean getUseTechnologyPreview() {
194168
return (boolean) options.getOrDefault(Option.TECHNOLOGY_PREVIEW, false);
195169
}
@@ -204,11 +178,6 @@ public boolean getUseTechnologyPreview() {
204178
private static SafariOptions fromJsonMap(Map<?, ?> options) {
205179
SafariOptions safariOptions = new SafariOptions();
206180

207-
Boolean useCleanSession = (Boolean) options.get(Option.CLEAN_SESSION);
208-
if (useCleanSession != null) {
209-
safariOptions.useCleanSession(useCleanSession);
210-
}
211-
212181
Boolean useTechnologyPreview = (Boolean) options.get(Option.TECHNOLOGY_PREVIEW);
213182
if (useTechnologyPreview != null) {
214183
safariOptions.setUseTechnologyPreview(useTechnologyPreview);

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

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,41 +21,43 @@
2121
import static org.junit.Assert.assertTrue;
2222
import static org.openqa.selenium.testing.Driver.SAFARI;
2323

24-
import org.junit.AfterClass;
24+
import org.junit.After;
2525
import org.junit.Test;
2626
import org.openqa.selenium.By;
2727
import org.openqa.selenium.Cookie;
2828
import org.openqa.selenium.JavascriptExecutor;
29+
import org.openqa.selenium.WebDriver;
2930
import org.openqa.selenium.testing.Ignore;
3031
import org.openqa.selenium.testing.JUnit4TestBase;
3132
import org.openqa.selenium.testing.NeedsLocalEnvironment;
32-
import org.openqa.selenium.testing.NotYetImplemented;
3333

3434
@NeedsLocalEnvironment(reason = "Requires local browser launching environment")
3535
public class CleanSessionTest extends JUnit4TestBase {
3636

3737
private static final Cookie COOKIE = new Cookie("foo", "bar");
3838

39-
@AfterClass
40-
public static void quitDriver() {
41-
removeDriver();
39+
private WebDriver driver2;
40+
41+
@After
42+
public void quitDriver() {
43+
if (driver2 != null) {
44+
driver2.quit();
45+
}
4246
}
4347

4448
private void createCleanSession() {
49+
removeDriver();
4550
quitDriver();
46-
4751
SafariOptions safariOptions = new SafariOptions();
48-
safariOptions.setUseCleanSession(true);
49-
driver = new SafariDriver(safariOptions);
50-
driver.get(pages.alertsPage);
52+
driver2 = new SafariDriver(safariOptions);
53+
driver2.get(pages.alertsPage);
5154
}
5255

5356
@Test
54-
@NotYetImplemented(SAFARI)
5557
public void shouldClearCookiesWhenStartingWithACleanSession() {
5658
createCleanSession();
5759
assertNoCookies();
58-
driver.manage().addCookie(COOKIE);
60+
driver2.manage().addCookie(COOKIE);
5961
assertHasCookie(COOKIE);
6062

6163
createCleanSession();
@@ -120,10 +122,10 @@ public void doesNotCreateExtraIframeOnPageUnderTest() {
120122
}
121123

122124
private void assertHasCookie(Cookie cookie) {
123-
assertTrue(driver.manage().getCookies().contains(cookie));
125+
assertTrue(driver2.manage().getCookies().contains(cookie));
124126
}
125127

126128
private void assertNoCookies() {
127-
assertTrue(driver.manage().getCookies().isEmpty());
129+
assertTrue(driver2.manage().getCookies().isEmpty());
128130
}
129131
}

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

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -23,22 +23,11 @@
2323
import org.junit.Test;
2424
import org.openqa.selenium.ImmutableCapabilities;
2525

26-
import java.util.Map;
27-
2826
public class SafariOptionsTest {
2927

30-
@Test
31-
public void commonUsagePatternWorks() {
32-
SafariOptions options = new SafariOptions().useCleanSession(true);
33-
Map<String, ?> caps = options.asMap();
34-
assertEquals(((Map<String, ?>) caps.get(SafariOptions.CAPABILITY)).get("cleanSession"), true);
35-
}
36-
3728
@Test
3829
public void roundTrippingToCapabilitiesAndBackWorks() {
39-
SafariOptions expected = new SafariOptions()
40-
.useCleanSession(true)
41-
.setUseTechnologyPreview(true);
30+
SafariOptions expected = new SafariOptions().setUseTechnologyPreview(true);
4231

4332
// Convert to a Map so we can create a standalone capabilities instance, which we then use to
4433
// create a new set of options. This is the round trip, ladies and gentlemen.
@@ -50,9 +39,8 @@ public void roundTrippingToCapabilitiesAndBackWorks() {
5039
@Test
5140
public void canConstructFromCapabilities() {
5241
SafariOptions options = new SafariOptions(
53-
new ImmutableCapabilities("cleanSession", true, "technologyPreview", true));
42+
new ImmutableCapabilities("technologyPreview", true));
5443

55-
assertTrue(options.getUseCleanSession());
5644
assertTrue(options.getUseTechnologyPreview());
5745
}
5846

0 commit comments

Comments
 (0)