"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36");
expectedUserAgent
.put(Browser.PHANTOMJS.getDesiredCapabilities(),
- "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.34 (KHTML, like Gecko) PhantomJS/1.9.7 Safari/534.34");
+ "Mozilla/5.0 (Unknown; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) PhantomJS/1.9.7 Safari/534.34");
}
*/
package com.vaadin.tests.components.combobox;
-import java.util.List;
-
-import org.junit.Assert;
-import org.junit.Before;
+import com.vaadin.testbench.By;
+import com.vaadin.testbench.elements.ComboBoxElement;
+import com.vaadin.tests.tb3.MultiBrowserTest;
import org.junit.Test;
import org.openqa.selenium.Keys;
+import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
+import org.openqa.selenium.support.ui.ExpectedCondition;
-import com.vaadin.testbench.By;
-import com.vaadin.tests.tb3.MultiBrowserTest;
+import java.util.List;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.is;
/**
* When pressed down key, while positioned on the last item - should show next
*/
public class ComboBoxScrollingWithArrowsTest extends MultiBrowserTest {
- @Before
- public void openURL() {
+ private final int PAGESIZE = 10;
+
+ @Override
+ public void setup() throws Exception {
+ super.setup();
+
openTestURL();
+ openPopup();
}
- @Test
- public void scrollDownArrowKeyTest() throws InterruptedException {
- final int ITEMS_PER_PAGE = 10;
+ private WebElement getDropDown() {
// Selenium is used instead of TestBench4, because there is no method to
// access the popup of the combobox
// The method ComboBoxElement.openPopup() opens the popup, but doesn't
// provide any way to access the popup and send keys to it.
// Ticket #13756
- WebElement dropDownComboBox = driver.findElement(By
+
+ return driver.findElement(By
.className("v-filterselect-input"));
- // opens Lookup
- dropDownComboBox.sendKeys(Keys.DOWN);
+ }
+
+ private void openPopup() {
+ ComboBoxElement cb = $(ComboBoxElement.class).first();
+ cb.openPopup();
+ }
+
+ @Test
+ public void scrollDownArrowKeyTest() throws InterruptedException {
+ WebElement dropDownComboBox = getDropDown();
+
// go to the last item and then one more
- for (int i = 0; i < ITEMS_PER_PAGE + 1; i++) {
+ for (int i = 0; i < PAGESIZE + 1; i++) {
dropDownComboBox.sendKeys(Keys.DOWN);
}
- String expected = "item " + ITEMS_PER_PAGE;// item 10
+ assertThat(getSelectedItemText(), is("item " + PAGESIZE)); //item 10
+ }
+
+ private String getSelectedItemText() {
List<WebElement> items = driver.findElements(By
.className("gwt-MenuItem-selected"));
- String actual = items.get(0).getText();
- Assert.assertEquals(expected, actual);
+ return items.get(0).getText();
}
@Test
public void scrollUpArrowKeyTest() throws InterruptedException {
- final int ITEMS_PER_PAGE = 10;
- WebElement dropDownComboBox = driver.findElement(By
- .className("v-filterselect-input"));
- // opens Lookup
- dropDownComboBox.sendKeys(Keys.DOWN);
+ WebElement dropDownComboBox = getDropDown();
+
// go to the last item and then one more
- for (int i = 0; i < ITEMS_PER_PAGE + 1; i++) {
+ for (int i = 0; i < PAGESIZE + 1; i++) {
dropDownComboBox.sendKeys(Keys.DOWN);
}
+
// move to one item up
+ waitUntilNextPageIsVisible();
dropDownComboBox.sendKeys(Keys.UP);
- String expected = "item " + (ITEMS_PER_PAGE - 1);// item 9
- List<WebElement> items = driver.findElements(By
- .className("gwt-MenuItem-selected"));
- String actual = items.get(0).getText();
- Assert.assertEquals(expected, actual);
+
+ assertThat(getSelectedItemText(), is("item " + (PAGESIZE - 1))); //item 9
+ }
+
+ private void waitUntilNextPageIsVisible() {
+ waitUntil(new ExpectedCondition<Boolean>() {
+ @Override
+ public Boolean apply(WebDriver input) {
+ return getSelectedItemText().equals("item " + PAGESIZE);
+ }
+ }, 5);
}
}
assertEquals("New value", element.getAttribute("value"));
if (BrowserUtil.isPhantomJS(getDesiredCapabilities())) {
new Actions(getDriver()).sendKeys(Keys.ENTER).perform();
+ Thread.sleep(500);
} else {
element.sendKeys(Keys.RETURN);
}
+
assertEquals("", element.getAttribute("value"));
}
}
*/
package com.vaadin.tests.components.gridlayout;
-import static org.junit.Assert.assertEquals;
-
-import java.util.List;
-
+import com.vaadin.testbench.elements.ButtonElement;
+import com.vaadin.testbench.elements.GridLayoutElement;
+import com.vaadin.tests.tb3.MultiBrowserTest;
import org.junit.Test;
import org.openqa.selenium.By;
+import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
+import org.openqa.selenium.support.ui.ExpectedCondition;
-import com.vaadin.testbench.elements.ButtonElement;
-import com.vaadin.testbench.elements.GridLayoutElement;
-import com.vaadin.tests.tb3.MultiBrowserTest;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
public class GridLayoutExpandRatioTest extends MultiBrowserTest {
@Test
- public void gridLayoutExpandRatioTest() {
+ public void cellSizesAreCorrectlyCalculated() {
openTestURL();
- GridLayoutElement gridLayout5x5 = $(GridLayoutElement.class).get(0);
- GridLayoutElement gridLayout4x4 = $(GridLayoutElement.class).get(1);
- ButtonElement hidingButton = $(ButtonElement.class).get(0);
- hidingButton.click();
- List<WebElement> slots5x5 = gridLayout5x5.findElements(By
- .className("v-gridlayout-slot"));
- List<WebElement> slots4x4 = gridLayout4x4.findElements(By
- .className("v-gridlayout-slot"));
- assertEquals("Different amount of slots", slots5x5.size(),
- slots4x4.size());
+
+ hideMiddleRowAndColumn();
+ final List<WebElement> slots4x4 = getSlots(1);
+
+ waitUntilColumnAndRowAreHidden(slots4x4);
+ final List<WebElement> slots5x5 = getSlots(0);
+
for (int i = 0; i < slots5x5.size(); i++) {
WebElement compared = slots5x5.get(i);
WebElement actual = slots4x4.get(i);
compared.getCssValue("left"), actual.getCssValue("left"));
}
}
+
+ private void waitUntilColumnAndRowAreHidden(final List<WebElement> slots4x4) {
+ waitUntil(new ExpectedCondition<Boolean>() {
+ @Override
+ public Boolean apply(WebDriver input) {
+ return getSlots(0).size() == slots4x4.size();
+ }
+ }, 5);
+ }
+
+ private List<WebElement> getSlots(int index) {
+ GridLayoutElement layout = $(GridLayoutElement.class).get(index);
+
+ return layout.findElements(By.className("v-gridlayout-slot"));
+ }
+
+ private void hideMiddleRowAndColumn() {
+ $(ButtonElement.class).first().click();
+ }
}
*/
package com.vaadin.tests.components.gridlayout;
-import static org.junit.Assert.assertEquals;
-
-import java.util.List;
-
-import org.junit.Test;
-import org.openqa.selenium.By;
-import org.openqa.selenium.WebElement;
-
-import com.vaadin.testbench.elements.ButtonElement;
-import com.vaadin.testbench.elements.GridLayoutElement;
-import com.vaadin.tests.tb3.MultiBrowserTest;
-
-public class GridLayoutHideMiddleCellsTest extends MultiBrowserTest {
- @Test
- public void gridLayoutInvisibleElementsTest() {
- openTestURL();
- GridLayoutElement gridLayout5x5 = $(GridLayoutElement.class).get(0);
- GridLayoutElement gridLayout4x4 = $(GridLayoutElement.class).get(1);
- ButtonElement hidingButton = $(ButtonElement.class).get(0);
- hidingButton.click();
- List<WebElement> slots5x5 = gridLayout5x5.findElements(By
- .className("v-gridlayout-slot"));
- List<WebElement> slots4x4 = gridLayout4x4.findElements(By
- .className("v-gridlayout-slot"));
- assertEquals("Different amount of slots", slots5x5.size(),
- slots4x4.size());
-
- for (int i = 0; i < slots5x5.size(); i++) {
- assertEquals("Different left coordinate for element " + i, slots5x5
- .get(i).getCssValue("left"),
- slots4x4.get(i).getCssValue("left"));
- }
- for (int i = 0; i < slots5x5.size(); i++) {
- assertEquals("Different top coordinate for element " + i, slots5x5
- .get(i).getCssValue("top"),
- slots4x4.get(i).getCssValue("top"));
- }
- }
-
+public class GridLayoutHideMiddleCellsTest extends GridLayoutExpandRatioTest {
}
*/
public static DesiredCapabilities phantomJS(int version) {
DesiredCapabilities c = DesiredCapabilities.phantomjs();
- c.setPlatform(Platform.XP);
+ c.setPlatform(Platform.LINUX);
c.setVersion("" + version);
return c;
}