Skip to content

Commit 5e78b36

Browse files
committed
added tests for 'reuse_ui' caps
1 parent cd1e2c9 commit 5e78b36

File tree

1 file changed

+76
-0
lines changed

1 file changed

+76
-0
lines changed

java/client/test/org/openqa/selenium/qtwebkit/hybridtests/CapabilitiesTest.java

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,12 @@
1212
import org.openqa.selenium.remote.RemoteWebDriver;
1313
import org.openqa.selenium.testing.JUnit4TestBase;
1414

15+
import java.util.Set;
16+
1517
import static org.junit.Assert.assertEquals;
1618
import static org.junit.Assert.assertNotNull;
1719
import static org.junit.Assert.assertNull;
20+
import static org.junit.Assert.assertTrue;
1821
import static org.junit.Assert.fail;
1922
import static org.openqa.selenium.Platform.WINDOWS;
2023
import static org.openqa.selenium.Platform.LINUX;
@@ -235,6 +238,79 @@ public void testRestoreSizeAndPosition() {
235238
}
236239
}
237240

241+
@Test
242+
public void testCanUsedOpenWindowFromPrevSessionIfCapReuseUISetToTrue() {
243+
244+
WebDriver prevDriver = null;
245+
try {
246+
DesiredCapabilities caps = DesiredCapabilities.qtwebkit();
247+
QtWebDriverExecutor executor = QtWebKitDriver.createDefaultExecutor();
248+
prevDriver = new RemoteWebDriver(executor, caps);
249+
prevDriver.get("qtwidget://XPathElementFindingTestWidget");
250+
assertEquals(prevDriver.getTitle(), "Application Window");
251+
252+
desiredCapabilities.setCapability(QtWebKitDriver.REUSE_UI, true);
253+
driver = CreateWebDriver();
254+
255+
Set<String> allWindowHandles = driver.getWindowHandles();
256+
assertEquals(2, allWindowHandles.size());
257+
258+
for (String handle : allWindowHandles) {
259+
driver.switchTo().window(handle);
260+
if (driver.getTitle().equals("Application Window")) {
261+
break;
262+
}
263+
}
264+
assertEquals(driver.getTitle(), "Application Window");
265+
266+
} catch (RuntimeException e) {
267+
e.printStackTrace();
268+
fail("Should not to be here ...");
269+
} finally {
270+
// if this caps set to 'true' prevDriver will be closed when new driver creates
271+
}
272+
}
273+
274+
@Test
275+
public void testCanNotStartOtherSessionIfCapReuseUISetToFalse() {
276+
277+
desiredCapabilities.setCapability(QtWebKitDriver.REUSE_UI, false);
278+
WebDriver otherDriver = null;
279+
try {
280+
driver = CreateWebDriver();
281+
driver.get("qtwidget://XPathElementFindingTestWidget");
282+
assertEquals(driver.getTitle(), "Application Window");
283+
DesiredCapabilities caps = DesiredCapabilities.qtwebkit();
284+
QtWebDriverExecutor executor = QtWebKitDriver.createDefaultExecutor();
285+
otherDriver = new RemoteWebDriver(executor, caps);
286+
fail("Should not have success ...");
287+
} catch (RuntimeException e) {
288+
// expected
289+
} finally {
290+
if (otherDriver != null)
291+
otherDriver.quit();
292+
}
293+
}
294+
295+
@Test
296+
public void testCanNotStartOtherSessionIfCapReuseUIDoesNotSet() {
297+
WebDriver otherDriver = null;
298+
try {
299+
driver = CreateWebDriver();
300+
driver.get("qtwidget://XPathElementFindingTestWidget");
301+
assertEquals(driver.getTitle(), "Application Window");
302+
DesiredCapabilities caps = DesiredCapabilities.qtwebkit();
303+
QtWebDriverExecutor executor = QtWebKitDriver.createDefaultExecutor();
304+
otherDriver = new RemoteWebDriver(executor, caps);
305+
fail("Should not have success ...");
306+
} catch (RuntimeException e) {
307+
// expected
308+
} finally {
309+
if (otherDriver != null)
310+
otherDriver.quit();
311+
}
312+
}
313+
238314
private DesiredCapabilities desiredCapabilities;
239315
private DesiredCapabilities requiredCapabilities;
240316

0 commit comments

Comments
 (0)