Skip to content

Commit

Permalink
Upgrade TestBench version to 5.2 (#11005)
Browse files Browse the repository at this point in the history
  • Loading branch information
tsuoanttila committed Jun 28, 2018
1 parent 1dd3d0d commit 74aefa7
Show file tree
Hide file tree
Showing 12 changed files with 72 additions and 133 deletions.
2 changes: 1 addition & 1 deletion bom/pom.xml
Expand Up @@ -18,7 +18,7 @@


<properties> <properties>
<vaadin.spring.version>3.0.1</vaadin.spring.version> <vaadin.spring.version>3.0.1</vaadin.spring.version>
<vaadin.testbench.version>5.1.2</vaadin.testbench.version> <vaadin.testbench.version>5.2.0.beta1</vaadin.testbench.version>
<vaadin.cdi.version>3.0.1</vaadin.cdi.version> <vaadin.cdi.version>3.0.1</vaadin.cdi.version>
<vaadin.context-menu.version>2.0.0</vaadin.context-menu.version> <vaadin.context-menu.version>2.0.0</vaadin.context-menu.version>
</properties> </properties>
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Expand Up @@ -60,7 +60,7 @@
<sonar.issuesReport.html.enable>true</sonar.issuesReport.html.enable> <sonar.issuesReport.html.enable>true</sonar.issuesReport.html.enable>


<vaadin.icons.version>3.0.1</vaadin.icons.version> <vaadin.icons.version>3.0.1</vaadin.icons.version>
<vaadin.testbench.version>5.1.2</vaadin.testbench.version> <vaadin.testbench.version>5.2.0.beta1</vaadin.testbench.version>
</properties> </properties>


<pluginRepositories> <pluginRepositories>
Expand Down
@@ -1,15 +1,14 @@
package com.vaadin.tests.components.menubar; package com.vaadin.tests.components.menubar;


import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;


import java.util.List; import java.util.List;


import org.junit.Test; import org.junit.Test;
import org.openqa.selenium.Keys; import org.openqa.selenium.Keys;
import org.openqa.selenium.WebElement; import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.HasInputDevices; import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.interactions.Mouse;
import org.openqa.selenium.internal.Locatable;


import com.vaadin.testbench.By; import com.vaadin.testbench.By;
import com.vaadin.testbench.elements.MenuBarElement; import com.vaadin.testbench.elements.MenuBarElement;
Expand All @@ -36,23 +35,22 @@ public void testEnableParentLayoutControlByKeyboard() {
} }


@Test @Test
public void testEnableParentLayoutControlByMouse() { public void testEnableParentLayoutControlByMouse()
throws InterruptedException {
openTestURL(); openTestURL();


Mouse mouse = ((HasInputDevices) getDriver()).getMouse();

List<WebElement> menuItemList = driver List<WebElement> menuItemList = driver
.findElements(By.className("v-menubar-menuitem")); .findElements(By.className("v-menubar-menuitem"));


mouse.click(((Locatable) menuItemList.get(0)).getCoordinates()); new Actions(getDriver()).moveToElement(menuItemList.get(1)).click()
.perform();
waitForElementPresent(By.className("v-menubar-popup")); waitForElementPresent(By.className("v-menubar-popup"));


mouse.mouseMove(((Locatable) menuItemList.get(1)).getCoordinates()); new Actions(getDriver()).moveToElement(menuItemList.get(1)).perform();
mouse.mouseMove(((Locatable) menuItemList.get(2)).getCoordinates()); new Actions(getDriver()).moveToElement(menuItemList.get(2)).perform();

waitForElementPresent(By.className("v-menubar-popup")); waitForElementPresent(By.className("v-menubar-popup"));


int count = driver.findElements(By.className("v-menubar-popup")).size(); int count = driver.findElements(By.className("v-menubar-popup")).size();
assertTrue("The count of open popups should be one", count == 1); assertEquals("The count of open popups should be one", 1, count);
} }
} }
Expand Up @@ -3,13 +3,11 @@
import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.lessThan; import static org.hamcrest.Matchers.lessThan;
import static org.junit.Assert.assertThat; import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;


import org.junit.Test; import org.junit.Test;
import org.openqa.selenium.WebElement; import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.HasInputDevices; import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.interactions.Mouse;
import org.openqa.selenium.interactions.internal.Coordinates;
import org.openqa.selenium.internal.Locatable;


