Browse Source

Upgrade TestBench version to 5.2 (#11005)

tags/8.5.0.beta1
Teemu Suo-Anttila 5 years ago
parent
commit
74aefa7998
No account linked to committer's email address

+ 1
- 1
bom/pom.xml View File

@@ -18,7 +18,7 @@

<properties>
<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.context-menu.version>2.0.0</vaadin.context-menu.version>
</properties>

+ 1
- 1
pom.xml View File

@@ -60,7 +60,7 @@
<sonar.issuesReport.html.enable>true</sonar.issuesReport.html.enable>

<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>

<pluginRepositories>

+ 9
- 11
uitest/src/test/java/com/vaadin/tests/components/menubar/MenuBarSubmenusClosingValoTest.java View File

@@ -1,5 +1,6 @@
package com.vaadin.tests.components.menubar;

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

import java.util.List;
@@ -7,9 +8,7 @@ import java.util.List;
import org.junit.Test;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.HasInputDevices;
import org.openqa.selenium.interactions.Mouse;
import org.openqa.selenium.internal.Locatable;
import org.openqa.selenium.interactions.Actions;

import com.vaadin.testbench.By;
import com.vaadin.testbench.elements.MenuBarElement;
@@ -36,23 +35,22 @@ public class MenuBarSubmenusClosingValoTest extends MultiBrowserTest {
}

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

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

List<WebElement> menuItemList = driver
.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"));

mouse.mouseMove(((Locatable) menuItemList.get(1)).getCoordinates());
mouse.mouseMove(((Locatable) menuItemList.get(2)).getCoordinates());

new Actions(getDriver()).moveToElement(menuItemList.get(1)).perform();
new Actions(getDriver()).moveToElement(menuItemList.get(2)).perform();
waitForElementPresent(By.className("v-menubar-popup"));

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);
}
}

+ 17
- 11
uitest/src/test/java/com/vaadin/tests/components/menubar/MenuBarTooltipsNearEdgeTest.java View File

@@ -3,13 +3,11 @@ package com.vaadin.tests.components.menubar;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.lessThan;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;

import org.junit.Test;
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 org.openqa.selenium.interactions.Actions;

import com.vaadin.testbench.elements.MenuBarElement;
import com.vaadin.tests.tb3.MultiBrowserTest;
@@ -24,13 +22,21 @@ public class MenuBarTooltipsNearEdgeTest extends MultiBrowserTest {
@Test
public void testTooltipLocation() {
openTestURL();
Mouse mouse = ((HasInputDevices) getDriver()).getMouse();
WebElement menu = $(MenuBarElement.class).first().getWrappedElement();
Coordinates menuLocation = ((Locatable) menu).getCoordinates();
mouse.click(menuLocation);
mouse.mouseMove(menuLocation, 5, -40);
final MenuBarElement menuBar = $(MenuBarElement.class).first();
new Actions(getDriver()).moveToElement(menuBar).click()
.moveByOffset(0, -40).perform();
WebElement tooltip = getTooltipElement();
assertThat(tooltip.getLocation().x, is(lessThan(
menuLocation.onPage().x - tooltip.getSize().getWidth())));
assertTrue("Tooltip outside of the screen.",
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())));
}
}

+ 9
- 14
uitest/src/test/java/com/vaadin/tests/components/menubar/MenuTooltipTest.java View File

@@ -8,9 +8,7 @@ import static org.junit.Assert.assertThat;
import java.util.List;

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

import com.vaadin.testbench.elements.MenuBarElement;
@@ -32,24 +30,21 @@ public class MenuTooltipTest extends MultiBrowserTest {
public void testToolTipDelay() throws InterruptedException {
openTestURL();

Coordinates elementCoordinates = getCoordinates(
$(MenuBarElement.class).first());
sleep(1000);

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

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

sleep(1000);
final MenuBarElement menuBar = $(MenuBarElement.class).first();
// Open menu bar and move on top of the first menu item
new Actions(getDriver()).moveToElement(menuBar).click()
.moveByOffset(0, menuBar.getSize().getHeight()).perform();

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

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

// Make sure it's the correct tooltip
assertThat(getTooltipElement().getLocation().getX(),
is(greaterThan(elementCoordinates.onPage().getX())));
is(greaterThan(menuBar.getLocation().getX())));
assertThat(getTooltipElement().getText(), is("TOOLTIP 1"));
}
}

+ 2
- 13
uitest/src/test/java/com/vaadin/tests/components/orderedlayout/ErrorIndicatorTest.java View File

@@ -4,11 +4,6 @@ import static org.junit.Assert.assertEquals;

