Skip to content

Commit e20ed8d

Browse files
committed
test(browser): adapt e2e tests into htmlunit new version
1 parent f1d0a7e commit e20ed8d

4 files changed

Lines changed: 31 additions & 40 deletions

File tree

src/test/java/endtoend/functions/jquery/events/ClickFunctionTest.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ public void click_function() {
4242
assertThat($("div").size(), is(0));
4343

4444
$("#i1").click();
45-
removeDivBodyFocusAddedWhenDriverIsHtmlUnit();
4645

4746
assertThat($("div.i1.click").size(), is(1));
4847
assertThat($("div.i1.focus").size(), is(1));
@@ -52,7 +51,6 @@ public void click_function() {
5251
assertThat($("div").size(), is(3));
5352

5453
$("#i2").click();
55-
removeDivBodyFocusAddedWhenDriverIsHtmlUnit();
5654

5755
assertThat($("div.i1.click").size(), is(1));
5856
assertThat($("div.i1.focus").size(), is(1));
@@ -99,7 +97,7 @@ private static void removeDivBodyFocusAddedByIe() {
9997
public static void removeDivBodyFocusAddedWhenDriverIsHtmlUnit() {
10098
WebDriver driver = $.driver().get();
10199

102-
if (DriverInTest.isHtmlUnitDriver(driver)) {
100+
if (DriverInTest.isHtmlUnitDriver($)) {
103101
// #CrossDriver
104102
// HtmlUnit emits a focus on body when i1 is clicked (other browsers just emit a focus on i1)
105103
removeDivBodyFocus();

src/test/java/endtoend/functions/jquery/forms/FocusFunctionTest.java

Lines changed: 17 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@
2323
import org.junit.Rule;
2424
import org.junit.Test;
2525
import org.openqa.selenium.JavascriptExecutor;
26-
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
2726
import testinfrastructure.junitrule.SetUpAndTearDownDriver;
2827
import testinfrastructure.junitrule.annotation.JavaScriptEnabledOnly;
28+
import testinfrastructure.testutils.DriverInTest;
2929

3030
import static io.github.seleniumquery.SeleniumQuery.$;
3131
import static org.hamcrest.Matchers.is;
@@ -60,7 +60,7 @@ public void focus_function() {
6060
// still, someone wanting to focus the html seems to be a highly unlikely operation, even more
6161
// since the body IS focusable
6262
$("html").focus();
63-
if (!($.driver().get() instanceof HtmlUnitDriver)) {
63+
if (DriverInTest.isNotHtmlUnitDriver($)) {
6464
assertThat($("html").is(":focus"), is(true));
6565
}
6666

@@ -110,39 +110,25 @@ public void focus_function__should_make_sure_the_elements_are_just_focused_and_N
110110

111111
$("#im1").focus();
112112
assertThat($("#im1").is(":focus"), is(true));
113+
ClickFunctionTest.removeDivBodyFocusAddedWhenDriverIsHtmlUnit();
113114

114-
if (!($.driver().get() instanceof HtmlUnitDriver)) {
115-
assertThat($("div").size(), is(4));
116-
assertThat($("div.i1").size(), is(1));
117-
assertThat($("div.i2").size(), is(1));
118-
assertThat($("div.a1").size(), is(1));
119-
assertThat($("div.im1").size(), is(1));
120-
assertThat($("div.im1.focus").size(), is(1));
121-
} else {
122-
// HtmlUnitDriver will focus, but won't trigger the focus EVENT for the <img> tag... :/
123-
assertThat($("div").size(), is(3));
124-
assertThat($("div.i1").size(), is(1));
125-
assertThat($("div.i2").size(), is(1));
126-
assertThat($("div.a1").size(), is(1));
127-
}
115+
assertThat($("div").size(), is(4));
116+
assertThat($("div.i1").size(), is(1));
117+
assertThat($("div.i2").size(), is(1));
118+
assertThat($("div.a1").size(), is(1));
119+
assertThat($("div.im1").size(), is(1));
120+
assertThat($("div.im1.focus").size(), is(1));
128121

129122
$("body").focus();
130123
assertThat($("body").is(":focus"), is(true));
131-
if (!($.driver().get() instanceof HtmlUnitDriver)) {
132-
assertThat($("div").size(), is(5));
133-
assertThat($("div.i1").size(), is(1));
134-
assertThat($("div.i2").size(), is(1));
135-
assertThat($("div.a1").size(), is(1));
136-
assertThat($("div.im1").size(), is(1));
137-
assertThat($("div.body.focus").size(), is(1));
138-
assertThat($("div.body.click").size(), is(0));
139-
} else {
140-
// HtmlUnitDriver will focus, but won't trigger the focus event for the <body> tag either!
141-
assertThat($("div").size(), is(3));
142-
assertThat($("div.i1").size(), is(1));
143-
assertThat($("div.i2").size(), is(1));
144-
assertThat($("div.a1").size(), is(1));
145-
}
124+
125+
assertThat($("div").size(), is(5));
126+
assertThat($("div.i1").size(), is(1));
127+
assertThat($("div.i2").size(), is(1));
128+
assertThat($("div.a1").size(), is(1));
129+
assertThat($("div.im1").size(), is(1));
130+
assertThat($("div.body.focus").size(), is(1));
131+
assertThat($("div.body.click").size(), is(0));
146132
}
147133

148134
private void removeDivBodyFocusAddedWhenDriverIsIeAndWhenFocusingInput() {

src/test/java/endtoend/functions/jquery/manipulation/TextFunctionTest.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ public void text_function() {
3636
WebDriver driver = $.driver().get();
3737

3838
String text = "Demonstration Box\nlist item 1\nlist item 2";
39-
if (DriverInTest.isHtmlUnitDriver(driver)) {
40-
text = "Demonstration Box\nlist item 1 list item 2";
39+
if (DriverInTest.isHtmlUnitDriver($)) {
40+
text = "Demonstration Box\n\nlist item 1\nlist item 2";
4141
} else if (DriverInTest.isRemoteEdge(driver)) {
4242
text = "Demonstration Box\r\nlist item 1\r\nlist item 2";
4343
}
@@ -57,14 +57,12 @@ public void text_function() {
5757
// this is no fix, just documenting the difference
5858
// IE (tested IE11) will make .text() follow the typed text. Other browsers will keep the original one.
5959
// This is OK, as it is the SAME behavior presented by jQuery!
60-
//
61-
// Well, HtmlUnit follows IE...
62-
if (DriverInTest.isIEDriver(driver) || DriverInTest.isHtmlUnitDriver(driver)) {
60+
if (DriverInTest.isIEDriver(driver)) {
6361
assertThat($("#myTextArea").text().trim(), is("Typed stuff in textarea"));
6462
} else {
6563
assertThat($("#myTextArea").text().trim(), is("Initial value for textarea"));
6664
}
6765
assertThat($("#myTextArea").val().trim(), is("Typed stuff in textarea"));
6866
}
6967

70-
}
68+
}

src/test/java/testinfrastructure/testutils/DriverInTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package testinfrastructure.testutils;
1818

19+
import io.github.seleniumquery.browser.BrowserFunctions;
1920
import io.github.seleniumquery.utils.DriverVersionUtils;
2021
import org.openqa.selenium.WebDriver;
2122
import org.openqa.selenium.chrome.ChromeDriver;
@@ -47,10 +48,18 @@ public static boolean isHtmlUnitDriver(WebDriver driver) {
4748
return DriverVersionUtils.getInstance().isHtmlUnitDriver(driver);
4849
}
4950

51+
public static boolean isHtmlUnitDriver(BrowserFunctions $) {
52+
return isHtmlUnitDriver($.driver().get());
53+
}
54+
5055
public static boolean isNotHtmlUnitDriver(WebDriver driver) {
5156
return !isHtmlUnitDriver(driver);
5257
}
5358

59+
public static boolean isNotHtmlUnitDriver(BrowserFunctions $) {
60+
return isNotHtmlUnitDriver($.driver().get());
61+
}
62+
5463
public static boolean isSafariDriver(WebDriver driver) {
5564
return DriverVersionUtils.isSafariDriver(driver);
5665
}

0 commit comments

Comments
 (0)