import com.vaadin.testbench.elements.MenuBarElement; import com.vaadin.testbench.elements.MenuBarElement;
import com.vaadin.tests.tb3.MultiBrowserTest; import com.vaadin.tests.tb3.MultiBrowserTest;
Expand All @@ -24,13 +22,21 @@ public class MenuBarTooltipsNearEdgeTest extends MultiBrowserTest {
@Test @Test
public void testTooltipLocation() { public void testTooltipLocation() {
openTestURL(); openTestURL();
Mouse mouse = ((HasInputDevices) getDriver()).getMouse();
WebElement menu = $(MenuBarElement.class).first().getWrappedElement(); final MenuBarElement menuBar = $(MenuBarElement.class).first();
Coordinates menuLocation = ((Locatable) menu).getCoordinates(); new Actions(getDriver()).moveToElement(menuBar).click()
mouse.click(menuLocation); .moveByOffset(0, -40).perform();
mouse.mouseMove(menuLocation, 5, -40);
WebElement tooltip = getTooltipElement(); WebElement tooltip = getTooltipElement();
assertThat(tooltip.getLocation().x, is(lessThan( assertTrue("Tooltip outside of the screen.",
menuLocation.onPage().x - tooltip.getSize().getWidth()))); tooltip.getLocation().getX() > 0
&& tooltip.getLocation().getY() > 0);
assertThat("Tooltip too far to the right",
tooltip.getLocation().getX() + tooltip.getSize().getWidth(),
is(lessThan(menuBar.getLocation().getX()
+ menuBar.getSize().getWidth() / 2)));
assertThat("Tooltip too low on the screen",
tooltip.getLocation().getY(),
is(lessThan(menuBar.getLocation().getY())));
} }
} }
Expand Up @@ -8,9 +8,7 @@
import java.util.List; import java.util.List;


import org.junit.Test; import org.junit.Test;
import org.openqa.selenium.interactions.HasInputDevices; import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.interactions.Mouse;
import org.openqa.selenium.interactions.internal.Coordinates;
import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.DesiredCapabilities;


import com.vaadin.testbench.elements.MenuBarElement; import com.vaadin.testbench.elements.MenuBarElement;
Expand All @@ -32,24 +30,21 @@ public List<DesiredCapabilities> getBrowsersToTest() {
public void testToolTipDelay() throws InterruptedException { public void testToolTipDelay() throws InterruptedException {
openTestURL(); openTestURL();


Coordinates elementCoordinates = getCoordinates( final MenuBarElement menuBar = $(MenuBarElement.class).first();
$(MenuBarElement.class).first()); // Open menu bar and move on top of the first menu item
sleep(1000); new Actions(getDriver()).moveToElement(menuBar).click()

.moveByOffset(0, menuBar.getSize().getHeight()).perform();
Mouse mouse = ((HasInputDevices) getDriver()).getMouse();

mouse.click(elementCoordinates);
mouse.mouseMove(elementCoordinates, 15, 40);

sleep(1000);


// Make sure tooltip is outside of the screen
assertThat(getTooltipElement().getLocation().getX(), assertThat(getTooltipElement().getLocation().getX(),
is(lessThan(-1000))); is(lessThan(-1000)));


// Wait for tooltip to open up
sleep(3000); sleep(3000);


// Make sure it's the correct tooltip
assertThat(getTooltipElement().getLocation().getX(), assertThat(getTooltipElement().getLocation().getX(),
is(greaterThan(elementCoordinates.onPage().getX()))); is(greaterThan(menuBar.getLocation().getX())));
assertThat(getTooltipElement().getText(), is("TOOLTIP 1")); assertThat(getTooltipElement().getText(), is("TOOLTIP 1"));
} }
} }
Expand Up @@ -4,11 +4,6 @@


import org.junit.Test; import org.junit.Test;
import org.openqa.selenium.By; import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.HasInputDevices;
import org.openqa.selenium.interactions.Mouse;
import org.openqa.selenium.interactions.internal.Coordinates;
import org.openqa.selenium.internal.Locatable;


