Skip to content

Commit 559fc2b

Browse files
committed
2 parents eee0163 + 6f2552e commit 559fc2b

File tree

3 files changed

+74
-1
lines changed

3 files changed

+74
-1
lines changed

java/client/test/org/openqa/selenium/qtwebkit/visualizer_tests/QtWebDriverJsPage.java

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,10 @@ public String getWebDriverJsWindowHandle() {
148148
return webDriverJsWindowHandle;
149149
}
150150

151+
public String getWebDriverUrlPort() {
152+
return webDriverUrlPort.getAttribute("value");
153+
}
154+
151155
public void setWebDriverUrl(String url) {
152156
driver.get(url + "/WebDriverJsDemo.html");
153157
waitFor(new Callable<Object>() {
@@ -168,12 +172,39 @@ public String toString() {
168172
webDriverUrlPort.sendKeys(url);
169173
}
170174

175+
public String getWebPage() {
176+
return webPage.getAttribute("value");
177+
}
178+
171179
public void setWebPage(String webPage) {
172180
this.webPage.clear();
173181
this.webPage.sendKeys(webPage);
174182
webPageValue = webPage;
175183
}
176184

185+
public Callable<String> webPageIs(final String expectedWebPage) {
186+
return new Callable<String>() {
187+
private String actualWebPage;
188+
189+
@Override
190+
public String call() throws Exception {
191+
actualWebPage = getWebPage();
192+
193+
if (expectedWebPage.equals(actualWebPage)) {
194+
return actualWebPage;
195+
}
196+
197+
return null;
198+
}
199+
200+
@Override
201+
public String toString() {
202+
return "expected web page to be '" + expectedWebPage +
203+
"' while actual web page is '" + actualWebPage + "'";
204+
}
205+
};
206+
}
207+
177208
public void clickGet() {
178209
getButton.click();
179210
waitFor(pageUrlToBe(targetDriver, webPageValue));

java/client/test/org/openqa/selenium/qtwebkit/visualizer_tests/QtWebDriverJsTest.java

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
import org.junit.Test;
44
import 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

610
import java.util.HashSet;
711
import 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"));
@@ -212,7 +240,7 @@ public void canKeyPress() {
212240
}
213241

214242
@Test
215-
public void canListWindows() {
243+
public void canListAndChooseWindows() {
216244
page.setWebPage(pages.clicksPage);
217245
page.clickGet();
218246

@@ -234,6 +262,9 @@ public void canListWindows() {
234262
page.getWindowListSelect().selectByValue(expectedActiveWindow);
235263
page.clickChooseWindow();
236264
waitFor(activeWindowToBe(targetDriver, expectedActiveWindow));
265+
266+
// Upon choose window, input field 'Web page' shall be update, MHA-879
267+
waitFor(page.webPageIs(pages.xhtmlTestPage));
237268
}
238269

239270
@Test

java/client/test/org/openqa/selenium/qtwebkit/visualizer_tests/QtWebDriverVisualizerTest.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import org.openqa.selenium.TestWaiter;
66
import org.openqa.selenium.WebElement;
77
import org.openqa.selenium.interactions.Action;
8+
import org.openqa.selenium.interactions.Actions;
9+
import org.openqa.selenium.interactions.internal.MouseAction;
810
import org.openqa.selenium.interactions.multitouch.MultiTouchActions;
911

1012
import java.util.Set;
@@ -79,6 +81,15 @@ public void isClickOnLinkCorrect() {
7981
assertEquals("We do not proceed by links in visualizer", visualizerTitle, driver.getTitle());
8082
}
8183

84+
@Test
85+
public void canRightClick() {
86+
page.setWebPage(pages.javascriptPage);
87+
driver.switchTo().window(page.clickSource());
88+
89+
new Actions(driver).contextClick(driver.findElement(By.id("doubleClickField"))).perform();
90+
waitFor(elementValueToEqual(targetDriver.findElement(By.id("doubleClickField")), "ContextClicked"));
91+
}
92+
8293
@Test
8394
public void canPinchRotate() {
8495
page.setWebPage(pages.pinchTouchTest);

0 commit comments

Comments
 (0)