import static org.hamcrest.CoreMatchers.not; | import static org.hamcrest.CoreMatchers.not; | ||||
import static org.junit.Assert.assertThat; | import static org.junit.Assert.assertThat; | ||||
import java.util.List; | |||||
import org.junit.Before; | import org.junit.Before; | ||||
import org.junit.Test; | import org.junit.Test; | ||||
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.remote.DesiredCapabilities; | |||||
import com.vaadin.testbench.By; | import com.vaadin.testbench.By; | ||||
import com.vaadin.testbench.elements.TableElement; | import com.vaadin.testbench.elements.TableElement; | ||||
} | } | ||||
} | } | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
return getBrowsersSupportingContextMenu(); | |||||
} | |||||
@Test | @Test | ||||
public void shortcutActionOnDetachedComponentShouldNotBeHandled() | public void shortcutActionOnDetachedComponentShouldNotBeHandled() | ||||
throws InterruptedException { | throws InterruptedException { |
import static org.junit.Assert.assertEquals; | import static org.junit.Assert.assertEquals; | ||||
import java.util.List; | |||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.openqa.selenium.interactions.Actions; | import org.openqa.selenium.interactions.Actions; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import com.vaadin.testbench.parallel.Browser; | |||||
import com.vaadin.tests.tb3.MultiBrowserTest; | import com.vaadin.tests.tb3.MultiBrowserTest; | ||||
public class ActionsOnInvisibleComponentsTest extends MultiBrowserTest { | public class ActionsOnInvisibleComponentsTest extends MultiBrowserTest { | ||||
private static final String LAST_INIT_LOG = "3. 'C' triggers a click on a visible and enabled button"; | private static final String LAST_INIT_LOG = "3. 'C' triggers a click on a visible and enabled button"; | ||||
// This method should be removed once #12785 is fixed | |||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
return getBrowserCapabilities(Browser.IE11, Browser.PHANTOMJS); | |||||
} | |||||
@Test | @Test | ||||
public void testShortcutsOnInvisibleDisabledButtons() { | public void testShortcutsOnInvisibleDisabledButtons() { | ||||
openTestURL(); | openTestURL(); | ||||
assertEquals(LAST_INIT_LOG, getLogRow(0)); | assertEquals(LAST_INIT_LOG, getLogRow(0)); | ||||
invokeShortcut("A"); | |||||
invokeShortcut("a"); | |||||
assertEquals(LAST_INIT_LOG, getLogRow(0)); | assertEquals(LAST_INIT_LOG, getLogRow(0)); | ||||
invokeShortcut("B"); | |||||
invokeShortcut("b"); | |||||
assertEquals(LAST_INIT_LOG, getLogRow(0)); | assertEquals(LAST_INIT_LOG, getLogRow(0)); | ||||
invokeShortcut("C"); | |||||
invokeShortcut("c"); | |||||
assertEquals("4. Click event for enabled button", getLogRow(0)); | assertEquals("4. Click event for enabled button", getLogRow(0)); | ||||
} | } | ||||
import static org.junit.Assert.assertEquals; | import static org.junit.Assert.assertEquals; | ||||
import static org.junit.Assert.assertTrue; | import static org.junit.Assert.assertTrue; | ||||
import java.util.List; | |||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.openqa.selenium.interactions.Actions; | import org.openqa.selenium.interactions.Actions; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import com.vaadin.testbench.elements.ButtonElement; | import com.vaadin.testbench.elements.ButtonElement; | ||||
import com.vaadin.testbench.elements.UIElement; | import com.vaadin.testbench.elements.UIElement; | ||||
public class ContextClickUITest extends MultiBrowserTest { | public class ContextClickUITest extends MultiBrowserTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
return getBrowsersSupportingContextMenu(); | |||||
} | |||||
@Test | @Test | ||||
public void testContextClick() { | public void testContextClick() { | ||||
openTestURL(); | openTestURL(); |
import static org.junit.Assert.assertEquals; | import static org.junit.Assert.assertEquals; | ||||
import java.util.List; | |||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.openqa.selenium.WebElement; | import org.openqa.selenium.WebElement; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import com.vaadin.testbench.By; | import com.vaadin.testbench.By; | ||||
import com.vaadin.testbench.elements.CheckBoxElement; | import com.vaadin.testbench.elements.CheckBoxElement; | ||||
public class CheckboxContextClickTest extends MultiBrowserTest { | public class CheckboxContextClickTest extends MultiBrowserTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
return getBrowsersSupportingContextMenu(); | |||||
} | |||||
@Test | @Test | ||||
public void contextClickCheckboxAndText() { | public void contextClickCheckboxAndText() { | ||||
openTestURL(); | openTestURL(); |
import static org.junit.Assert.assertTrue; | import static org.junit.Assert.assertTrue; | ||||
import java.util.List; | |||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import com.vaadin.testbench.elements.GridElement; | import com.vaadin.testbench.elements.GridElement; | ||||
import com.vaadin.testbench.elements.GridElement.GridCellElement; | import com.vaadin.testbench.elements.GridElement.GridCellElement; | ||||
public class GridColumnAutoExpandTest extends MultiBrowserTest { | public class GridColumnAutoExpandTest extends MultiBrowserTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
// The functionality doesn't work for PHJS_1. And the test fails. It | |||||
// works for PHJS_2. | |||||
return getBrowsersExcludingPhantomJS(); | |||||
} | |||||
@Test | @Test | ||||
public void testSecondColumnHasExpanded() { | public void testSecondColumnHasExpanded() { | ||||
openTestURL(); | openTestURL(); |
import static org.hamcrest.MatcherAssert.assertThat; | import static org.hamcrest.MatcherAssert.assertThat; | ||||
import static org.hamcrest.number.IsCloseTo.closeTo; | import static org.hamcrest.number.IsCloseTo.closeTo; | ||||
import java.util.List; | |||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.openqa.selenium.By; | import org.openqa.selenium.By; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import com.vaadin.testbench.elements.GridElement; | import com.vaadin.testbench.elements.GridElement; | ||||
import com.vaadin.testbench.elements.LabelElement; | import com.vaadin.testbench.elements.LabelElement; | ||||
import com.vaadin.testbench.parallel.Browser; | |||||
import com.vaadin.testbench.parallel.TestCategory; | import com.vaadin.testbench.parallel.TestCategory; | ||||
import com.vaadin.tests.tb3.MultiBrowserTest; | import com.vaadin.tests.tb3.MultiBrowserTest; | ||||
@TestCategory("grid") | @TestCategory("grid") | ||||
public class GridDetailsLayoutExpandTest extends MultiBrowserTest { | public class GridDetailsLayoutExpandTest extends MultiBrowserTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
List<DesiredCapabilities> browsersToTest = super.getBrowsersToTest(); | |||||
// for some reason PhantomJS doesn't find the label even if it detects | |||||
// the presence | |||||
browsersToTest.remove(Browser.PHANTOMJS.getDesiredCapabilities()); | |||||
return browsersToTest; | |||||
} | |||||
@Test | @Test | ||||
public void testLabelWidths() { | public void testLabelWidths() { | ||||
openTestURL(); | openTestURL(); |
import com.vaadin.testbench.elements.ButtonElement; | import com.vaadin.testbench.elements.ButtonElement; | ||||
import com.vaadin.testbench.elements.GridElement; | import com.vaadin.testbench.elements.GridElement; | ||||
import com.vaadin.testbench.elements.LabelElement; | import com.vaadin.testbench.elements.LabelElement; | ||||
import com.vaadin.testbench.parallel.Browser; | |||||
import com.vaadin.testbench.parallel.TestCategory; | import com.vaadin.testbench.parallel.TestCategory; | ||||
import com.vaadin.tests.tb3.MultiBrowserTest; | import com.vaadin.tests.tb3.MultiBrowserTest; | ||||
@Test | @Test | ||||
public void testMultipleDetailsRows() { | public void testMultipleDetailsRows() { | ||||
if (Browser.PHANTOMJS.name() | |||||
.equalsIgnoreCase(getDesiredCapabilities().getBrowserName())) { | |||||
// For some inexplicable reason PhantomJS fails to click that | |||||
// button, even if similar button clicks work just fine in other | |||||
// tests. Didn't disable PhantomJS altogether so that the other test | |||||
// at least could work in the initial pre-merge regression check. | |||||
return; | |||||
} | |||||
setDebug(true); | setDebug(true); | ||||
openTestURL(); | openTestURL(); | ||||
waitForElementPresent(By.className("v-grid")); | waitForElementPresent(By.className("v-grid")); |
import static org.junit.Assert.assertEquals; | import static org.junit.Assert.assertEquals; | ||||
import java.util.List; | |||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import com.vaadin.testbench.elements.ButtonElement; | import com.vaadin.testbench.elements.ButtonElement; | ||||
import com.vaadin.testbench.elements.GridElement; | import com.vaadin.testbench.elements.GridElement; | ||||
public class GridMultiSelectEmptyTest extends MultiBrowserTest { | public class GridMultiSelectEmptyTest extends MultiBrowserTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
// On PhantomJS the result is more correct before recalculation. | |||||
return getBrowsersExcludingPhantomJS(); | |||||
} | |||||
@Test | @Test | ||||
public void testCheckBoxColumnCorrectSize() { | public void testCheckBoxColumnCorrectSize() { | ||||
openTestURL(); | openTestURL(); |
import static org.junit.Assert.assertEquals; | import static org.junit.Assert.assertEquals; | ||||
import java.util.List; | |||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.openqa.selenium.By; | import org.openqa.selenium.By; | ||||
import org.openqa.selenium.Dimension; | import org.openqa.selenium.Dimension; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import com.vaadin.testbench.elements.GridElement; | import com.vaadin.testbench.elements.GridElement; | ||||
import com.vaadin.testbench.elements.PopupViewElement; | import com.vaadin.testbench.elements.PopupViewElement; | ||||
import com.vaadin.testbench.parallel.Browser; | |||||
import com.vaadin.tests.tb3.MultiBrowserTest; | import com.vaadin.tests.tb3.MultiBrowserTest; | ||||
public class GridPopupViewTest extends MultiBrowserTest { | public class GridPopupViewTest extends MultiBrowserTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
List<DesiredCapabilities> l = getBrowserCapabilities(Browser.IE11, | |||||
Browser.FIREFOX, Browser.CHROME); | |||||
l.add(PHANTOMJS2()); | |||||
return l; | |||||
} | |||||
@Test | @Test | ||||
public void gridSizeCorrect() { | public void gridSizeCorrect() { | ||||
openTestURL(); | openTestURL(); |
@Override | @Override | ||||
public List<DesiredCapabilities> getBrowsersToTest() { | public List<DesiredCapabilities> getBrowsersToTest() { | ||||
// Most tests are run with only one browser. | // Most tests are run with only one browser. | ||||
return getBrowserCapabilities(Browser.PHANTOMJS); | |||||
return getBrowserCapabilities(Browser.CHROME); | |||||
} | } | ||||
@Override | @Override |
package com.vaadin.tests.components.orderedlayout; | package com.vaadin.tests.components.orderedlayout; | ||||
import java.util.List; | |||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.openqa.selenium.By; | import org.openqa.selenium.By; | ||||
import org.openqa.selenium.Keys; | import org.openqa.selenium.Keys; | ||||
import org.openqa.selenium.WebElement; | import org.openqa.selenium.WebElement; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import com.vaadin.testbench.elements.ButtonElement; | import com.vaadin.testbench.elements.ButtonElement; | ||||
import com.vaadin.testbench.parallel.Browser; | |||||
import com.vaadin.tests.tb3.MultiBrowserTest; | import com.vaadin.tests.tb3.MultiBrowserTest; | ||||
public class OrderedLayoutInfiniteLayoutPassesTest extends MultiBrowserTest { | public class OrderedLayoutInfiniteLayoutPassesTest extends MultiBrowserTest { | ||||
return true; | return true; | ||||
} | } | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
List<DesiredCapabilities> b = super.getBrowsersToTest(); | |||||
// Chrome and PhantomJS do not support browser zoom changes | |||||
b.remove(Browser.CHROME.getDesiredCapabilities()); | |||||
b.remove(Browser.PHANTOMJS.getDesiredCapabilities()); | |||||
return b; | |||||
} | |||||
@Test | @Test | ||||
public void ensureFiniteLayoutPhase() throws Exception { | public void ensureFiniteLayoutPhase() throws Exception { | ||||
openTestURL("debug"); | openTestURL("debug"); |
package com.vaadin.tests.components.richtextarea; | package com.vaadin.tests.components.richtextarea; | ||||
import java.util.List; | |||||
import static org.hamcrest.Matchers.containsString; | |||||
import static org.junit.Assert.assertThat; | |||||
import com.vaadin.testbench.elements.RichTextAreaElement; | |||||
import com.vaadin.tests.tb3.MultiBrowserTest; | |||||
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.remote.DesiredCapabilities; | |||||
import static org.hamcrest.Matchers.containsString; | |||||
import static org.junit.Assert.assertThat; | |||||
import com.vaadin.testbench.elements.RichTextAreaElement; | |||||
import com.vaadin.tests.tb3.MultiBrowserTest; | |||||
public class RichTextAreaDelegateToShortcutHandlerTest | public class RichTextAreaDelegateToShortcutHandlerTest | ||||
extends MultiBrowserTest { | extends MultiBrowserTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
return getBrowsersExcludingPhantomJS(); | |||||
} | |||||
@Test | @Test | ||||
public void shouldDelegateToShortcutActionHandler() { | public void shouldDelegateToShortcutActionHandler() { | ||||
openTestURL(); | openTestURL(); |
package com.vaadin.tests.components.richtextarea; | package com.vaadin.tests.components.richtextarea; | ||||
import com.vaadin.tests.tb3.MultiBrowserTest; | |||||
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.remote.DesiredCapabilities; | |||||
import java.util.List; | |||||
import com.vaadin.tests.tb3.MultiBrowserTest; | |||||
public class RichTextAreaReadOnlyDisabledTest extends MultiBrowserTest { | public class RichTextAreaReadOnlyDisabledTest extends MultiBrowserTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
return getBrowsersExcludingPhantomJS(); | |||||
} | |||||
@Test | @Test | ||||
public void shouldDelegateToShortcutActionHandler() { | public void shouldDelegateToShortcutActionHandler() { | ||||
openTestURL(); | openTestURL(); |
import static org.hamcrest.MatcherAssert.assertThat; | import static org.hamcrest.MatcherAssert.assertThat; | ||||
import static org.hamcrest.Matchers.lessThan; | import static org.hamcrest.Matchers.lessThan; | ||||
import java.util.List; | |||||
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.Actions; | import org.openqa.selenium.interactions.Actions; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import com.vaadin.tests.tb3.MultiBrowserTest; | import com.vaadin.tests.tb3.MultiBrowserTest; | ||||
*/ | */ | ||||
public class ContextMenuSizeTest extends MultiBrowserTest { | public class ContextMenuSizeTest extends MultiBrowserTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
return getBrowsersSupportingContextMenu(); | |||||
} | |||||
@Override | @Override | ||||
public void setup() throws Exception { | public void setup() throws Exception { | ||||
super.setup(); | super.setup(); |
package com.vaadin.tests.components.table; | package com.vaadin.tests.components.table; | ||||
import java.util.List; | |||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.openqa.selenium.interactions.Actions; | import org.openqa.selenium.interactions.Actions; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import com.vaadin.testbench.TestBenchElement; | import com.vaadin.testbench.TestBenchElement; | ||||
import com.vaadin.testbench.elements.TableElement; | import com.vaadin.testbench.elements.TableElement; | ||||
return com.vaadin.tests.components.table.Tables.class; | return com.vaadin.tests.components.table.Tables.class; | ||||
} | } | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
return getBrowsersSupportingContextMenu(); | |||||
} | |||||
@Test | @Test | ||||
public void tableContextMenuWithIcons() throws Exception { | public void tableContextMenuWithIcons() throws Exception { | ||||
openTestURL(); | openTestURL(); |
import static org.junit.Assert.assertFalse; | import static org.junit.Assert.assertFalse; | ||||
import static org.junit.Assert.assertTrue; | import static org.junit.Assert.assertTrue; | ||||
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.Actions; | import org.openqa.selenium.interactions.Actions; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import com.vaadin.testbench.By; | import com.vaadin.testbench.By; | ||||
import com.vaadin.tests.tb3.MultiBrowserTest; | import com.vaadin.tests.tb3.MultiBrowserTest; | ||||
public class TabSheetFocusedTabTest extends MultiBrowserTest { | public class TabSheetFocusedTabTest extends MultiBrowserTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
// PhantomJS doesn't send Focus / Blur events when clicking or | |||||
// navigating with keyboard | |||||
return getBrowsersExcludingPhantomJS(); | |||||
} | |||||
@Override | @Override | ||||
protected Class<?> getUIClass() { | protected Class<?> getUIClass() { | ||||
return TabsheetScrolling.class; | return TabsheetScrolling.class; |
import org.openqa.selenium.remote.DesiredCapabilities; | import org.openqa.selenium.remote.DesiredCapabilities; | ||||
import com.vaadin.testbench.By; | import com.vaadin.testbench.By; | ||||
import com.vaadin.testbench.parallel.Browser; | |||||
import com.vaadin.tests.tb3.MultiBrowserTest; | import com.vaadin.tests.tb3.MultiBrowserTest; | ||||
/** | /** | ||||
@Override | @Override | ||||
public List<DesiredCapabilities> getBrowsersToTest() { | public List<DesiredCapabilities> getBrowsersToTest() { | ||||
// Ignoring Chrome 40 because of a regression. See #16636. | |||||
return getBrowserCapabilities(Browser.IE11, Browser.FIREFOX, | |||||
Browser.PHANTOMJS); | |||||
// Regression. See #16636. | |||||
return getBrowsersExcludingChrome(); | |||||
} | } | ||||
@Test | @Test |
import static org.junit.Assert.assertEquals; | import static org.junit.Assert.assertEquals; | ||||
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.Actions; | import org.openqa.selenium.interactions.Actions; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import com.vaadin.testbench.elements.TextAreaElement; | import com.vaadin.testbench.elements.TextAreaElement; | ||||
import com.vaadin.testbench.parallel.Browser; | |||||
import com.vaadin.tests.tb3.MultiBrowserTest; | import com.vaadin.tests.tb3.MultiBrowserTest; | ||||
public class TextAreaEventPropagationModifierKeysTest extends MultiBrowserTest { | public class TextAreaEventPropagationModifierKeysTest extends MultiBrowserTest { | ||||
Actions builder = new Actions(driver); | Actions builder = new Actions(driver); | ||||
builder.click(textArea); | builder.click(textArea); | ||||
builder.sendKeys(textArea, "first line asdf"); | builder.sendKeys(textArea, "first line asdf"); | ||||
builder.keyDown(Keys.SHIFT); | |||||
builder.sendKeys(Keys.ENTER); | |||||
builder.keyUp(Keys.SHIFT); | |||||
builder.sendKeys(Keys.chord(Keys.SHIFT, Keys.ENTER)); | |||||
builder.sendKeys(textArea, "second line jkl;"); | builder.sendKeys(textArea, "second line jkl;"); | ||||
builder.perform(); | builder.perform(); | ||||
Actions builder = new Actions(driver); | Actions builder = new Actions(driver); | ||||
builder.click(textArea); | builder.click(textArea); | ||||
builder.sendKeys(textArea, "first line asdf"); | builder.sendKeys(textArea, "first line asdf"); | ||||
builder.keyDown(Keys.CONTROL); | |||||
builder.sendKeys(Keys.ENTER); | |||||
builder.keyUp(Keys.CONTROL); | |||||
builder.sendKeys(Keys.chord(Keys.CONTROL, Keys.ENTER)); | |||||
builder.sendKeys(textArea, "second line jkl;"); | builder.sendKeys(textArea, "second line jkl;"); | ||||
builder.perform(); | builder.perform(); | ||||
assertEquals("1. Ctrl-Enter button pressed", getLogRow(0)); | assertEquals("1. Ctrl-Enter button pressed", getLogRow(0)); | ||||
} | } | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
// Firefox can't handle ctrl. | |||||
// IE11 has issues with shift and ctrl | |||||
return getBrowserCapabilities(Browser.CHROME, Browser.PHANTOMJS); | |||||
} | |||||
@Override | @Override | ||||
protected Class<?> getUIClass() { | protected Class<?> getUIClass() { | ||||
return TextAreaEventPropagation.class; | return TextAreaEventPropagation.class; |
import java.io.File; | import java.io.File; | ||||
import java.io.FileWriter; | import java.io.FileWriter; | ||||
import java.io.IOException; | import java.io.IOException; | ||||
import java.util.List; | |||||
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.internal.WrapsElement; | import org.openqa.selenium.internal.WrapsElement; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import org.openqa.selenium.remote.LocalFileDetector; | import org.openqa.selenium.remote.LocalFileDetector; | ||||
import org.openqa.selenium.remote.RemoteWebElement; | import org.openqa.selenium.remote.RemoteWebElement; | ||||
public class InterruptUploadTest extends MultiBrowserTest { | public class InterruptUploadTest extends MultiBrowserTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
// PhantomJS fails to upload files for unknown reasons | |||||
return getBrowsersExcludingPhantomJS(); | |||||
} | |||||
@Test | @Test | ||||
public void testInterruptUpload() throws Exception { | public void testInterruptUpload() throws Exception { | ||||
openTestURL(); | openTestURL(); |
import java.math.BigInteger; | import java.math.BigInteger; | ||||
import java.security.MessageDigest; | import java.security.MessageDigest; | ||||
import java.security.NoSuchAlgorithmException; | import java.security.NoSuchAlgorithmException; | ||||
import java.util.List; | |||||
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.internal.WrapsElement; | import org.openqa.selenium.internal.WrapsElement; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import org.openqa.selenium.remote.LocalFileDetector; | import org.openqa.selenium.remote.LocalFileDetector; | ||||
import org.openqa.selenium.remote.RemoteWebElement; | import org.openqa.selenium.remote.RemoteWebElement; | ||||
public class TestFileUploadTest extends MultiBrowserTest { | public class TestFileUploadTest extends MultiBrowserTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
// PhantomJS fails to upload files for unknown reasons | |||||
return getBrowsersExcludingPhantomJS(); | |||||
} | |||||
@Test | @Test | ||||
public void testUploadAnyFile() throws Exception { | public void testUploadAnyFile() throws Exception { | ||||
openTestURL(); | openTestURL(); |
import java.io.File; | import java.io.File; | ||||
import java.io.FileWriter; | import java.io.FileWriter; | ||||
import java.io.IOException; | import java.io.IOException; | ||||
import java.util.List; | |||||
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.internal.WrapsElement; | import org.openqa.selenium.internal.WrapsElement; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import org.openqa.selenium.remote.LocalFileDetector; | import org.openqa.selenium.remote.LocalFileDetector; | ||||
import org.openqa.selenium.remote.RemoteWebElement; | import org.openqa.selenium.remote.RemoteWebElement; | ||||
*/ | */ | ||||
public class UploadInTabsheetTest extends MultiBrowserTest { | public class UploadInTabsheetTest extends MultiBrowserTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
// PhantomJS fails to upload files for unknown reasons | |||||
return getBrowsersExcludingPhantomJS(); | |||||
} | |||||
@Test | @Test | ||||
public void testThatChangingTabAfterUploadDoesntCauseErrors() | public void testThatChangingTabAfterUploadDoesntCauseErrors() | ||||
throws Exception { | throws Exception { |
import static com.vaadin.tests.components.window.ComboboxScrollableWindow.COMBOBOX_ID; | import static com.vaadin.tests.components.window.ComboboxScrollableWindow.COMBOBOX_ID; | ||||
import static com.vaadin.tests.components.window.ComboboxScrollableWindow.WINDOW_ID; | import static com.vaadin.tests.components.window.ComboboxScrollableWindow.WINDOW_ID; | ||||
import java.util.List; | |||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.openqa.selenium.WebElement; | import org.openqa.selenium.WebElement; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import com.vaadin.testbench.By; | import com.vaadin.testbench.By; | ||||
import com.vaadin.testbench.commands.TestBenchElementCommands; | import com.vaadin.testbench.commands.TestBenchElementCommands; | ||||
*/ | */ | ||||
public class ComboboxScrollableWindowTest extends MultiBrowserTest { | public class ComboboxScrollableWindowTest extends MultiBrowserTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
// Fix to #10652 broke this for PhantomJS | |||||
return getBrowsersExcludingPhantomJS(); | |||||
} | |||||
@Test | @Test | ||||
public void testWindowScrollbars() throws Exception { | public void testWindowScrollbars() throws Exception { | ||||
openTestURL(); | openTestURL(); |
import static org.junit.Assert.assertEquals; | 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.regex.Matcher; | import java.util.regex.Matcher; | ||||
import java.util.regex.Pattern; | import java.util.regex.Pattern; | ||||
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.Actions; | import org.openqa.selenium.interactions.Actions; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import com.vaadin.testbench.elements.AbstractComponentElement; | import com.vaadin.testbench.elements.AbstractComponentElement; | ||||
import com.vaadin.testbench.elements.ButtonElement; | import com.vaadin.testbench.elements.ButtonElement; | ||||
private Pattern defaultLog = Pattern | private Pattern defaultLog = Pattern | ||||
.compile("[0-9]+. ContextClickEvent: [(]([0-9]+), ([0-9]+)[)]"); | .compile("[0-9]+. ContextClickEvent: [(]([0-9]+), ([0-9]+)[)]"); | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
return getBrowsersSupportingContextMenu(); | |||||
} | |||||
@Before | @Before | ||||
public void setUp() { | public void setUp() { | ||||
openTestURL(); | openTestURL(); |
import static org.junit.Assert.assertEquals; | import static org.junit.Assert.assertEquals; | ||||
import java.util.List; | |||||
import org.junit.Before; | import org.junit.Before; | ||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import org.openqa.selenium.support.ui.ExpectedConditions; | import org.openqa.selenium.support.ui.ExpectedConditions; | ||||
import org.openqa.selenium.support.ui.WebDriverWait; | |||||
import com.vaadin.testbench.By; | import com.vaadin.testbench.By; | ||||
import com.vaadin.testbench.elements.ButtonElement; | import com.vaadin.testbench.elements.ButtonElement; | ||||
testBench().resizeViewPortTo(1024, 768); | testBench().resizeViewPortTo(1024, 768); | ||||
} | } | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
// Seems like stylesheet onload is not fired on PhantomJS | |||||
// https://github.com/ariya/phantomjs/issues/12332 | |||||
return getBrowsersExcludingPhantomJS(); | |||||
} | |||||
@Test | @Test | ||||
public void testWidthAndHeightRanges() throws Exception { | public void testWidthAndHeightRanges() throws Exception { | ||||
openTestURL(); | openTestURL(); |
import java.util.HashMap; | import java.util.HashMap; | ||||
import java.util.List; | import java.util.List; | ||||
import java.util.Map; | import java.util.Map; | ||||
import java.util.stream.Collectors; | |||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.openqa.selenium.WebElement; | import org.openqa.selenium.WebElement; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import com.vaadin.testbench.By; | import com.vaadin.testbench.By; | ||||
import com.vaadin.testbench.parallel.BrowserUtil; | |||||
import com.vaadin.tests.tb3.MultiBrowserTest; | import com.vaadin.tests.tb3.MultiBrowserTest; | ||||
public class HtmlImportUITest extends MultiBrowserTest { | public class HtmlImportUITest extends MultiBrowserTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
List<DesiredCapabilities> browsers = getBrowsersExcludingPhantomJS(); | |||||
browsers.add(PHANTOMJS2()); | |||||
return browsers.stream().filter(dc -> { | |||||
// Won't work on Firefox 24, will work when testing is done on a | |||||
// modern Firefox | |||||
if (BrowserUtil.isFirefox(dc) && dc.getVersion().equals("24")) { | |||||
return false; | |||||
} | |||||
return true; | |||||
}).collect(Collectors.toList()); | |||||
} | |||||
@Test | @Test | ||||
public void importsLoadedAfterJs() { | public void importsLoadedAfterJs() { | ||||
openTestURL(); | openTestURL(); |
package com.vaadin.tests.push; | package com.vaadin.tests.push; | ||||
import java.util.List; | |||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
public class BasicPushWebsocketTest extends BasicPushTest { | public class BasicPushWebsocketTest extends BasicPushTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
return getBrowsersSupportingWebSocket(); | |||||
} | |||||
} | } |
package com.vaadin.tests.push; | package com.vaadin.tests.push; | ||||
import java.util.List; | |||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
public class BasicPushWebsocketXhrTest extends BasicPushTest { | public class BasicPushWebsocketXhrTest extends BasicPushTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
return getBrowsersSupportingWebSocket(); | |||||
} | |||||
} | } |
package com.vaadin.tests.push; | package com.vaadin.tests.push; | ||||
import java.util.List; | |||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
public class ExtremelyLongPushTimeWebsocketTest | public class ExtremelyLongPushTimeWebsocketTest | ||||
extends ExtremelyLongPushTimeTest { | extends ExtremelyLongPushTimeTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
return getBrowsersSupportingWebSocket(); | |||||
} | |||||
} | } |
package com.vaadin.tests.push; | package com.vaadin.tests.push; | ||||
import java.util.List; | |||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
public class IdlePushChannelWebsocketTest extends IdlePushChannelTest { | public class IdlePushChannelWebsocketTest extends IdlePushChannelTest { | ||||
@Override | @Override | ||||
protected Class<?> getUIClass() { | protected Class<?> getUIClass() { | ||||
return BasicPushWebsocket.class; | return BasicPushWebsocket.class; | ||||
} | } | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
return getBrowsersSupportingWebSocket(); | |||||
} | |||||
} | } |
import static org.hamcrest.CoreMatchers.not; | import static org.hamcrest.CoreMatchers.not; | ||||
import static org.hamcrest.MatcherAssert.assertThat; | import static org.hamcrest.MatcherAssert.assertThat; | ||||
import java.util.List; | |||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
public class PushConfigurationWebSocketTest extends PushConfigurationTest { | public class PushConfigurationWebSocketTest extends PushConfigurationTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
return getBrowsersSupportingWebSocket(); | |||||
} | |||||
@Test | @Test | ||||
public void testWebsocket() throws InterruptedException { | public void testWebsocket() throws InterruptedException { | ||||
getTransportSelect().selectByText("Websocket"); | getTransportSelect().selectByText("Websocket"); |
package com.vaadin.tests.push; | package com.vaadin.tests.push; | ||||
import java.util.List; | |||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
public class ReconnectLongPollingTest extends ReconnectTest { | public class ReconnectLongPollingTest extends ReconnectTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
// PhantomJS doesn't seem to detect disconnection on | |||||
// Long-Polling/Streaming: | |||||
// https://github.com/ariya/phantomjs/issues/11938 | |||||
return getBrowsersExcludingPhantomJS(); | |||||
} | |||||
@Override | @Override | ||||
protected Class<?> getUIClass() { | protected Class<?> getUIClass() { | ||||
return BasicPushLongPolling.class; | return BasicPushLongPolling.class; |
package com.vaadin.tests.push; | package com.vaadin.tests.push; | ||||
import java.util.List; | |||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
public class ReconnectStreamingTest extends ReconnectTest { | public class ReconnectStreamingTest extends ReconnectTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
// PhantomJS doesn't seem to detect disconnection on | |||||
// Long-Polling/Streaming: | |||||
// https://github.com/ariya/phantomjs/issues/11938 | |||||
return getBrowsersExcludingPhantomJS(); | |||||
} | |||||
@Override | @Override | ||||
protected Class<?> getUIClass() { | protected Class<?> getUIClass() { | ||||
return BasicPushStreaming.class; | return BasicPushStreaming.class; |
package com.vaadin.tests.push; | package com.vaadin.tests.push; | ||||
import java.util.List; | |||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
public class ReconnectWebsocketTest extends ReconnectTest { | public class ReconnectWebsocketTest extends ReconnectTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
return getBrowsersSupportingWebSocket(); | |||||
} | |||||
@Override | @Override | ||||
protected Class<?> getUIClass() { | protected Class<?> getUIClass() { | ||||
return BasicPushWebsocket.class; | return BasicPushWebsocket.class; |
import static org.junit.Assert.assertEquals; | import static org.junit.Assert.assertEquals; | ||||
import java.util.List; | |||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import com.vaadin.testbench.parallel.TestCategory; | import com.vaadin.testbench.parallel.TestCategory; | ||||
import com.vaadin.tests.tb3.MultiBrowserTest; | import com.vaadin.tests.tb3.MultiBrowserTest; | ||||
assertEquals("2. Refresh", getLogRow(1)); | assertEquals("2. Refresh", getLogRow(1)); | ||||
assertEquals("3. Push", getLogRow(0)); | assertEquals("3. Push", getLogRow(0)); | ||||
} | } | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
return getBrowsersSupportingWebSocket(); | |||||
} | |||||
} | } |
package com.vaadin.tests.push; | package com.vaadin.tests.push; | ||||
import java.util.List; | |||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
public class SendMultibyteCharactersWebSocketTest | public class SendMultibyteCharactersWebSocketTest | ||||
extends SendMultibyteCharactersTest { | extends SendMultibyteCharactersTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
return getBrowsersSupportingWebSocket(); | |||||
} | |||||
@Override | @Override | ||||
protected String getTransport() { | protected String getTransport() { | ||||
return "websocket"; | return "websocket"; |
package com.vaadin.tests.resources; | package com.vaadin.tests.resources; | ||||
import java.util.List; | |||||
import static org.junit.Assert.assertEquals; | import static org.junit.Assert.assertEquals; | ||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.openqa.selenium.By; | import org.openqa.selenium.By; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import com.vaadin.testbench.parallel.Browser; | |||||
import com.vaadin.testbench.parallel.BrowserUtil; | import com.vaadin.testbench.parallel.BrowserUtil; | ||||
import com.vaadin.tests.tb3.MultiBrowserTest; | import com.vaadin.tests.tb3.MultiBrowserTest; | ||||
public class FrontendInitialResourceUITest extends MultiBrowserTest { | public class FrontendInitialResourceUITest extends MultiBrowserTest { | ||||
@Override | |||||
protected List<DesiredCapabilities> getBrowserCapabilities(Browser... browsers) { | |||||
return getBrowsersExcludingPhantomJS(); | |||||
} | |||||
@Test | @Test | ||||
public void correctEs5Es6FileImportedThroughFrontend() { | public void correctEs5Es6FileImportedThroughFrontend() { | ||||
openTestURL(); | openTestURL(); |
package com.vaadin.tests.resources; | package com.vaadin.tests.resources; | ||||
import java.util.List; | |||||
import static org.junit.Assert.assertEquals; | import static org.junit.Assert.assertEquals; | ||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.openqa.selenium.By; | import org.openqa.selenium.By; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import com.vaadin.testbench.elements.ButtonElement; | import com.vaadin.testbench.elements.ButtonElement; | ||||
import com.vaadin.testbench.parallel.Browser; | |||||
import com.vaadin.testbench.parallel.BrowserUtil; | import com.vaadin.testbench.parallel.BrowserUtil; | ||||
import com.vaadin.tests.tb3.MultiBrowserTest; | import com.vaadin.tests.tb3.MultiBrowserTest; | ||||
public class FrontendLaterLoadedResourceUITest extends MultiBrowserTest { | public class FrontendLaterLoadedResourceUITest extends MultiBrowserTest { | ||||
@Override | |||||
protected List<DesiredCapabilities> getBrowserCapabilities(Browser... browsers) { | |||||
return getBrowsersExcludingPhantomJS(); | |||||
} | |||||
@Test | @Test | ||||
public void correctEs5Es6FileImportedThroughFrontend() { | public void correctEs5Es6FileImportedThroughFrontend() { | ||||
openTestURL(); | openTestURL(); |
import static org.junit.Assert.assertEquals; | import static org.junit.Assert.assertEquals; | ||||
import static org.junit.Assert.assertTrue; | import static org.junit.Assert.assertTrue; | ||||
import java.text.DateFormat; | |||||
import java.text.SimpleDateFormat; | import java.text.SimpleDateFormat; | ||||
import java.util.Arrays; | import java.util.Arrays; | ||||
import java.util.Date; | import java.util.Date; | ||||
import java.util.List; | |||||
import java.util.Locale; | import java.util.Locale; | ||||
import java.util.TimeZone; | import java.util.TimeZone; | ||||
import java.util.stream.Collectors; | import java.util.stream.Collectors; | ||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.openqa.selenium.JavascriptExecutor; | import org.openqa.selenium.JavascriptExecutor; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import com.vaadin.testbench.annotations.RunLocally; | |||||
import com.vaadin.testbench.parallel.Browser; | |||||
import com.vaadin.tests.tb3.MultiBrowserTest; | import com.vaadin.tests.tb3.MultiBrowserTest; | ||||
public class SerializerTestTest extends MultiBrowserTest { | public class SerializerTestTest extends MultiBrowserTest { | ||||
private static final SimpleDateFormat FORMAT = new SimpleDateFormat( | private static final SimpleDateFormat FORMAT = new SimpleDateFormat( | ||||
"EEE MMM dd HH:mm:ss 'GMT'Z yyyy", new Locale("en", "fi")); | "EEE MMM dd HH:mm:ss 'GMT'Z yyyy", new Locale("en", "fi")); | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
// IE11 and PhantomJS don't support getting timezone | |||||
return getBrowsersExcludingPhantomJS(); | |||||
} | |||||
@Test | @Test | ||||
public void testSerialization() { | public void testSerialization() { | ||||
// Set up formatting with browsers timezone | // Set up formatting with browsers timezone |
import org.apache.http.impl.client.DefaultHttpClient; | import org.apache.http.impl.client.DefaultHttpClient; | ||||
import org.apache.http.message.BasicHttpEntityEnclosingRequest; | import org.apache.http.message.BasicHttpEntityEnclosingRequest; | ||||
import org.junit.Rule; | import org.junit.Rule; | ||||
import org.junit.rules.ExternalResource; | |||||
import org.junit.rules.TestName; | import org.junit.rules.TestName; | ||||
import org.junit.runner.Description; | import org.junit.runner.Description; | ||||
import org.junit.runner.RunWith; | import org.junit.runner.RunWith; | ||||
*/ | */ | ||||
private static final int BROWSER_TIMEOUT_IN_MS = 30 * 1000; | private static final int BROWSER_TIMEOUT_IN_MS = 30 * 1000; | ||||
protected static DesiredCapabilities PHANTOMJS2() { | |||||
DesiredCapabilities phantomjs2 = new VaadinBrowserFactory() | |||||
.create(Browser.PHANTOMJS, "2"); | |||||
// Hack for the test cluster | |||||
phantomjs2.setCapability("phantomjs.binary.path", | |||||
"/usr/bin/phantomjs2"); | |||||
return phantomjs2; | |||||
} | |||||
private boolean debug = false; | private boolean debug = false; | ||||
private boolean push = false; | private boolean push = false; |
import org.openqa.selenium.ie.InternetExplorerDriver; | import org.openqa.selenium.ie.InternetExplorerDriver; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | import org.openqa.selenium.remote.DesiredCapabilities; | ||||
import com.vaadin.shared.Version; | |||||
import com.vaadin.testbench.parallel.Browser; | import com.vaadin.testbench.parallel.Browser; | ||||
import com.vaadin.testbench.parallel.DefaultBrowserFactory; | import com.vaadin.testbench.parallel.DefaultBrowserFactory; | ||||
*/ | */ | ||||
public abstract class MultiBrowserTest extends PrivateTB3Configuration { | public abstract class MultiBrowserTest extends PrivateTB3Configuration { | ||||
protected List<DesiredCapabilities> getBrowsersSupportingWebSocket() { | |||||
// No WebSocket support in PhantomJS 1 | |||||
return getBrowserCapabilities(Browser.IE11, Browser.FIREFOX, | |||||
Browser.CHROME); | |||||
} | |||||
protected List<DesiredCapabilities> getBrowsersExcludingPhantomJS() { | |||||
return getBrowserCapabilities(Browser.IE11, Browser.CHROME, | |||||
Browser.FIREFOX); | |||||
protected List<DesiredCapabilities> getBrowsersExcludingChrome() { | |||||
return getBrowserCapabilities(Browser.FIREFOX, Browser.IE11); | |||||
} | } | ||||
protected List<DesiredCapabilities> getBrowsersExcludingIE() { | protected List<DesiredCapabilities> getBrowsersExcludingIE() { | ||||
return getBrowserCapabilities(Browser.FIREFOX, Browser.CHROME, | |||||
Browser.PHANTOMJS); | |||||
return getBrowserCapabilities(Browser.FIREFOX, Browser.CHROME); | |||||
} | } | ||||
protected List<DesiredCapabilities> getBrowsersExcludingFirefox() { | protected List<DesiredCapabilities> getBrowsersExcludingFirefox() { | ||||
// this is sometimes needed as the Firefox driver causes extra mouseOut | |||||
// events that make tooltips disappear etc. | |||||
return getBrowserCapabilities(Browser.IE11, Browser.CHROME, | |||||
Browser.PHANTOMJS); | |||||
return getBrowserCapabilities(Browser.IE11, Browser.CHROME); | |||||
} | } | ||||
protected List<DesiredCapabilities> getBrowsersSupportingShiftClick() { | protected List<DesiredCapabilities> getBrowsersSupportingShiftClick() { | ||||
return getBrowserCapabilities(Browser.IE11); | return getBrowserCapabilities(Browser.IE11); | ||||
} | } | ||||
protected List<DesiredCapabilities> getBrowsersSupportingContextMenu() { | |||||
// context menu doesn't work in phantom JS | |||||
return getBrowserCapabilities(Browser.IE11, Browser.FIREFOX, | |||||
Browser.CHROME); | |||||
} | |||||
protected List<DesiredCapabilities> getBrowsersSupportingTooltip() { | protected List<DesiredCapabilities> getBrowsersSupportingTooltip() { | ||||
// With IEDriver, the cursor seems to jump to default position after the | // With IEDriver, the cursor seems to jump to default position after the | ||||
// mouse move, so we are not able to test the tooltip behavior properly | // mouse move, so we are not able to test the tooltip behavior properly | ||||
// On Firefox, the driver causes additional mouseOut events causing the | // On Firefox, the driver causes additional mouseOut events causing the | ||||
// tooltip to disappear immediately. Tooltips may work in some | // tooltip to disappear immediately. Tooltips may work in some | ||||
// particular cases, but not in general. | // particular cases, but not in general. | ||||
return getBrowserCapabilities(Browser.CHROME, Browser.PHANTOMJS); | |||||
return getBrowserCapabilities(Browser.CHROME); | |||||
} | } | ||||
@Override | @Override | ||||
public List<DesiredCapabilities> getBrowsersToTest() { | public List<DesiredCapabilities> getBrowsersToTest() { | ||||
return getBrowserCapabilities(Browser.IE11, Browser.FIREFOX, | return getBrowserCapabilities(Browser.IE11, Browser.FIREFOX, | ||||
Browser.CHROME, Browser.PHANTOMJS); | |||||
Browser.CHROME); | |||||
} | } | ||||
protected List<DesiredCapabilities> getBrowserCapabilities( | protected List<DesiredCapabilities> getBrowserCapabilities( |
import org.junit.runner.RunWith; | import org.junit.runner.RunWith; | ||||
import org.junit.runners.Parameterized.Parameters; | import org.junit.runners.Parameterized.Parameters; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
/** | /** | ||||
* Test which uses theme returned by {@link #getTheme()} for running the test | * Test which uses theme returned by {@link #getTheme()} for running the test | ||||
params.add("theme=" + theme); | params.add("theme=" + theme); | ||||
super.openTestURL(uiClass, params.toArray(new String[params.size()])); | super.openTestURL(uiClass, params.toArray(new String[params.size()])); | ||||
} | } | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
List<DesiredCapabilities> browsersToTest = getBrowsersExcludingPhantomJS(); | |||||
browsersToTest.add(PHANTOMJS2()); | |||||
return browsersToTest; | |||||
} | |||||
} | } |
import java.util.Arrays; | import java.util.Arrays; | ||||
import java.util.Collection; | import java.util.Collection; | ||||
import java.util.HashSet; | import java.util.HashSet; | ||||
import java.util.List; | |||||
import java.util.Set; | import java.util.Set; | ||||
import org.junit.runner.RunWith; | import org.junit.runner.RunWith; | ||||
import org.junit.runners.Parameterized.Parameters; | import org.junit.runners.Parameterized.Parameters; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
@RunWith(ParameterizedTB3Runner.class) | @RunWith(ParameterizedTB3Runner.class) | ||||
public abstract class MultiBrowserThemeTestWithProxy | public abstract class MultiBrowserThemeTestWithProxy | ||||
params.add("theme=" + theme); | params.add("theme=" + theme); | ||||
super.openTestURL(uiClass, params.toArray(new String[params.size()])); | super.openTestURL(uiClass, params.toArray(new String[params.size()])); | ||||
} | } | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
List<DesiredCapabilities> browsersToTest = getBrowsersExcludingPhantomJS(); | |||||
browsersToTest.add(PHANTOMJS2()); | |||||
return browsersToTest; | |||||
} | |||||
} | } |
package com.vaadin.tests.tb3; | package com.vaadin.tests.tb3; | ||||
import java.util.List; | |||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import com.vaadin.testbench.parallel.TestCategory; | import com.vaadin.testbench.parallel.TestCategory; | ||||
/** | /** | ||||
*/ | */ | ||||
@TestCategory("push") | @TestCategory("push") | ||||
public abstract class WebsocketTest extends MultiBrowserTest { | public abstract class WebsocketTest extends MultiBrowserTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
return getBrowsersSupportingWebSocket(); | |||||
} | |||||
} | } |
import com.vaadin.testbench.elements.EmbeddedElement; | import com.vaadin.testbench.elements.EmbeddedElement; | ||||
import com.vaadin.testbench.elements.MenuBarElement; | import com.vaadin.testbench.elements.MenuBarElement; | ||||
import com.vaadin.testbench.elements.TableElement; | import com.vaadin.testbench.elements.TableElement; | ||||
import com.vaadin.testbench.parallel.Browser; | |||||
import com.vaadin.testbench.parallel.BrowserUtil; | import com.vaadin.testbench.parallel.BrowserUtil; | ||||
import com.vaadin.tests.tb3.MultiBrowserTest; | import com.vaadin.tests.tb3.MultiBrowserTest; | ||||
@Override | @Override | ||||
public List<DesiredCapabilities> getBrowsersToTest() { | public List<DesiredCapabilities> getBrowsersToTest() { | ||||
// Seems like stylesheet onload is not fired on PhantomJS | |||||
// https://github.com/ariya/phantomjs/issues/12332 | |||||
List<DesiredCapabilities> l = getBrowsersExcludingPhantomJS(); | |||||
// For some reason, IE times out when trying to open the combobox, | // For some reason, IE times out when trying to open the combobox, | ||||
// #18341 | // #18341 | ||||
l.remove(Browser.IE11.getDesiredCapabilities()); | |||||
return l; | |||||
return getBrowsersExcludingIE(); | |||||
} | } | ||||
@Test | @Test |
import static org.hamcrest.MatcherAssert.assertThat; | import static org.hamcrest.MatcherAssert.assertThat; | ||||
import java.io.IOException; | import java.io.IOException; | ||||
import java.util.List; | |||||
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.remote.DesiredCapabilities; | |||||
import com.vaadin.testbench.elements.ButtonElement; | import com.vaadin.testbench.elements.ButtonElement; | ||||
import com.vaadin.tests.tb3.MultiBrowserTest; | import com.vaadin.tests.tb3.MultiBrowserTest; | ||||
public class ThemeChangeOnTheFlyTest extends MultiBrowserTest { | public class ThemeChangeOnTheFlyTest extends MultiBrowserTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
// Seems like stylesheet onload is not fired on PhantomJS | |||||
// https://github.com/ariya/phantomjs/issues/12332 | |||||
return getBrowsersExcludingPhantomJS(); | |||||
} | |||||
@Test | @Test | ||||
public void injectedStyleAndThemeChange() throws IOException { | public void injectedStyleAndThemeChange() throws IOException { | ||||
openTestURL(); | openTestURL(); |
} | } | ||||
@Test | @Test | ||||
public void testAcceptAttribute() | |||||
{ | |||||
public void testAcceptAttribute() { | |||||
WebElement input = getUploadFileInput("immediateupload"); | WebElement input = getUploadFileInput("immediateupload"); | ||||
assertThat(input.getAttribute("accept"),is(TEST_MIME_TYPE)); | |||||
assertThat(input.getAttribute("accept"), is(TEST_MIME_TYPE)); | |||||
} | } | ||||
} | } |
package com.vaadin.tests.themes.valo; | package com.vaadin.tests.themes.valo; | ||||
import java.util.List; | |||||
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.remote.DesiredCapabilities; | |||||
import com.vaadin.testbench.elements.ButtonElement; | import com.vaadin.testbench.elements.ButtonElement; | ||||
import com.vaadin.testbench.elements.CheckBoxElement; | import com.vaadin.testbench.elements.CheckBoxElement; | ||||
import com.vaadin.testbench.elements.CssLayoutElement; | import com.vaadin.testbench.elements.CssLayoutElement; | ||||
import com.vaadin.testbench.elements.LabelElement; | import com.vaadin.testbench.elements.LabelElement; | ||||
import com.vaadin.testbench.parallel.Browser; | |||||
import com.vaadin.tests.tb3.MultiBrowserTest; | import com.vaadin.tests.tb3.MultiBrowserTest; | ||||
import com.vaadin.v7.testbench.elements.TreeElement; | import com.vaadin.v7.testbench.elements.TreeElement; | ||||
protected boolean usePersistentHoverForIE() { | protected boolean usePersistentHoverForIE() { | ||||
return false; | return false; | ||||
} | } | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
List<DesiredCapabilities> browsersToTest = getBrowserCapabilities( | |||||
Browser.IE11, Browser.FIREFOX, Browser.CHROME); | |||||
browsersToTest.add(PHANTOMJS2()); | |||||
return browsersToTest; | |||||
} | |||||
} | } |
import static org.junit.Assert.assertTrue; | import static org.junit.Assert.assertTrue; | ||||
import java.util.List; | |||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import com.vaadin.testbench.elements.GridElement; | import com.vaadin.testbench.elements.GridElement; | ||||
import com.vaadin.testbench.parallel.TestCategory; | import com.vaadin.testbench.parallel.TestCategory; | ||||
@TestCategory("grid") | @TestCategory("grid") | ||||
public class GridThemeChangeTest extends MultiBrowserTest { | public class GridThemeChangeTest extends MultiBrowserTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
// Seems like stylesheet onload is not fired on PhantomJS | |||||
// https://github.com/ariya/phantomjs/issues/12332 | |||||
return super.getBrowsersExcludingPhantomJS(); | |||||
} | |||||
@Test | @Test | ||||
public void testThemeChange() { | public void testThemeChange() { |
package com.vaadin.v7.tests.components.grid.basicfeatures; | package com.vaadin.v7.tests.components.grid.basicfeatures; | ||||
import java.io.IOException; | import java.io.IOException; | ||||
import java.util.List; | |||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import com.vaadin.testbench.elements.ButtonElement; | import com.vaadin.testbench.elements.ButtonElement; | ||||
import com.vaadin.testbench.parallel.TestCategory; | import com.vaadin.testbench.parallel.TestCategory; | ||||
@TestCategory("grid") | @TestCategory("grid") | ||||
public class GridSortingIndicatorsTest extends MultiBrowserTest { | public class GridSortingIndicatorsTest extends MultiBrowserTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
List<DesiredCapabilities> browsers = getBrowsersExcludingPhantomJS(); | |||||
browsers.add(PHANTOMJS2()); | |||||
return browsers; | |||||
} | |||||
@Test | @Test | ||||
public void testSortingIndicators() throws IOException { | public void testSortingIndicators() throws IOException { | ||||
openTestURL(); | openTestURL(); |
import static org.junit.Assert.assertTrue; | import static org.junit.Assert.assertTrue; | ||||
import java.util.List; | |||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.openqa.selenium.By; | import org.openqa.selenium.By; | ||||
import org.openqa.selenium.interactions.Actions; | import org.openqa.selenium.interactions.Actions; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import com.vaadin.v7.tests.components.grid.basicfeatures.GridBasicClientFeaturesTest; | import com.vaadin.v7.tests.components.grid.basicfeatures.GridBasicClientFeaturesTest; | ||||
public class GridClientContextMenuEventTest | public class GridClientContextMenuEventTest | ||||
extends GridBasicClientFeaturesTest { | extends GridBasicClientFeaturesTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
// PhantomJS doesn't support context click.. | |||||
return getBrowsersExcludingPhantomJS(); | |||||
} | |||||
@Test | @Test | ||||
public void testContextMenuEventIsHandledCorrectly() { | public void testContextMenuEventIsHandledCorrectly() { | ||||
setDebug(true); | setDebug(true); |
package com.vaadin.v7.tests.components.grid.basicfeatures.server; | package com.vaadin.v7.tests.components.grid.basicfeatures.server; | ||||
import java.io.IOException; | import java.io.IOException; | ||||
import java.util.List; | |||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.openqa.selenium.interactions.Actions; | import org.openqa.selenium.interactions.Actions; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import com.vaadin.v7.tests.components.grid.basicfeatures.GridBasicFeaturesTest; | import com.vaadin.v7.tests.components.grid.basicfeatures.GridBasicFeaturesTest; | ||||
import com.vaadin.v7.tests.components.grid.basicfeatures.GridSidebarFeatures; | import com.vaadin.v7.tests.components.grid.basicfeatures.GridSidebarFeatures; | ||||
compareScreen(theme + "-SidebarClosed2"); | compareScreen(theme + "-SidebarClosed2"); | ||||
} | } | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
// phantom JS looks wrong from the beginning, so not tested | |||||
return getBrowsersExcludingPhantomJS(); | |||||
} | |||||
} | } |
import static org.junit.Assert.assertEquals; | import static org.junit.Assert.assertEquals; | ||||
import java.util.List; | |||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.openqa.selenium.Dimension; | import org.openqa.selenium.Dimension; | ||||
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.remote.DesiredCapabilities; | |||||
import com.vaadin.testbench.By; | import com.vaadin.testbench.By; | ||||
import com.vaadin.tests.tb3.MultiBrowserTest; | import com.vaadin.tests.tb3.MultiBrowserTest; | ||||
return Trees.class; | return Trees.class; | ||||
} | } | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
return getBrowsersSupportingContextMenu(); | |||||
} | |||||
@Test | @Test | ||||
public void testSimpleContextMenu() throws Exception { | public void testSimpleContextMenu() throws Exception { | ||||
openTestURL(); | openTestURL(); |
import java.math.BigInteger; | import java.math.BigInteger; | ||||
import java.security.MessageDigest; | import java.security.MessageDigest; | ||||
import java.security.NoSuchAlgorithmException; | import java.security.NoSuchAlgorithmException; | ||||
import java.util.List; | |||||
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.internal.WrapsElement; | import org.openqa.selenium.internal.WrapsElement; | ||||
import org.openqa.selenium.remote.DesiredCapabilities; | |||||
import org.openqa.selenium.remote.LocalFileDetector; | import org.openqa.selenium.remote.LocalFileDetector; | ||||
import org.openqa.selenium.remote.RemoteWebElement; | import org.openqa.selenium.remote.RemoteWebElement; | ||||
public class TestFileUploadTest extends MultiBrowserTest { | public class TestFileUploadTest extends MultiBrowserTest { | ||||
@Override | |||||
public List<DesiredCapabilities> getBrowsersToTest() { | |||||
// PhantomJS fails to upload files for unknown reasons | |||||
return getBrowsersExcludingPhantomJS(); | |||||
} | |||||
@Test | @Test | ||||
public void testUploadAnyFile() throws Exception { | public void testUploadAnyFile() throws Exception { | ||||
openTestURL(); | openTestURL(); |