import com.vaadin.testbench.elements.TextFieldElement; import com.vaadin.testbench.elements.TextFieldElement;
import com.vaadin.tests.tb3.MultiBrowserTest; import com.vaadin.tests.tb3.MultiBrowserTest;
Expand All @@ -20,18 +15,12 @@ public void verifyTooltips() {
String tooltipText; String tooltipText;
openTestURL(); openTestURL();


showTooltip($(TextFieldElement.class).first()); $(TextFieldElement.class).first().showTooltip();
tooltipText = driver.findElement(By.className("v-tooltip")).getText(); tooltipText = driver.findElement(By.className("v-tooltip")).getText();
assertEquals(tooltipText, "Vertical layout tooltip"); assertEquals(tooltipText, "Vertical layout tooltip");


showTooltip($(TextFieldElement.class).get(1)); $(TextFieldElement.class).get(1).showTooltip();
tooltipText = driver.findElement(By.className("v-tooltip")).getText(); tooltipText = driver.findElement(By.className("v-tooltip")).getText();
assertEquals(tooltipText, "Horizontal layout tooltip"); assertEquals(tooltipText, "Horizontal layout tooltip");
} }

private void showTooltip(WebElement element) {
Coordinates elementCoordinates = ((Locatable) element).getCoordinates();
Mouse mouse = ((HasInputDevices) getDriver()).getMouse();
mouse.mouseMove(elementCoordinates);
}
} }
Expand Up @@ -8,9 +8,7 @@
import org.openqa.selenium.By; import org.openqa.selenium.By;
import org.openqa.selenium.NoSuchElementException; import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebElement; import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.HasInputDevices; import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.interactions.internal.Coordinates;
import org.openqa.selenium.internal.Locatable;


import com.vaadin.tests.tb3.MultiBrowserTest; import com.vaadin.tests.tb3.MultiBrowserTest;