import org.junit.Test;
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.tests.tb3.MultiBrowserTest;
@@ -20,18 +15,12 @@ public class ErrorIndicatorTest extends MultiBrowserTest {
String tooltipText;
openTestURL();

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

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

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

+ 2
- 5
uitest/src/test/java/com/vaadin/tests/components/orderedlayout/NestedLayoutCaptionHoverTest.java View File

@@ -8,9 +8,7 @@ import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.HasInputDevices;
import org.openqa.selenium.interactions.internal.Coordinates;
import org.openqa.selenium.internal.Locatable;
import org.openqa.selenium.interactions.Actions;

import com.vaadin.tests.tb3.MultiBrowserTest;

@@ -29,8 +27,7 @@ public class NestedLayoutCaptionHoverTest extends MultiBrowserTest {
assertEquals("inner layout", caption.getText());

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

String selector = "Root/VNotification[0]";

+ 2
- 13
uitest/src/test/java/com/vaadin/tests/components/tabsheet/TabSheetErrorTooltipTest.java View File

@@ -9,10 +9,6 @@ import java.io.IOException;
import org.junit.Test;
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.tests.tb3.MultiBrowserTest;

@@ -34,13 +30,13 @@ public class TabSheetErrorTooltipTest extends MultiBrowserTest {

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

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

assertThat(tooltip.getText(), is(""));
@@ -50,13 +46,6 @@ public class TabSheetErrorTooltipTest extends MultiBrowserTest {

}

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

private WebElement getTab(int index) {
return vaadinElement(
"/VTabsheet[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild["

+ 5
- 10
uitest/src/test/java/com/vaadin/tests/components/window/WindowShadowTest.java View File

@@ -7,10 +7,7 @@ import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.Point;
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 org.openqa.selenium.interactions.Actions;

import com.vaadin.tests.tb3.MultiBrowserTest;

@@ -26,12 +23,10 @@ public class WindowShadowTest extends MultiBrowserTest {
WebElement wnd1Footer = wnd
.findElement(By.className("v-window-footer"));
Point startLoc = wnd.getLocation();
Coordinates footerCoordinates = ((Locatable) wnd1Footer)
.getCoordinates();
Mouse mouse = ((HasInputDevices) getDriver()).getMouse();
mouse.mouseDown(footerCoordinates);
mouse.mouseMove(footerCoordinates, 200, 200);
mouse.mouseUp(footerCoordinates);

new Actions(getDriver()).moveToElement(wnd1Footer).clickAndHold()
.moveByOffset(200, 200).release().perform();

Point endLoc = wnd.getLocation();
// don't compare to specific coordinate, because in IE9 and IE11
// the window position is random.

+ 1
- 6
uitest/src/test/java/com/vaadin/tests/tb3/AbstractTB3Test.java View File

@@ -34,14 +34,13 @@ import org.openqa.selenium.By;
import org.openqa.selenium.Dimension;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.Point;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.interactions.HasInputDevices;
import org.openqa.selenium.interactions.Keyboard;
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.remote.DesiredCapabilities;
import org.openqa.selenium.remote.HttpCommandExecutor;
@@ -169,10 +168,6 @@ public abstract class AbstractTB3Test extends ParallelTest {
com.vaadin.testbench.By.className("v-tooltip-text"));
}

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

private boolean hasDebugMessage(String message) {
return getDebugMessage(message) != null;
}

+ 10
- 15
uitest/src/test/java/com/vaadin/tests/tooltip/AdjacentElementsWithTooltipsTest.java View File

@@ -8,8 +8,7 @@ import static org.junit.Assert.assertThat;
import java.util.List;

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

import com.vaadin.testbench.elements.ButtonElement;
@@ -31,24 +30,20 @@ public class AdjacentElementsWithTooltipsTest extends MultiBrowserTest {
@Test
public void tooltipsHaveQuickOpenDelay() throws InterruptedException {
openTestURL();
Coordinates button0Coordinates = getButtonCoordinates("Button 0");
Coordinates button1Coordinates = getButtonCoordinates("Button 1");

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

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

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

private Coordinates getButtonCoordinates(String caption) {
return getCoordinates(getButton(caption));
assertThat(getTooltipElement().getLocation().getX(),
is(greaterThan(button1.getLocation().getX())));
}

private ButtonElement getButton(String caption) {

+ 13
- 33
uitest/src/test/java/com/vaadin/tests/tooltip/StationaryTooltipTest.java View File

@@ -7,9 +7,7 @@ import static org.junit.Assert.assertThat;
import java.util.List;

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

import com.vaadin.testbench.elements.ButtonElement;
@@ -25,48 +23,30 @@ public class StationaryTooltipTest extends MultiBrowserTest {
@Test
public void tooltipShouldBeStationary() throws InterruptedException {
openTestURL();
ButtonElement button = getButtonElement();

Mouse mouse = getMouse();

moveMouseToButtonUpperLeftCorner(mouse);
// Top left corner
new Actions(getDriver()).moveToElement(button, 2, 2).perform();
sleep(3000); // wait for the tooltip to become visible

int originalTooltipLocationX = getTooltipLocationX();
assertThat("Tooltip not displayed", originalTooltipLocationX,
is(greaterThan(0)));

moveMouseToButtonBottomRightCorner(mouse);
// Bottom right corner
new Actions(getDriver()).moveToElement(button,
button.getSize().width - 2, button.getSize().height - 2)
.perform();
int actualTooltipLocationX = getTooltipLocationX();

assertThat(actualTooltipLocationX, is(greaterThan(0)));
assertThat(actualTooltipLocationX, is(originalTooltipLocationX));
}

private Coordinates getButtonCoordinates() {
return getCoordinates(getButtonElement());
assertThat("Tooltip should not move", actualTooltipLocationX,
is(originalTooltipLocationX));
}

private ButtonElement getButtonElement() {
return $(ButtonElement.class).first();
}

private void moveMouseToButtonBottomRightCorner(Mouse mouse) {
Coordinates buttonCoordinates = getButtonCoordinates();
Dimension buttonDimensions = getButtonDimensions();

mouse.mouseMove(buttonCoordinates, buttonDimensions.getWidth() - 1,
buttonDimensions.getHeight() - 1);
}

private void moveMouseToButtonUpperLeftCorner(Mouse mouse) {
Coordinates buttonCoordinates = getButtonCoordinates();

mouse.mouseMove(buttonCoordinates, 0, 0);
}

private org.openqa.selenium.Dimension getButtonDimensions() {
ButtonElement buttonElement = getButtonElement();

return buttonElement.getWrappedElement().getSize();
}

private int getTooltipLocationX() {
return getTooltipElement().getLocation().getX();
}

Loading…
Cancel
Save