22
33import org .junit .Test ;
44import org .openqa .selenium .*;
5+ import org .openqa .selenium .qtwebkit .QtWebDriverExecutor ;
6+ import org .openqa .selenium .qtwebkit .QtWebKitDriver ;
7+ import org .openqa .selenium .remote .DesiredCapabilities ;
8+ import org .openqa .selenium .support .PageFactory ;
59
610import java .util .HashSet ;
711import java .util .Set ;
@@ -20,6 +24,30 @@ private static <X> X waitFor(Callable<X> until) {
2024 return TestWaiter .waitFor (until , TIME_OUT , SECONDS );
2125 }
2226
27+ @ Test
28+ public void checkWebPageUpdateOnSessionReuse () {
29+ page .setWebPage (pages .clicksPage );
30+ page .clickGet ();
31+
32+ String webDriverUrlPort = page .getWebDriverUrlPort ();
33+ WebDriver originalDriver = driver ;
34+ try {
35+ QtWebDriverExecutor webDriverExecutor = QtWebKitDriver .createDefaultExecutor ();
36+ driver = new QtWebKitDriver (webDriverExecutor , DesiredCapabilities .qtwebkit ());
37+ page = PageFactory .initElements (driver , QtWebDriverJsPage .class );
38+ page .setDriver (driver );
39+ page .setTargetDriver (targetDriver );
40+ page .setWebDriverUrl (webDriverUrlPort );
41+
42+ driver .findElement (By .id ("getButton" )).click ();
43+
44+ // shall retrieve web page url from previous session according to MHA-879
45+ waitFor (page .webPageIs (pages .clicksPage ));
46+ } finally {
47+ originalDriver .quit ();
48+ }
49+ }
50+
2351 @ Test
2452 public void checkSourceScreenshotButtonsDisabling () {
2553 WebElement sourceButton = driver .findElement (By .id ("sourceButton" ));
@@ -236,22 +264,7 @@ public void canListAndChooseWindows() {
236264 waitFor (activeWindowToBe (targetDriver , expectedActiveWindow ));
237265
238266 // Upon choose window, input field 'Web page' shall be update, MHA-879
239- waitFor (new Callable <String >() {
240- @ Override
241- public String call () throws Exception {
242- if (pages .xhtmlTestPage .equals (page .getWebPage ())) {
243- return page .getWebPage ();
244- }
245-
246- return null ;
247- }
248-
249- @ Override
250- public String toString () {
251- return "expected web page to be '" + pages .xhtmlTestPage +
252- "' while actual web page is '" + page .getWebPage () + "'" ;
253- }
254- });
267+ waitFor (page .webPageIs (pages .xhtmlTestPage ));
255268 }
256269
257270 @ Test
0 commit comments