Expand All @@ -29,8 +27,7 @@ public void testTooltipInNestedLayout() throws Exception {
assertEquals("inner layout", caption.getText()); assertEquals("inner layout", caption.getText());


// Hover over the caption // Hover over the caption
Coordinates coords = ((Locatable) caption).getCoordinates(); new Actions(getDriver()).moveToElement(caption).perform();
((HasInputDevices) getDriver()).getMouse().mouseMove(coords);
sleep(1000); sleep(1000);


String selector = "Root/VNotification[0]"; String selector = "Root/VNotification[0]";
Expand Down
Expand Up @@ -9,10 +9,6 @@
import org.junit.Test; import org.junit.Test;
import org.openqa.selenium.By; import org.openqa.selenium.By;
import org.openqa.selenium.WebElement; import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.HasInputDevices;
import org.openqa.selenium.interactions.Mouse;
import org.openqa.selenium.interactions.internal.Coordinates;
import org.openqa.selenium.internal.Locatable;


import com.vaadin.tests.tb3.MultiBrowserTest; import com.vaadin.tests.tb3.MultiBrowserTest;


Expand All @@ -34,13 +30,13 @@ public void checkTooltips() throws IOException {


private void assertTabHasTooltipAndError(int index, String tooltip, private void assertTabHasTooltipAndError(int index, String tooltip,
String errorMessage) { String errorMessage) {
showTooltip(index); testBenchElement(getTab(index)).showTooltip();
assertTooltip(tooltip); assertTooltip(tooltip);
assertErrorMessage(errorMessage); assertErrorMessage(errorMessage);
} }


private void assertTabHasNoTooltipNorError(int index) { private void assertTabHasNoTooltipNorError(int index) {
showTooltip(index); testBenchElement(getTab(index)).showTooltip();
WebElement tooltip = getCurrentTooltip(); WebElement tooltip = getCurrentTooltip();


assertThat(tooltip.getText(), is("")); assertThat(tooltip.getText(), is(""));
Expand All @@ -50,13 +46,6 @@ private void assertTabHasNoTooltipNorError(int index) {


} }


private void showTooltip(int index) {
Coordinates elementCoordinates = ((Locatable) getTab(index))
.getCoordinates();
Mouse mouse = ((HasInputDevices) getDriver()).getMouse();
mouse.mouseMove(elementCoordinates);
}

private WebElement getTab(int index) { private WebElement getTab(int index) {
return vaadinElement( return vaadinElement(
"/VTabsheet[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[" "/VTabsheet[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild["
Expand Down
Expand Up @@ -7,10 +7,7 @@
import org.openqa.selenium.By; import org.openqa.selenium.By;
import org.openqa.selenium.Point; import org.openqa.selenium.Point;
import org.openqa.selenium.WebElement; import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.HasInputDevices; import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.interactions.Mouse;
import org.openqa.selenium.interactions.internal.Coordinates;
import org.openqa.selenium.internal.Locatable;


import com.vaadin.tests.tb3.MultiBrowserTest; import com.vaadin.tests.tb3.MultiBrowserTest;


Expand All @@ -26,12 +23,10 @@ public void dragBackgroundWindow()
WebElement wnd1Footer = wnd WebElement wnd1Footer = wnd
.findElement(By.className("v-window-footer")); .findElement(By.className("v-window-footer"));
Point startLoc = wnd.getLocation(); Point startLoc = wnd.getLocation();
Coordinates footerCoordinates = ((Locatable) wnd1Footer)
.getCoordinates(); new Actions(getDriver()).moveToElement(wnd1Footer).clickAndHold()
Mouse mouse = ((HasInputDevices) getDriver()).getMouse(); .moveByOffset(200, 200).release().perform();
mouse.mouseDown(footerCoordinates);
mouse.mouseMove(footerCoordinates, 200, 200);
mouse.mouseUp(footerCoordinates);
Point endLoc = wnd.getLocation(); Point endLoc = wnd.getLocation();
// don't compare to specific coordinate, because in IE9 and IE11 // don't compare to specific coordinate, because in IE9 and IE11
// the window position is random. // the window position is random.
Expand Down
Expand Up @@ -34,14 +34,13 @@
import org.openqa.selenium.Dimension; import org.openqa.selenium.Dimension;
import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.NoSuchElementException; import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.Point;
import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement; import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.Actions; import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.interactions.HasInputDevices; import org.openqa.selenium.interactions.HasInputDevices;
import org.openqa.selenium.interactions.Keyboard; import org.openqa.selenium.interactions.Keyboard;
import org.openqa.selenium.interactions.Mouse; import org.openqa.selenium.interactions.Mouse;
import org.openqa.selenium.interactions.internal.Coordinates;
import org.openqa.selenium.internal.Locatable;
import org.openqa.selenium.internal.WrapsElement; import org.openqa.selenium.internal.WrapsElement;
import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.HttpCommandExecutor; import org.openqa.selenium.remote.HttpCommandExecutor;
Expand Down Expand Up @@ -169,10 +168,6 @@ protected WebElement getTooltipElement() {
com.vaadin.testbench.By.className("v-tooltip-text")); com.vaadin.testbench.By.className("v-tooltip-text"));
} }


protected Coordinates getCoordinates(TestBenchElement element) {
return ((Locatable) element.getWrappedElement()).getCoordinates();
}

private boolean hasDebugMessage(String message) { private boolean hasDebugMessage(String message) {
return getDebugMessage(message) != null; return getDebugMessage(message) != null;
} }
Expand Down
Expand Up @@ -8,8 +8,7 @@
import java.util.List; import java.util.List;


import org.junit.Test; import org.junit.Test;
import org.openqa.selenium.interactions.Mouse; import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.interactions.internal.Coordinates;
import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.DesiredCapabilities;


import com.vaadin.testbench.elements.ButtonElement; import com.vaadin.testbench.elements.ButtonElement;
Expand All @@ -31,24 +30,20 @@ public List<DesiredCapabilities> getBrowsersToTest() {
@Test @Test
public void tooltipsHaveQuickOpenDelay() throws InterruptedException { public void tooltipsHaveQuickOpenDelay() throws InterruptedException {
openTestURL(); openTestURL();
Coordinates button0Coordinates = getButtonCoordinates("Button 0");
Coordinates button1Coordinates = getButtonCoordinates("Button 1");


Mouse mouse = getMouse(); new Actions(getDriver()).moveToElement(getButton("Button 0")).perform();
mouse.mouseMove(button0Coordinates, 10, 10);
sleep(1000); sleep(1000);
assertThat(getTooltipElement().getLocation().x, is(greaterThan(0))); assertThat(getTooltipElement().getLocation().getX(),
is(greaterThan(0)));


mouse.mouseMove(button1Coordinates, 10, 10); ButtonElement button1 = getButton("Button 1");
assertThat(getTooltipElement().getLocation().x, is(lessThan(-1000))); new Actions(getDriver()).moveToElement(button1).perform();
assertThat(getTooltipElement().getLocation().getX(),
is(lessThan(-1000)));


sleep(1000); sleep(1000);
assertThat(getTooltipElement().getLocation().x, assertThat(getTooltipElement().getLocation().getX(),
is(greaterThan(button1Coordinates.onPage().x))); is(greaterThan(button1.getLocation().getX())));
}

private Coordinates getButtonCoordinates(String caption) {
return getCoordinates(getButton(caption));
} }


private ButtonElement getButton(String caption) { private ButtonElement getButton(String caption) {
Expand Down

0 comments on commit 74aefa7

Please sign in to comment.